Sommario:
- Passaggio 1: elenco delle parti
- Passaggio 2: collegamento del display
- Passaggio 3: carica lo schizzo
- Passaggio 4: collegamento dell'ergometro
- Passaggio 5: LED di stato rapido opzionali
- Passaggio 6: alimentazione del display dell'ergometro
- Passaggio 7: utilizzo del display dell'ergometro
Video: Semplice display ergonomico basato su Arduino con feedback differenziale: 7 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
L'allenamento cardio è noioso, soprattutto quando ci si allena al chiuso. Diversi progetti esistenti cercano di alleviare questo problema facendo cose interessanti come accoppiare l'ergometro a una console di gioco o persino simulare un vero giro in bicicletta in VR. Per quanto eccitanti, tecnicamente non aiutano molto: l'allenamento è ancora noioso. Quindi, invece, mi piacerebbe poter leggere un libro o guardare la TV mentre mi alleno. Ma poi è difficile mantenere un ritmo costante.
L'idea, qui, è di concentrarsi su quest'ultimo problema e fornire un feedback diretto, se il tuo attuale livello di allenamento è abbastanza buono o se dovresti impegnarti di più. Tuttavia, il livello "abbastanza buono" varierà non solo per persona, ma anche nel tempo (a lungo termine, man mano che si migliora, ma anche all'interno di una sessione di allenamento: ad esempio, è quasi impossibile andare a tutta velocità prima di aver riscaldato). Pertanto, l'idea alla base di questo progetto è semplicemente quella di registrare a) la corsa precedente eb) la corsa migliore (ovvero il punteggio più alto), e quindi fornire un feedback diretto su come stai attualmente andando rispetto a quelle corse.
Se ti sembra un po' astratto, vai al passaggio 7 per i dettagli su cosa mostrerà il display completato
Un ulteriore obiettivo di questo progetto è quello di mantenere le cose davvero semplici ed economiche. A seconda di dove ordini le tue parti, puoi completare questo progetto per circa $ 5 (o circa 30 $ quando ordini da venditori nazionali premium) e se hai già giocato con l'ambiente Arduino, ci sono buone probabilità che tu già avere la maggior parte o tutte le parti di cui hai bisogno.
Passaggio 1: elenco delle parti
Passiamo all'elenco delle cose di cui hai bisogno:
Un microprocessore compatibile con Arduino
Praticamente qualsiasi Arduino venduto negli ultimi anni andrà bene. La variante esatta (Uno/Nano/Pro Mini, 8 o 16 MHz, 3.3. o 5V) non ha importanza. Tuttavia, avrai bisogno di un processore ATMEGA328 o superiore, perché utilizzeremo quasi 2k di RAM e 1k di EEPROM. Se hai familiarità con i dettagli del mondo Arduino, ti consiglio di utilizzare un Pro Mini a 3,3 V, poiché sarà più economico e più efficiente in termini di batteria. Se sei (relativamente) nuovo di Arduino, ti consiglio un "Nano" in quanto fornisce le stesse funzionalità di un "Uno" in un pacchetto più piccolo ed economico.
Nota che questo tutorial non ti parlerà delle basi. Dovresti almeno avere installato il software Arduino e sapere come collegare il tuo Arduino e caricare uno schizzo. Se non hai idea di cosa sto parlando, leggi questi due semplici tutorial, primo: primo, secondo.
Un display OLED SSD1306 da 128*64 pixel (variante I2C, ovvero quattro pin)
Questo è uno dei display più economici e facili disponibili oggi. D'accordo, è piccolo, ma abbastanza buono. Ovviamente, se hai già un display con risoluzione simile o migliore, sarà possibile utilizzarlo, ma questo istruibile è scritto per un SSD1306.
- Una "breadboard senza saldatura" e un po' di ponticello, per costruire il tuo prototipo
- Un condensatore ceramico da 100nF (potrebbe essere necessario o meno; vedere il passaggio 4)
- Alcuni coccodrilli, o un magnete, un interruttore reed e un cavo (vedi passaggio 4)
- Un LED rosso e uno verde, ciascuno (opzionale; vedere il passaggio 5)
- Due resistori da 220Ohm (se si utilizzano i LED)
- Un pulsante (anch'esso opzionale)
- Una batteria adatta (vedi punto 6)
Passaggio 2: collegamento del display
Per prima cosa collegheremo il display ad Arduino. Sono disponibili istruzioni dettagliate. Tuttavia, l'SSD1306 è davvero facile da collegare:
- Visualizza VCC -> Arduino 3.3V o 5V (entrambi lo faranno)
- Visualizza Gnd -> Arduino Gnd
- Visualizza SCL -> Arduino A5
- Visualizza SCA -> Arduino A4
Successivamente, nel tuo ambiente Arduino vai su Sketch-> Includi libreria-> Gestisci librerie e installa "Adafruit SSD1306". Sfortunatamente, dovrai modificare la libreria per configurarla per la variante 128*64 pixel: individua la cartella "librerie" di arduino e modifica "Adafruit_SSD1306/Adafruit_SSD1306.h". Cerca "#define SSD1306_128_32", disabilita quella riga e abilita "#define SSD1306_128_64", invece.
A questo punto dovresti caricare File->Esempi->Adafruit SSD1306->ssd1306_128x64_i2c per verificare che il tuo display sia collegato correttamente. Si noti che potrebbe essere necessario regolare l'indirizzo I2C. 0x3C sembra essere il valore più comune.
In caso di problemi, fare riferimento alle istruzioni più dettagliate.
Passaggio 3: carica lo schizzo
Se tutto ha funzionato, finora è il momento di caricare lo schizzo effettivo sul tuo Arduino. Di seguito troverai una copia dello schizzo. Per una versione potenzialmente più recente, fare riferimento alla pagina del progetto github. (Poiché si tratta di uno schizzo a file singolo, è sufficiente copiare il file erogmetrino.ino nella finestra di Arduino).
Se hai dovuto modificare l'indirizzo I2C nel passaggio precedente, dovrai effettuare la stessa regolazione, di nuovo, ora, nella riga che inizia con "display.begin".
Dopo il caricamento, dovresti vedere alcuni zeri visualizzati sul display. Vedremo il significato delle varie sezioni del display, dopo aver collegato tutto il resto.
Si noti che al primo avvio, l'accensione del display sarà piuttosto lenta (potrebbe richiedere fino a una decina di secondi), poiché lo sketch azzererà prima tutti i dati memorizzati nella EEPROM.
Passaggio 4: collegamento dell'ergometro
Questo passaggio non può essere davvero descritto universalmente, poiché non tutti gli ergometri sono uguali. Tuttavia, non sono nemmeno tutti diversi. Se il tuo ergometro include un display elettronico della velocità, deve avere un sensore elettronico per rilevare i giri dei pedali, o qualche volano (possibilmente interno), da qualche parte. In molti casi, questo consisterà semplicemente in un magnete che passa vicino a un interruttore reed (vedi anche sotto). Ad ogni passaggio del magnete, l'interruttore si chiuderà segnalando un giro al display della velocità.
La prima cosa che dovresti fare è esaminare il display della velocità sul tuo ergometro per i cavi in arrivo. Se trovi un cavo a due fili proveniente da qualche parte all'interno dell'ergometro, hai quasi sicuramente trovato la connessione al sensore. E con un po' di fortuna puoi semplicemente scollegarlo e collegarlo al tuo Arduino con alcuni coccodrilli (ti dirò a quali pin collegarti in un minuto).
Tuttavia, se non riesci a trovare un cavo del genere, non sei sicuro di aver trovato quello giusto, o non puoi scollegarlo senza danneggiare nulla, puoi semplicemente attaccare un piccolo magnete a uno dei pedali e fissare un interruttore reed al telaio del tuo erogmetro, in modo tale che il magnete gli passi molto vicino. Collega due fili allo switch e portali al tuo Arduino.
Collega i due fili (sia il tuo che quelli di un sensore esistente) andranno su Arduino Gnd e Arduino pin D2. Se ne hai uno a portata di mano, collega anche il condensatore da 100nF tra il pin D2 e Gnd per un po' di "antirimbalzo". Questo può essere necessario o meno, ma aiuta a stabilizzare le letture.
Al termine, è il momento di accendere il tuo Arduino e salire sulla bici per un primo rapido test. Il numero in alto a sinistra dovrebbe iniziare a mostrare una misura di velocità. Se questo non funziona, controlla tutti i cablaggi e assicurati che il magnete sia abbastanza vicino all'interruttore reed. Se la misura della velocità sembra costantemente troppo alta o troppo bassa, regola semplicemente la definizione "CM_PER_CLICK" vicino alla parte superiore dello schizzo (nota: lo schizzo usa nomi metrici, ma nessuna unità viene visualizzata o salvata, da nessuna parte, quindi ignoralo e fornire 100.000esimi di miglio per clic).
Passaggio 5: LED di stato rapido opzionali
I LED descritti in questo passaggio sono opzionali, ma puliti: se sei seriamente intenzionato a leggere un libro/guardare la TV mentre ti alleni, non devi fissare troppo il display. Ma due led di colore diverso si noteranno facilmente in visione periferica, e basteranno per darti un'idea approssimativa di come stai.
- Collega il primo LED (rosso) al pin D6 (la gamba più lunga del LED va all'Arduino). Collegare la gamba corta del LED a Gnd tramite un resistore da 220Ohm. Questo LED si accenderà quando si è del 10% o più al di sotto della velocità migliore nella fase corrente dell'allenamento. È ora di fare uno sforzo in più!
- Collegare il secondo LED (verde) al pin D5, sempre con un resistore a Gnd. Questo LED si accenderà quando sarai entro l'1% o al di sopra della tua corsa migliore. Stai andando bene!
Vuoi che i LED si accendano a seconda di come ti comporti rispetto alla tua corsa precedente o di una velocità media arbitraria? Bene, basta collegare un pulsante tra il pin D4 e Gnd. Usando quel pulsante puoi alternare il riferimento tra "la tua corsa migliore", "la tua corsa precedente" o "la tua velocità attuale". Una piccola lettera "P" o "C" nell'angolo in basso a sinistra indicherà le ultime due modalità.
Passaggio 6: alimentazione del display dell'ergometro
Ci sono molti modi per alimentare il tuo display, ma ne indicherò due che sembrano piuttosto più pratici di altri:
- Quando si utilizza un Arduino Uno o Nano, probabilmente si desidera alimentarlo utilizzando un power bank USB con indicazione di batteria scarica integrata.
- Quando si utilizza un Arduino Pro Mini a 3,3 V (la mia raccomandazione per gli utenti avanzati), è possibile alimentarlo direttamente da una singola batteria LiPo o da tre celle NiMH. Poiché l'ATMEGA tollera tensioni di alimentazione fino a 5,5V, è possibile collegarlo direttamente a "VCC/ACC", bypassando il regolatore di tensione di bordo. In questa configurazione, ci sarà anche un avviso di "batteria scarica" a circa 3,4 V, senza hardware aggiuntivo (visualizzato nell'angolo in basso a destra). Poiché è prevedibile che ATMEGA funzioni correttamente, almeno fino a 3,0 V circa, questo dovrebbe lasciarti abbastanza tempo per completare l'unità di addestramento prima di ricaricarla.
Passaggio 7: utilizzo del display dell'ergometro
Diamo un'occhiata più da vicino ai vari numeri sul display. Il numero più grande in alto a sinistra è semplicemente la tua velocità attuale e il numero più grande in alto a destra è la distanza totale nel tuo allenamento attuale.
La riga successiva è la velocità media dall'inizio dell'allenamento (a sinistra) e il tempo dall'inizio dell'allenamento (a destra). Notare che il cronometraggio viene fermato mentre la bici è ferma.
Fin qui così banale. Le altre due linee sul lato destro sono dove diventa interessante: confrontano il tuo tempo attuale con il tuo allenamento precedente e migliore, rispettivamente. Cioè. un "- 0:01:23" nella parte superiore di queste righe significa che hai raggiunto la distanza attuale 1 minuto e 23 secondi prima rispetto alla corsa precedente. Bene. Una linea inferiore di "+ 0:00:12" significa che fino al punto corrente sei in ritardo di 12 secondi rispetto alla tua corsa migliore. (Nota che questi tempi differenziali non saranno esatti al 100%. I punti temporali vengono memorizzati ogni 0,5 km / miglia e interpolati tra questi.) Inevitabilmente, ovviamente, durante la tua prima corsa, non sono stati ancora registrati riferimenti temporali e quindi entrambe le righe sopra mostreranno solo "--:--:--".
Infine, la regione in basso a sinistra del display contiene un grafico della tua velocità nell'ultimo minuto. Ciò ti consente di vedere a colpo d'occhio se stai andando stabile o rallentando. (Nota che questa linea sarà molto più liscia nell'allenamento reale, ma semplicemente non è facile mantenere un ritmo costante mentre provi a scattare una foto…) Le linee orizzontali indicano la velocità precedente/migliore che hai raggiunto vicino al punto attuale della tua precedente formazioni.
I LED montati vicino alla parte superiore confrontano la tua velocità attuale con la tua velocità migliore durante questa fase dell'allenamento. Il verde mostra che sei entro l'1% del tuo miglior allenamento, il rosso mostra che sei più lento del 10% rispetto al tuo miglior allenamento. Quando vedi la luce rossa, è il momento di fare qualche sforzo in più. Nota che contrariamente ai tempi differenziali sopra descritti, questi si riferiscono solo alla parte corrente dell'allenamento, cioè è possibile che tu sia in ritardo nel tempo assoluto, ma il verde indica che stai recuperando e viceversa.
La velocità di riferimento utilizzata per i due LED può essere modificata tramite il pulsante. Una pressione passerà dal migliore al precedente allenamento registrato (una piccola lettera "P" apparirà in basso a sinistra). Un'altra pressione e la velocità attuale al momento della pressione del pulsante diventerà la nuova velocità di riferimento (verrà visualizzata una piccola lettera "C"). Quest'ultimo è particolarmente utile durante il tuo primo allenamento con il tuo nuovo display ergometro, quando non è stato ancora registrato alcun riferimento.
Al termine dell'allenamento, scollega la batteria. Il tuo allenamento è già stato salvato nella EEPROM interna di Arduino.
Come puoi vedere, ho finito per saldare il mio prototipo. Segno sicuro che mi è piaciuto il risultato, me stesso. Spero che lo troverai utile anche tu. Buon esercizio!
Consigliato:
Convertitore boost basato su Esp8266 con un'incredibile interfaccia utente Blynk con regolatore di feedback: 6 passaggi
Convertitore boost basato su Esp8266 con un'incredibile interfaccia utente Blynk con regolatore di feedback: in questo progetto ti mostrerò un modo efficiente e comune come aumentare le tensioni CC. Ti mostrerò quanto può essere facile costruire un convertitore boost con l'aiuto di un Nodemcu. Costruiamolo. Include anche un voltmetro su schermo e un feedback
Generatore musicale basato sulle condizioni meteorologiche (generatore MIDI basato su ESP8266): 4 passaggi (con immagini)
Generatore di musica basato sul tempo (Generatore MIDI basato su ESP8266): Ciao, oggi spiegherò come creare il tuo piccolo generatore di musica basato sul tempo. È basato su un ESP8266, che è un po' come un Arduino, e risponde alla temperatura, alla pioggia e l'intensità della luce. Non aspettarti che produca intere canzoni o programmi di accordi
Supporto per monitor ergonomico con illuminazione laterale: 18 passaggi (con immagini)
Supporto per monitor ergonomico Edge Lit: Ergonomia, il processo di progettazione o organizzazione di luoghi di lavoro, prodotti e sistemi in modo che si adattino alle persone che li utilizzano. Uno dei problemi principali con le configurazioni standard del monitor è che non è possibile regolare la sua posizione in base alle proprie esigenze personalizzate
Come assemblare un controller di impugnatura semplice e potente - Basato sul Micro: Bit: 10 passaggi (con immagini)
Come assemblare un controller della maniglia semplice e potente - Basato sul Micro: Bit: il nome della maniglia è Handlebit. La forma è una maniglia e sembra molto bella! Ora possiamo fare un'introduzione sull'Handlebit, passiamoci sopra
Supporto ergonomico per laptop realizzato con un appendiabiti: 7 passaggi (con immagini)
Supporto ergonomico per laptop realizzato con un appendiabiti: Ciao, mi chiamo Tully Gehan Al momento vivo a Pechino in Cina e ho intenzione di trasferirmi a Taiwan tra qualche mese. Quindi non sono molto interessato ad acquistare molti più mobili. Tuttavia noto che lo schermo del laptop è piuttosto basso tende a farmi