Kazalo:

Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami: 7 korakov (s slikami)
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami: 7 korakov (s slikami)

Video: Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami: 7 korakov (s slikami)

Video: Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami: 7 korakov (s slikami)
Video: Arduino — растровые изображения из I2C EEPROM на OLED-дисплей 128x64 2024, November
Anonim
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami

Kardio vadba je dolgočasna, še posebej pri vadbi v zaprtih prostorih. Več obstoječih projektov to poskuša ublažiti tako, da naredi kul stvari, na primer povezovanje ergometra z igralno konzolo ali celo simulacijo prave vožnje s kolesom v VR. Tehnično vznemirljivi tehnično ne pomagajo veliko: vadba je še vedno dolgočasna. Zato bi raje med treningom brala knjigo ali gledala televizijo. Toda potem je težko ohraniti stalen tempo.

Ideja je, da se osredotočimo na slednji problem in zagotovimo neposredne povratne informacije o tem, ali je vaša trenutna raven usposabljanja dovolj dobra, ali pa bi se morali še bolj potruditi. Vendar se bo stopnja "dovolj dobro" razlikovala ne le glede na osebo, ampak tudi skozi čas (dolgoročno, ko se izboljšujete, pa tudi v okviru treninga: na primer, skorajda je nemogoče iti s polno hitrostjo, preden ogret). Zato je ideja tega projekta preprosto zapisati a) prejšnji tek in b) najboljši tek (imenovan tudi najvišji rezultat), nato pa zagotoviti neposredne povratne informacije o tem, kako trenutno napredujete v primerjavi s temi teki.

Če se to sliši nekoliko abstraktno, preskočite na 7. korak za podrobnosti o tem, kaj bo prikazal dokončan zaslon

Nadaljnji cilj tega projekta je, da bodo stvari res preproste in poceni. Odvisno od tega, kje naročite svoje dele, lahko ta projekt dokončate za približno 5 USD (ali približno 30 USD pri naročanju pri vrhunskih domačih prodajalcih), in če ste se prej igrali z okoljem Arduino, obstaja precej velika verjetnost, da ste že imate večino ali vse dele, ki jih potrebujete.

1. korak: Seznam delov

Seznam delov
Seznam delov

Poglejmo seznam stvari, ki jih potrebujete:

Mikroprocesor, združljiv z Arduinom

Skoraj vsak Arduino, ki je bil prodan v zadnjih nekaj letih, bo uspešen. Natančna varianta (Uno / Nano / Pro Mini, 8 ali 16 MHz, 3.3. Ali 5V) ni pomembna. Potrebovali pa boste procesor ATMEGA328 ali boljši, saj bomo porabili skoraj 2k RAM -a in 1k EEPROM -a. Če poznate prednosti in izhode sveta Arduino, priporočam uporabo Pro Mini pri 3.3V, saj bo najcenejši in najbolj učinkovit pri bateriji. Če ste (relativno) novi v Arduinu, priporočam "Nano", saj zagotavlja enako funkcionalnost kot "Uno" v manjšem in cenejšem paketu.

Upoštevajte, da vam ta navodila ne bodo govorila o osnovah. Imeti morate vsaj programsko opremo Arduino in vedeti, kako povezati Arduino in naložiti skico. Če nimate pojma, o čem govorim, najprej preberite ti dve preprosti vadnici: prvič, drugič.

128*64 slikovnih pik SSD1306 OLED zaslon (različica I2C, tj. Štirje zatiči)

To je eden najcenejših in najlažjih zaslonov, ki so na voljo danes. Se strinjam, da je majhen, vendar dovolj dober. Seveda, če že imate zaslon s podobno ali boljšo ločljivostjo, ga boste lahko uporabili, vendar je to navodilo napisano za SSD1306.

  • "Lemilna plošča brez spajkanja" in nekaj mostične žice za izdelavo vašega prototipa
  • Keramični kondenzator 100 nF (lahko ali pa tudi ne; glejte 4. korak)
  • Nekaj Croc-sponk ali magnet, trstično stikalo in nekaj kabla (glej 4. korak)
  • Rdeča in zelena LED, vsaka (neobvezno; glej 5. korak)
  • Dva upora 220Ohm (če uporabljate LED)
  • Gumb (tudi neobvezno)
  • Primerna baterija (glej korak 6)

2. korak: Priključitev zaslona

Priključitev zaslona
Priključitev zaslona

Najprej bomo zaslon priključili na Arduino. Na voljo so podrobna navodila. Vendar je SSD1306 res enostavno priključiti:

  1. Zaslon VCC -> Arduino 3.3V ali 5V (bo ustrezalo)
  2. Zaslon Gnd -> Arduino Gnd
  3. Zaslon SCL -> Arduino A5
  4. Zaslon SCA -> Arduino A4

Nato v okolju Arduino pojdite na Sketch-> Include library-> Manage libraries in namestite »Adafruit SSD1306«. Na žalost boste morali knjižnico urediti, če jo želite konfigurirati za različico 128*64 slikovnih pik: poiščite mapo "knjižnice" arduino in uredite "Adafruit_SSD1306/Adafruit_SSD1306.h". Poiščite »#define SSD1306_128_32«, onemogočite to vrstico in namesto tega omogočite »#define SSD1306_128_64«.

Na tej točki naložite Datoteka-> Primeri-> Adafruit SSD1306-> ssd1306_128x64_i2c, da preverite, ali je zaslon pravilno priključen. Upoštevajte, da boste morda morali prilagoditi naslov I2C. Zdi se, da je 0x3C najpogostejša vrednost.

V primeru težav glejte podrobnejša navodila.

3. korak: naložite skico

Če je vse delovalo, je zdaj čas, da dejansko skico naložite v svoj Arduino. Spodaj boste našli kopijo skice. Morebitno novejšo različico poiščite na strani projekta github. (Ker je to skica ene datoteke, je dovolj, da datoteko erogmetrino.ino preprosto kopirate v okno Arduino).

Če ste morali v prejšnjem koraku spremeniti naslov I2C, boste morali isto spremembo znova narediti zdaj v vrstici, ki se začne z "display.begin".

Po nalaganju bi se morali na zaslonu prikazati nekatere ničle. Ko povežemo vse ostalo, bomo pogledali pomen različnih delov zaslona.

Upoštevajte, da se bo zaslon ob prvem zagonu precej počasi prižgal (lahko traja do približno deset sekund), saj bo skica najprej izničila vse podatke, shranjene v EEPROM -u.

4. korak: Priključitev ergometra

Priključitev ergometra
Priključitev ergometra

Tega koraka ni mogoče univerzalno opisati, saj niso vsi ergometri enaki. Vendar pa tudi niso vsi različni. Če vaš ergometer sploh vsebuje elektronski prikazovalnik hitrosti, mora imeti elektronski senzor za zaznavanje vrtljajev pedalov ali kakšnega (morda notranjega) kolesca. V mnogih primerih bo to preprosto sestavljeno iz magneta, ki poteka blizu trstičnega stikala (glej tudi spodaj). Vsakič, ko magnet preide, se stikalo zapre in signalizira en vrtljaj na prikazovalniku hitrosti.

Prva stvar, ki jo morate storiti, je, da na ergometru pregledate vhodne kable na prikazovalniku hitrosti. Če od ergometra nekje prihaja dvožični kabel, ste skoraj zagotovo našli povezavo s senzorjem. In z malo sreče lahko to preprosto odklopite in samo povežete s svojim Arduinom z nekaj izrezki (povem vam, na katere zatiče naj se povežete v minuti).

Če pa takega kabla ne najdete, niste prepričani, ali ste našli pravega ali pa ga ne morete odklopiti, ne da bi pri tem kaj poškodovali, lahko preprosto pritrdite majhen magnet na enega od pedal in pritrdite trstično stikalo na okvir vašega erogmetra, tako da bo magnet šel mimo njega zelo blizu. Priključite dve žici na stikalo in ju pripeljite do vašega Arduina.

Povežite dve žici (lastni ali tisti iz obstoječega senzorja) na Arduino Gnd in Arduino pin D2. Če imate enega pri roki, priključite tudi 100nF kondenzator med pin D2 in Gnd za nekaj "odvajanja". To je lahko ali pa tudi ne, vendar pomaga stabilizirati odčitke.

Ko končate, je čas, da vklopite Arduino in skočite na kolo za prvi hitri preizkus. Zgoraj levo število bi moralo prikazati merilo hitrosti. Če to ne deluje, preverite vse ožičenje in se prepričajte, da je magnet dovolj blizu trstičnega stikala. Če se vam zdi, da je merilo hitrosti stalno previsoko ali prenizko, preprosto prilagodite definicijo »CM_PER_CLICK« blizu vrha skice (opomba: skica uporablja imena meritev, nikjer pa se ne prikažejo ali shranijo enote, zato to prezrite in ponudba 100.000 -ih milj na klik).

5. korak: Izbirne LED -diode za hitro stanje

Izbirne LED -diode za hitro stanje
Izbirne LED -diode za hitro stanje

LED diode, opisane v tem koraku, so neobvezne, vendar čedne: če med vadbo resno berete knjigo / gledate televizijo, vam ni treba preveč buljiti v zaslon. Toda dve LED v različnih barvah bosta zlahka opazni v perifernem vidu in bosta dovolj, da dobite grobo predstavo o tem, kako vam gre.

  • Priključite prvo (rdečo) LED na pin D6 (daljša noga LED gre na Arduino). Kratko nogo LED priklopite na Gnd preko upora 220Ohms. Ta LED dioda zasveti, ko ste v trenutni fazi usposabljanja 10% ali več pod vašo najboljšo hitrostjo. Čas je, da se še malo potrudite!
  • Priključite drugo (zeleno) LED na pin D5, spet z uporom na Gnd. Ta LED dioda zasveti, ko ste znotraj 1%ali več od vašega najboljšega teka. Dobro ti gre!

Želite, da LED zasveti, odvisno od tega, kako ste v primerjavi s prejšnjim tekom, ali od poljubne povprečne hitrosti? No, samo povežite gumb med zatičem D4 in Gnd. S tem gumbom lahko preklapljate med "vaš najboljši tek", "vaš prejšnji tek" ali "vaša trenutna hitrost". Mala črka "P" ali "C" v spodnjem levem kotu bo pomenila zadnja dva načina.

6. korak: Napajanje zaslona ergometra

Napajanje zaslona vašega ergometra
Napajanje zaslona vašega ergometra

Obstaja veliko načinov za napajanje zaslona, vendar bom izpostavil dva, ki se zdijo precej bolj praktična od drugih:

  1. Ko uporabljate Arduino Uno ali Nano, ga boste verjetno želeli napajati z USB-napajalnikom z vgrajeno indikacijo nizke baterije.
  2. Ko uporabljate Arduino Pro Mini @ 3.3V (moje priporočilo za napredne uporabnike), lahko to napajate neposredno iz ene baterije LiPo ali treh celic NiMH. Ker ATMEGA prenaša napajalne napetosti do 5,5 V, lahko to priključite neposredno na "VCC/ACC", mimo vgrajenega regulatorja napetosti. V tej nastavitvi bo tudi opozorilo o "nizki bateriji" pri približno 3,4 V, brez dodatne strojne opreme (prikazano v spodnjem desnem kotu). Ker lahko pričakujemo, da bo ATMEGA delovala pravilno, vsaj do 3.0 V ali manj, bi vam moralo to dovolj časa, da dokončate vadbeno enoto pred ponovnim polnjenjem.

7. korak: Uporaba zaslona ergometra

Uporaba zaslona ergometra
Uporaba zaslona ergometra
Uporaba zaslona ergometra
Uporaba zaslona ergometra

Oglejmo si podrobneje različne številke na zaslonu. Večje število v zgornjem levem kotu je preprosto vaša trenutna hitrost, večje število v zgornjem desnem kotu pa je skupna razdalja na vašem trenutnem treningu.

Naslednja vrstica je vaša povprečna hitrost od začetka usposabljanja (levo) in čas od začetka usposabljanja (desno). Upoštevajte, da se čas ustavi, ko je kolo ustavljeno.

Doslej tako nepomembno. Dve vrstici na desni strani sta zanimivi: Ti primerjata vaš trenutni čas s prejšnjim oziroma najboljšim treningom. Tj. "- 0:01:23" na vrhu teh vrstic bo pomenilo, da ste dosegli svojo trenutno razdaljo 1 minuto in 23 sekund prej kot pri prejšnjem teku. Dobro. Spodnja vrstica "+ 0:00:12" bo pomenila, da do trenutne točke zaostajate 12 sekund za najboljšo vožnjo. (Upoštevajte, da ti različni časi ne bodo 100% natančni. Časovne točke se shranijo vsakih 0,5 km / milj in med njimi interpolirajo.) Seveda ob prvem teku seveda ni bilo zabeleženih časovnih referenc in zato bosta obe zgornji vrstici prikazali samo "-:-:-".

Nazadnje, spodnje levo območje zaslona vsebuje graf vaše hitrosti v zadnji minuti. To vam omogoča, da na prvi pogled vidite, ali se premikate ali upočasnjujete. (Upoštevajte, da bo ta črta v resničnem treningu veliko bolj gladka, vendar preprosto ni enostavno vzdrževati enakomernega tempa, medtem ko poskušate posneti fotografijo …) Vodoravne črte označujejo prejšnjo / najboljšo hitrost, ki ste jo dosegli blizu trenutne točke prejšnje usposabljanja.

LED diode, nameščene blizu vrha, primerjajo vašo trenutno hitrost z vašo najboljšo hitrostjo v tej fazi usposabljanja. Zelena kaže, da ste znotraj 1% svojega najboljšega, rdeča kaže, da ste več kot 10% počasnejši od svojega najboljšega treninga. Ko vidite rdečo luč, je čas, da se še malo potrudite. Upoštevajte, da se v nasprotju z zgoraj opisanimi časi razlikovanja nanašajo samo na trenutni del usposabljanja, tj. Možno je, da zamujate v absolutnem času, vendar zelena kaže, da dohitevate in obratno.

Referenčno hitrost, ki se uporablja za obe LED, lahko spremenite s pritiskom na gumb. Z enim pritiskom boste preklopili z najboljšega na prejšnji posneti trening (v spodnjem levem kotu bo prikazana majhna črka "P"). Še en pritisk in vaša trenutna hitrost ob pritisku gumba bo postala nova referenčna hitrost (prikazana bo majhna črka "C"). Slednje je še posebej uporabno med prvim treningom z novim zaslonom ergometra, ko referenca še ni zabeležena.

Ko končate s treningom, samo odklopite baterijo. Vaše usposabljanje je že shranjeno v notranjem EEPROM -u vašega Arduina.

Kot lahko vidite, sem svoj prototip spajkal. Zagotovo znak, da mi je bil rezultat všeč. Upam, da vam bo tudi to koristilo. Vesela vadba!

Priporočena: