Inhoudsopgave:

Time Cube - Arduino-gadget voor tijdregistratie - Ajarnpa
Time Cube - Arduino-gadget voor tijdregistratie - Ajarnpa

Video: Time Cube - Arduino-gadget voor tijdregistratie - Ajarnpa

Video: Time Cube - Arduino-gadget voor tijdregistratie - Ajarnpa
Video: Time Catcher - Arduino LED Projects [Complete Step by Step Tutorial] 2024, November
Anonim
Time Cube - Arduino-gadget voor tijdregistratie
Time Cube - Arduino-gadget voor tijdregistratie
Time Cube - Arduino-gadget voor tijdregistratie
Time Cube - Arduino-gadget voor tijdregistratie

Ik zou je een eenvoudig maar echt handig arduino-project willen voorstellen om tijdgebeurtenissen bij te houden door een slimme kubusgadget om te draaien. Draai het naar "Werk"> "Leren"> "Klusjes"> "Rust" en het telt de tijd die u aan die activiteit besteedt. Tijdkubus is gebouwd op basis van Arduino Nano en ADXL345 versnellingsmeter geplaatst in een doos van geschikte grootte waarop u activiteitensymbolen of namen kunt tekenen. Aan het einde van de dag kunt u de statistieken bekijken. Ik hoop dat het me zal motiveren om meer te "leren".

Er zijn tal van vergelijkbare producten op de markt zoals TimeFlip.io, Timeular.com, ZEI. Je zou ook een leuk doe-het-zelf-project van Adafruit https://learn.adafruit.com/time-tracking-cube kunnen proberen. Ik stel echter voor om het veel eenvoudiger te maken. Om tijdgegevens bij te houden, heeft u geen wifi- of bluetooth-internetverbinding nodig met de cloudservices. Time Cube wordt gevoed en aangesloten op de pc via een USB-kabel. Op de computer moet je mijn java-toepassing uitvoeren die naar seriële berichten van arduino luistert en de totale bestede tijd weergeeft.

Alle benodigde programmabronnen en enkele niet erg gedetailleerde instructies kun je vinden op mijn GitHub-project:

Benodigdheden

1. Arduino Micro of Nano zoals dat:

2. ADXL345 versnellingsmeter:

3. Kartonnen / plastic kubusdoos

4. USB-kabel

Stap 1: bedraad het bord en de versnellingsmeter

Bedrading van het bord en de versnellingsmeter
Bedrading van het bord en de versnellingsmeter

ADXL345-sensor is een 3-assige versnellingsmeter die versnellingskrachten kan meten en wanneer deze statisch is, kunt u ook de oriëntatie ervan aflezen. Je moet Arduino Nano of Micro board en ADXL345 accelerometer bedraden zoals op de afbeelding.

Ik zal niet in detail uitleggen hoe de ADXL345-versnellingsmeter werkt. Alle benodigde informatie vond ik in een heel mooi artikel over verbindingsversnellingsmeters met arduino en programmeren:

Stap 2: Flash-programma naar Arduino Nano

Flash-programma naar Arduino Nano
Flash-programma naar Arduino Nano
Flash-programma naar Arduino Nano
Flash-programma naar Arduino Nano

In deze stap moeten we het programma van de Arduino-studio naar het Arduino-bord uploaden. De arduino nano kan XYZ-coördinaten van de accelerometer lezen en deze naar de seriële poort sturen in een soort datapakketten zoals

Je kunt alle benodigde bronnen downloaden van mijn GitHub-projectpagina (als enkel archiefbestand):

1. Pak het gedownloade zip-archief uit in een map zoals c:\program\tcube en open het bestand tcube\arduino\tcub\tcub.ino in Arduino studio.

2. Sluit het arduino-bord aan op de pc via een USB-kabel.

3. Van Tools->Board: selecteer "Arduino Nano" (of een ander board dat je van plan bent te gebruiken).

4. Als u Chinese arduino-klonen gebruikt, moet u kiezen uit Tools-> Processor-> ATmega328P (Old Loader)

5. Selecteer de aangesloten poort via Extra->Poort ->COM3 (in mijn geval)

6. Upload programma naar arduino

7. Vanaf dat moment stuurt hij direct datapakketten naar de seriële USB-poort.

8. Om te testen of alles goed werkt, kun je "Serial Monitor" openen in Arduino Studio. Je zou pakketten moeten zien die elke seconde genereerden zoals …… (wat de werkelijke coördinaten van de versnellingsmeter betekent).

Stap 3: Installeer Java Runtime Environment om de clienttoepassing op pc uit te voeren

Installeer Java Runtime Environment om de clienttoepassing op pc uit te voeren
Installeer Java Runtime Environment om de clienttoepassing op pc uit te voeren

Voordat we verder gaan, moet u ervoor zorgen dat Java Runtime Environment (JRE) op uw computer is geïnstalleerd.

De clienttoepassing die ik heb gemaakt om berichten van Arduino te ontvangen en statistische gegevens te verzamelen, is geschreven in de programmeertaal Java. En JRE is vereist om Java-toepassingen uit te voeren. U moet ten minste JRE8 hebben geïnstalleerd. Ik raad je aan om de x64-versie voor Windows te downloaden. Download het van de Oracle-site

Stap 4: Installeer de clienttoepassing om coördinaten van Arduino te lezen en statistieken bij te houden

Clienttoepassing installeren om coördinaten van Arduino te lezen en statistieken bij te houden
Clienttoepassing installeren om coördinaten van Arduino te lezen en statistieken bij te houden
Clienttoepassing installeren om coördinaten van Arduino te lezen en statistieken bij te houden
Clienttoepassing installeren om coördinaten van Arduino te lezen en statistieken bij te houden

Nu is het tijd om de clienttoepassing op uw pc voor te bereiden en te starten, die wordt aangesloten op de USB-poort om tijdstatistieken te beluisteren en bij te houden.

Als u bekend bent met Java, kunt u bronnen van de Time Cube Java-toepassing downloaden en compileren vanuit mijn GitHub-project. In het volledige projectarchief dat je al hebt gedownload, is er echter al een gecompileerd en gebruiksklaar applicatiearchief tcube.zip dat je moet uitpakken naar een map (het kan c:\programs\tcube zijn)

Als u het bestand run.bat uitvoert, zou het de toepassing moeten starten, die onmiddellijk zal proberen verbinding te maken met een actieve COM-poort die wordt gebruikt door het Arduino-bord (Arduino aangesloten op USB wordt automatisch door Windows herkend als een virtuele COM-poort).

Als alles correct is geconfigureerd, zou u onmiddellijk de tijdtellers moeten zien lopen volgens een activiteit. En door de kubus om te draaien, zou je verschillende activiteiten moeten kunnen volgen. Het toepassingsvenster toont het gebeurtenissenlogboek en u kunt eventuele verbindingsfouten zien.

Stap 5: Kalibratie van de versnellingsmeter

Accelerometer Kalibratie
Accelerometer Kalibratie

Het kan gebeuren dat u uw Time Cube moet kalibreren omdat uw versnellingsmeter niet precies zoals mijn is georiënteerd. Open gewoon het app.properties-bestand en bewerk de bereiken voor de coördinaten van elke kubuszijde volgens de werkelijke coördinaten die u in het toepassingslogboekvenster voor elke kubuszijde zult zien.

Of je kunt experimenteren met oriëntatie en de positie van de versnellingsmeter vinden die precies op die van mij lijkt.

Stap 6: Extra Analyse

Extra analyse
Extra analyse

Mijn java-applicatie is vrij eenvoudig en laat alleen de tijd zien die per activiteit gedurende de dag is besteed. Als u meer analyses wilt hebben, kunt u Microsoft Excel gebruiken voor extra analyse.

Applicatie produceert time-log.csv-bestand in CSV-formaat, dat alle gebeurtenissen bevat die door Arduino zijn verzonden. Aangezien gebeurtenissen elke seconde worden gegenereerd, kunt u gedetailleerde daganalyses uitvoeren in MS Excel om mooie grafieken, grafieken en extra analyses te maken.

In de map die je hebt gedownload van mijn GitHub-project, kun je het log_analytics.xlsx Excel-bestand vinden dat een cirkeldiagram maakt met behulp van gegevens uit het time-log.csv-bestand. U moet de grafiek handmatig bijwerken door op de knop "Alles vernieuwen" in Excel te drukken.

Aanbevolen: