Sommario:
- Passaggio 1: configurazione e calibrazione dell'MPU6050
- Passaggio 3: integrazione dei sensori in Arduino
- Passaggio 4: invio dei dati al cloud
- Passaggio 5: utilizzo di 2 dispositivi contemporaneamente
- Passaggio 6: miglioramenti, note e piani futuri
Video: IDC2018IOT Leg Running Tracker: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Abbiamo avuto questa idea come parte del corso "Internet Of Things" presso IDC Herzliya.
L'obiettivo del progetto è migliorare le attività fisiche che comportano la corsa o la camminata utilizzando NodeMCU, alcuni sensori e un server potrebbe. Il risultato di questo progetto è un dispositivo IOT molto utile che può essere trasformato in futuro in un vero prodotto di produzione che verrà utilizzato ovunque! Fateci sapere cosa ne pensate:)
Prima di iniziare, assicurati di avere:
* Dispositivo NodeMCU.
* 1 sensore piezoelettrico.
* Sensore MPU6050.
* Una grande matrice.
* Corda elastica.
* Conto Firebase.
Opzionale:
* Sensore piezoelettrico multiplo
* multiplexer
Passaggio 1: configurazione e calibrazione dell'MPU6050
"caricamento = "pigro"
Istruzioni:
- Collegare il piezo con resistenza da 1M (vedi foto allegata).
- Carica lo schizzo allegato.
- Collegare il dispositivo a un piede utilizzando la corda elastica.
- Apri "plotter seriale".
- Guarda il video allegato a questo passaggio.
Passaggio 3: integrazione dei sensori in Arduino
Abbiamo visto come calibrare i sensori, ora integreremo entrambi i sensori nel NodeMCU!
- Collegare entrambi i sensori al dispositivo, utilizzare gli stessi pin dei passaggi 1+2.
- Carica lo schizzo allegato.
- Collegare il dispositivo con i 2 sensori a un piede.
- Apri "plotter seriale".
- Guarda il video allegato.
Passaggio 4: invio dei dati al cloud
In questo passaggio collegheremo il nostro dispositivo al cloud e invieremo i dati per vedere dei grafici fantastici!
Utilizzeremo il protocollo MQTT e invieremo i dati a un server gratuito chiamato "Adafruit".
NOTA: Adafruit non supporta l'invio di dati alcune volte al secondo, funziona a ritmi più lenti, quindi invieremo una media dei nostri punti dati e non i punti dati stessi. Trasformeremo i dati dei nostri 2 sensori in dati medi utilizzando le seguenti trasformazioni:
* Il tempo di rilevamento dei passi verrà trasformato in passi al minuto. La durata di ogni passaggio può essere trovata da (millis() - step_timestamp) e la media può essere eseguita utilizzando un filtro, come abbiamo visto prima: val = val * 0.7 + new_val * 0.3.
* La potenza del passo verrà trasformata in potenza del passo medio. Utilizzeremo la stessa metodologia di utilizzo di "max" per ogni passaggio, ma utilizzeremo un filtro per eseguire una media utilizzando il filtro media = media * 0,6 + nuovo_val * 0,4.
Istruzioni:
- Entra nel sito di Adafruit all'indirizzo io.adafruit.com e assicurati di avere un account.
- Crea una nuova dashboard, puoi chiamarla "Rilevatore di passi".
- All'interno della dashboard, premi il pulsante + e seleziona "grafico a linee" e crea un feed denominato "steps_per_min".
- All'interno della dashboard, premi il pulsante + e seleziona "grafico a linee" e crea un feed denominato "average_step_power".
- Ora dovresti vedere 2 grafici vuoti per ciascuno dei campi.
- Utilizzare lo schizzo allegato e impostare la seguente configurazione:
USERNAME = il tuo nome utente Adafruit.
KEY = la tua chiave Adafruit
WLAN_SSID = nome WIFI
WLAN_PASS = Pass WIFI
mpuStepThreshold = Soglia dal passaggio 2
Quindi puoi collegare il dispositivo a un piede e lo schizzo invierà i dati dei passaggi al server!
Passaggio 5: utilizzo di 2 dispositivi contemporaneamente
In questo passaggio, simuleremo 2 persone che camminano con il dispositivo contemporaneamente!
Utilizzeremo 2 dispositivi diversi, con gli stessi punti dati come spiegato nel passaggio 4.
Quindi questo è davvero facile, ci sono 3 semplici compiti:
1) creare feed extra per i dati dal 2° dispositivo, suggeriamo di dare un post-fix di "_2"
2) modificare i blocchi nella dashboard per presentare i dati di entrambi i feed.
3) cambiare il nome dei feed nello sketch del secondo dispositivo.
4) Guarda i risultati!
NOTA:
Adafruit resiste ai dati che arrivano troppo velocemente, potrebbe essere necessario regolare la frequenza con cui i dati vengono inviati al server. fallo trovando quanto segue nello schizzo:
// Invia ogni 5 secondi non superare il limite di Adafruit per gli utenti gratuiti. // Se usi premium o il tuo server, sentiti libero di cambiare. // Ogni volta invia un punto dati alternato. if(millis() - lastTimeDataSent > 5000){
Passaggio 6: miglioramenti, note e piani futuri
La sfida principale:
La sfida principale del progetto è stata testare il NodeMCU in un'attività fisica. Il cavo usb si disconnette spesso, e quando si cerca di muoversi velocemente ci possono essere problemi di distacco dei pin. Molte volte stavamo eseguendo il debug di un pezzo di codice che funzionava davvero e il problema era nel regno fisico.
Abbiamo superato questa sfida portando il laptop vicino al corridore e scrivendo ogni pezzo di codice alla volta.
Un'altra sfida è stata quella di far interagire i diversi componenti senza problemi:
- Il piezo con l'accelerometro: Soved che come descritto nel passaggio 3, da un'idea creativa che abbiamo avuto.
- I sensori con il server: come descritto nel passaggio 4, abbiamo trasformato i valori in altri valori che possono essere inviati a un server con un ritmo più lento.
I limiti del sistema:
- Necessita di calibrazione prima dell'uso.
- Necessita di essere trasformato in un prodotto più rigido, che non si rompa facilmente in un'attività fisica.
- Il sensore piezoelettrico non è molto preciso.
- Ha bisogno di una connessione wifi. (Facilmente risolvibile utilizzando l'hotspot del cellulare)
Progetti futuri
Ora che abbiamo un dispositivo di monitoraggio delle gambe completamente funzionante ci sono ulteriori miglioramenti che possono essere fatti!
Più pizze!
- Collega i piezo a diverse aree del piede.
- Usa multiplexer poiché NodeMCU supporta solo un pin analogico.
- Può mostrare una mappa termica del piede per descrivere le aree di impatto.
- Può utilizzare questi dati per creare avvisi su una postura e un equilibrio del corpo errati.
Molti dispositivi!
- Ti abbiamo mostrato come collegare 2 dispositivi contemporaneamente, ma puoi collegare 22 piezo a 22 giocatori di calcio!
- I dati possono essere esposti durante il gioco per mostrare alcune metriche interessanti sui giocatori!
Sensori avanzati
Abbiamo usato piezo e accelerometro, ma puoi aggiungere altri dispositivi che arricchiranno l'output e forniranno più dati:
- Laser precisi per rilevare i passi.
- Misura la distanza tra il piede e il suolo.
- Misurare la distanza tra diversi giocatori (in caso di più dispositivi)
Consigliato:
Tracker COVID19 desktop con orologio! Tracker alimentato Raspberry Pi: 6 passaggi
Tracker COVID19 desktop con orologio! Raspberry Pi Powered Tracker: sappiamo che possiamo morire in qualsiasi momento, anche io posso morire mentre scrivo questo post, dopo tutto, io, tu, siamo tutti mortali. Il mondo intero ha tremato a causa della pandemia di COVID19. Sappiamo come prevenirlo, ma ehi! sappiamo pregare e perché pregare, sappiamo
IDC2018IOT IoPill Box: 7 passaggi
IDC2018IOT IoPill Box: Questa è la IoPill Box, la scatola delle pillole settimanale connessa a Internet. Per il nostro progetto finale del nostro corso IoT, abbiamo deciso di offrire una soluzione che contribuirà a garantire che le persone anziane (o qualsiasi altra persona che ) non dimenticare di prendere
IDC2018IOT Appendiabiti: 6 passaggi
IDC2018IOT Appendiabiti: l'appendiabiti IOT renderà il tuo armadio più smart e ti darà statistiche online sui vestiti al suo interno. Ha 3 caratteristiche principali: quando vuoi scegliere cosa indossare, puoi premere sul colore che ti senti di indossare oggi e gli appendiabiti IOT
Movie Tracker - Tracker di uscita teatrale alimentato da Raspberry Pi: 15 passaggi (con immagini)
Movie Tracker - Tracker di rilascio teatrale alimentato da Raspberry Pi: Movie Tracker è un tracker di rilascio a forma di ciak, alimentato da Raspberry Pi. Utilizza l'API TMDb per stampare il poster, il titolo, la data di uscita e la panoramica dei film in uscita nella tua regione, in un intervallo di tempo specificato (ad es. film in uscita questa settimana) su
Cronometro per 30 M Running (Arduino): 6 Passi (con Immagini)
Cronometro per 30 m di corsa (Arduino): questo progetto è stato realizzato per uno scopo specifico nell'allenamento di baseball finlandese e per testare la velocità dei giocatori junior in 30 m di corsa. Questo progetto Arduino è stato anche un progetto di corso nei miei studi. Il progetto ha avuto degli alti e bassi, ma ora, almeno, funziona