Taula de continguts:
- Subministraments
- Pas 1: connecteu el tauler i l’acceleròmetre
- Pas 2: programa Flash a Arduino Nano
- Pas 3: instal·leu Java Runtime Environment per executar l'aplicació client al PC
- Pas 4: instal·leu l'aplicació client per llegir les coordenades d'Arduino i fer un seguiment de les estadístiques
- Pas 5: calibració de l’acceleròmetre
- Pas 6: anàlisi addicional
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
M’agradaria proposar-vos un projecte d’arduino senzill però realment útil per fer un seguiment dels esdeveniments temporals invertint algun gadget de cub intel·ligent. Gireu-lo a "Treball"> "Aprèn"> "Tasques"> "Descansa" i comptarà el temps que passareu en aquesta activitat. El cub de temps es basa en l’Arduino Nano i l’acceleròmetre ADXL345 situats en una caixa de mida adequada on podeu dibuixar símbols o noms d’activitats. Al final del dia podeu consultar les estadístiques. Espero que em motivi a "aprendre" més.
Hi ha molts productes similars al mercat com TimeFlip.io, Timeular.com i ZEI. També podeu provar un bonic projecte de bricolatge d'Adafruit https://learn.adafruit.com/time-tracking-cube. Tanmateix, us proposo que sigui molt més senzill. Per fer un seguiment de les dades horàries, no necessiteu cap connexió a internet wifi o bluetooth als serveis al núvol. Time Cube s’alimenta i es connecta a l’ordinador mitjançant un cable USB. A l’ordinador heu d’executar la meva aplicació Java que escolta missatges en sèrie des d’Arduino i mostra el temps total dedicat.
Totes les fonts necessàries del programa i algunes instruccions poc detallades que podeu trobar al meu projecte GitHub:
Subministraments
1. Arduino Micro o Nano així:
2. Acceleròmetre ADXL345:
3. Caixa de cartró / cub de plàstic
4. Cable USB
Pas 1: connecteu el tauler i l’acceleròmetre
El sensor ADXL345 és un acceleròmetre de 3 eixos que pot mesurar les forces d’acceleració i, quan està estàtic, també es pot llegir la seva orientació. Heu de connectar la placa Arduino Nano o Micro i l’acceleròmetre ADXL345 com a la imatge.
No explicaré en detalls com funciona l'acceleròmetre ADXL345. Tota la informació necessària la vaig trobar en un article molt bonic sobre els acceleròmetres de connexió a arduino i la programació:
Pas 2: programa Flash a Arduino Nano
En aquest pas hem de carregar el programa des de l'estudi Arduino a la placa arduino. El nano arduino podrà llegir les coordenades XYZ des de l’acceleròmetre i enviar-les al port sèrie en algun tipus de paquets de dades com
Podeu descarregar totes les fonts necessàries des de la pàgina del meu projecte GitHub (com a fitxer d’arxiu únic):
1. Descomprimiu l'arxiu zip descarregat a alguna carpeta com c: / program / tcube i obriu el fitxer tcube / arduino / tcub / tcub.ino a Arduino studio.
2. Connecteu la placa arduino al PC mitjançant un cable USB.
3. A Eines-> Tauler: seleccioneu "Arduino Nano" (o una altra placa que vulgueu utilitzar).
4. Si utilitzeu alguns clons arduino xinesos, heu de seleccionar entre Eines-> Processador-> ATmega328P (Old Loader)
5. Seleccioneu el port connectat a Eines-> Port -> COM3 (en el meu cas)
6. Pengeu el programa a arduino
7. A partir d'aquest moment, enviarà immediatament paquets de dades al port sèrie USB.
8. Per comprovar si tot funciona bé, podeu obrir "Serial Monitor" a Arduino Studio. Hauríeu de veure paquets que es generaven cada segon com … (que significa les coordenades reals de l'acceleròmetre).
Pas 3: instal·leu Java Runtime Environment per executar l'aplicació client al PC
Abans de continuar, heu d'assegurar-vos que teniu Java Runtime Environment (JRE) instal·lat al vostre ordinador.
L'aplicació client que he creat per rebre missatges d'Arduino i estadístiques agregades està escrita en llenguatge de programació Java. I JRE és necessari per executar aplicacions Java. Haureu de tenir almenys JRE8 instal·lat. Us suggereixo que descarregueu la versió x64 per a Windows. Baixeu-lo des del lloc Oracle
Pas 4: instal·leu l'aplicació client per llegir les coordenades d'Arduino i fer un seguiment de les estadístiques
Ara és hora de preparar i llançar l’aplicació client al vostre PC, que es connectarà al port USB per escoltar i fer un seguiment de l’estadística de temps.
Si coneixeu Java, podeu descarregar i compilar fonts de l’aplicació Java Time Cube des del meu projecte GitHub. Tanmateix, dins de l'arxiu complet del projecte que ja heu descarregat, ja està compilat i arxiu d'aplicacions llest per utilitzar tcube.zip que heu de desempaquetar a alguna carpeta (pot ser c: / programmes / tcube)
Si executeu el fitxer run.bat, hauria d'iniciar l'aplicació, que immediatament intentarà iniciar la connexió a algun port COM actiu utilitzat per la placa Arduino (Arduino connectat a USB és reconegut automàticament per Windows com a algun port COM virtual).
Si tot està configurat correctament, hauríeu de veure immediatament els comptadors de temps funcionant segons una certa activitat. I donant la volta al cub hauríeu de poder fer un seguiment de les diferents activitats. La finestra de l'aplicació mostra el registre d'esdeveniments i podeu veure els errors de connexió que es puguin produir.
Pas 5: calibració de l’acceleròmetre
Pot passar que calibreu el vostre Time Cube perquè el vostre acceleròmetre no està orientat exactament com el meu. Simplement obriu el fitxer app.properties i editeu intervals per a coordenades de cada costat del cub segons les coordenades reals que veureu a la finestra de registre de l'aplicació per a cada costat del cub.
O podeu experimentar amb l’orientació i trobar la posició de l’acceleròmetre exactament com la meva.
Pas 6: anàlisi addicional
La meva aplicació Java és bastant senzilla i només mostra el temps dedicat a cada activitat durant el dia. Si voleu tenir més analítiques, podeu utilitzar Microsoft Excel per fer anàlisis addicionals.
L’aplicació produeix un fitxer time-log.csv en format CSV, que conté tots els esdeveniments enviats des d’arduino. Com que es generen esdeveniments cada segon, podeu realitzar anàlisis detallades del dia a MS Excel per crear gràfics, gràfics i anàlisis addicionals.
A la carpeta que heu descarregat del meu projecte GitHub podeu trobar el fitxer excel log_analytics.xlsx que construeix un gràfic circular mitjançant dades del fitxer time-log.csv. Cal actualitzar el gràfic manualment prement el botó "Actualitza-ho tot" a Excel.