Sisällysluettelo:

Yksinkertainen Arduino-pohjainen ergometrinäyttö ja differentiaalinen palaute: 7 vaihetta (kuvilla)
Yksinkertainen Arduino-pohjainen ergometrinäyttö ja differentiaalinen palaute: 7 vaihetta (kuvilla)

Video: Yksinkertainen Arduino-pohjainen ergometrinäyttö ja differentiaalinen palaute: 7 vaihetta (kuvilla)

Video: Yksinkertainen Arduino-pohjainen ergometrinäyttö ja differentiaalinen palaute: 7 vaihetta (kuvilla)
Video: Arduino musiikkisoitin 2024, Marraskuu
Anonim
Yksinkertainen Arduino-pohjainen ergometrinäyttö, jossa on differentiaalinen palaute
Yksinkertainen Arduino-pohjainen ergometrinäyttö, jossa on differentiaalinen palaute
Yksinkertainen Arduino-pohjainen ergometrinäyttö, jossa on differentiaalinen palaute
Yksinkertainen Arduino-pohjainen ergometrinäyttö, jossa on differentiaalinen palaute
Yksinkertainen Arduino-pohjainen ergometrinäyttö, jossa on differentiaalinen palaute
Yksinkertainen Arduino-pohjainen ergometrinäyttö, jossa on differentiaalinen palaute

Kardiotreeni on tylsää etenkin sisätiloissa. Useat olemassa olevat projektit yrittävät lievittää tätä tekemällä hienoja asioita, kuten kytkemällä ergometri pelikonsoliin tai simuloimalla todellista pyöräretkeä VR: ssä. Nämä ovat jännittäviä, teknisesti, ne eivät todellakaan auta paljon: Harjoitus on edelleen tylsää. Joten sen sijaan haluaisin vain lukea kirjaa tai katsoa televisiota harjoittelun aikana. Mutta silloin on vaikeaa pysyä vakaana.

Tässä ajatuksena on keskittyä jälkimmäiseen ongelmaan ja antaa suoraa palautetta siitä, onko nykyinen koulutustasosi riittävän hyvä, tai sinun pitäisi panostaa enemmän. Kuitenkin "riittävän hyvä" taso vaihtelee paitsi henkilöittäin myös ajan mittaan (pitkällä aikavälillä, kun paranet, mutta myös harjoituksen aikana: esimerkiksi on lähes mahdotonta mennä täydellä nopeudella ennen kuin olet lämmitetty). Siksi tämän projektin ajatuksena on yksinkertaisesti tallentaa a) edellinen juoksu ja b) paras juoksu (eli huipputulos) ja antaa sitten suoraa palautetta siitä, miten voit tällä hetkellä verrattuna näihin juoksuihin.

Jos se kuulostaa hieman abstraktilta, siirry vaiheeseen 7 saadaksesi lisätietoja siitä, mitä valmis näyttö näyttää

Tämän projektin toinen tavoite on pitää asiat todella yksinkertaisina ja halvoina. Riippuen siitä, mistä tilaat osia, voit suorittaa tämän projektin noin 5 dollarilla (tai noin 30 dollarilla, kun tilaat premium -kotimaan myyjiltä), ja jos olet pelannut Arduino -ympäristössä, on aika hyvä mahdollisuus, että olet jo sinulla on suurin osa tai kaikki tarvitsemasi osat.

Vaihe 1: Osaluettelo

Osa lista
Osa lista

Käydään läpi tarvittavien asioiden luettelo:

Arduino -yhteensopiva mikroprosessori

Melkein mikä tahansa viime vuosina myyty Arduino tekee. Tarkalla muunnelmalla (Uno / Nano / Pro Mini, 8 tai 16 MHz, 3,3 tai 5 V) ei ole väliä. Tarvitset kuitenkin ATMEGA328 -prosessorin tai paremman, koska käytämme lähes 2 kt RAM -muistia ja 1 000 EEPROM -muistia. Jos olet perehtynyt Arduino -maailman sisätiloihin, suosittelen Pro Minin käyttöä 3,3 V: n jännitteellä, koska se on halvin ja tehokkain akkutehokas. Jos olet (suhteellisen) uusi Arduinossa, suosittelen "nanoa", koska se tarjoaa samat toiminnot kuin "Uno" pienemmässä ja halvemmassa paketissa.

Huomaa, että tämä ohje ei kerro sinulle perusteita. Sinun pitäisi ainakin asentaa Arduino -ohjelmisto ja tietää, miten voit liittää Arduinon ja ladata luonnoksen. Jos sinulla ei ole aavistustakaan, mistä puhun, lue ensin nämä kaksi helppoa opetusohjelmaa: Ensimmäinen, toinen.

128*64 pikselin SSD1306 OLED -näyttö (I2C -versio, eli neljä nastaa)

Tämä on yksi tämän hetken halvimmista ja helpoimmista näytöistä. Hyväksytty, se on pieni, mutta tarpeeksi hyvä. Tietenkin, jos sinulla on jo samanlainen tai parempi resoluutio, voit käyttää sitä sen sijaan, mutta tämä ohje on kirjoitettu SSD1306: lle.

  • "Juoton leipälauta" ja hyppyjohdin prototyypin rakentamiseen
  • 100nF keraaminen kondensaattori (voi olla tai ei tarvita; katso vaihe 4)
  • Jotain croc-leikkeitä tai magneetti, reed-kytkin ja johto (katso vaihe 4)
  • Punainen ja vihreä LED, kumpikin (valinnainen; katso vaihe 5)
  • Kaksi 220 ohmin vastusta (jos käytetään LED -valoja)
  • Painike (myös valinnainen)
  • Sopiva akku (katso vaihe 6)

Vaihe 2: Näytön liittäminen

Näytön kytkeminen
Näytön kytkeminen

Ensimmäisenä kiinnitämme näytön Arduinoon. Yksityiskohtaiset ohjeet ovat saatavilla. SSD1306 on kuitenkin todella helppo kytkeä:

  1. Näyttö VCC -> Arduino 3.3V tai 5V (kumpikin käy)
  2. Näytä Gnd -> Arduino Gnd
  3. Näytä SCL -> Arduino A5
  4. Näyttö SCA -> Arduino A4

Siirry seuraavaksi Arduino-ympäristössä kohtaan Luonnos-> Sisällytä kirjasto-> Hallitse kirjastoja ja asenna "Adafruit SSD1306". Valitettavasti sinun on muokattava kirjastoa, jotta voit määrittää sen 128*64 pikselin variantille: etsi arduino -kirjasto -kansio ja muokkaa "Adafruit_SSD1306/Adafruit_SSD1306.h". Hae "#define SSD1306_128_32", poista se käytöstä ja ota käyttöön "#define SSD1306_128_64".

Tässä vaiheessa sinun on ladattava Tiedosto-> Esimerkit-> Adafruit SSD1306-> ssd1306_128x64_i2c, jotta voit testata, onko näyttö liitetty oikein. Huomaa, että sinun on ehkä säädettävä I2C-osoite. 0x3C näyttää olevan yleisin arvo.

Jos ongelmia ilmenee, katso tarkemmat ohjeet.

Vaihe 3: Lataa luonnos

Jos kaikki toimi toistaiseksi, on nyt aika ladata luonnos Arduinoosi. Löydät kopion luonnoksesta alta. Mahdollisesti uudemman version löydät github -projektisivulta. (Koska tämä on yksittäinen luonnos, riittää vain kopioida erogmetrino.ino -tiedosto Arduino -ikkunaan).

Jos jouduit muuttamaan I2C -osoitetta edellisessä vaiheessa, sinun on tehtävä sama säätö uudelleen nyt rivillä, joka alkaa "display.begin".

Lataamisen jälkeen näytössä pitäisi näkyä nollia. Tarkastelemme näytön eri osien merkitystä, kun kaikki muu on kytketty.

Huomaa, että heti ensimmäisellä käynnistyksellä näyttö syttyy melko hitaasti (voi kestää noin kymmenen sekuntia), koska luonnos nollaa ensin kaikki EEPROMiin tallennetut tiedot.

Vaihe 4: Ergometrin liittäminen

Ergometrin liittäminen
Ergometrin liittäminen

Tätä vaihetta ei voida kuvata yleisesti, koska kaikki ergometrit eivät ole samanlaisia. Kaikki eivät kuitenkaan ole myöskään erilaisia. Jos ergometrissäsi on elektroninen nopeusnäyttö, siinä on oltava elektroninen anturi, joka havaitsee polkimien tai jonkin (mahdollisesti sisäisen) lentopyörän pyörimisen. Monissa tapauksissa se koostuu yksinkertaisesti magneetista, joka kulkee reed -kytkimen lähellä (katso myös alla). Aina kun magneetti ohittaa, kytkin sulkeutuu ja merkitsee nopeuden näytölle yhden kierroksen.

Ensimmäinen asia, joka sinun pitäisi tehdä, on tutkia ergometrin nopeusnäyttö saapuvien kaapeleiden varalta. Jos huomaat ergometrin sisältä tulevan kaksijohtimisen kaapelin, olet lähes varmasti löytänyt yhteyden anturiin. Ja hieman tuurilla voit yksinkertaisesti irrottaa tämän pistokkeen ja liittää sen vain Arduinoosi joidenkin croc-leikkeiden avulla (kerron sinulle, mihin nastoihin haluat muodostaa yhteyden minuutissa).

Jos et kuitenkaan löydä tällaista kaapelia, olet epävarma, löysitkö oikean, tai et voi irrottaa sitä vahingoittamatta mitään, voit nauhoittaa pienen magneetin johonkin polkimista ja kiinnittää ruoko -kytkimen erogmeter -kehykseesi, niin että magneetti kulkee sen läheltä. Liitä kaksi johtoa kytkimeen ja johda ne Arduinoosi.

Yhdistä kaksi johtoa (joko oma tai olemassa olevan anturin johdot) Arduino Gnd- ja Arduino -nasta D2. Jos sinulla on sellainen käsilläsi, kytke myös 100 nF: n kondensaattori nastan D2 ja Gnd väliin "laukaisua" varten. Tämä voi olla tarpeen tai ei, mutta auttaa vakauttamaan lukemat.

Kun olet valmis, on aika käynnistää Arduinosi ja hypätä pyörän päälle ensimmäistä pikatestiä varten. Vasemman yläkulman numeron pitäisi alkaa näyttää nopeusmittaa. Jos tämä ei toimi, tarkista kaikki johdotukset ja varmista, että magneetti on riittävän lähellä reed -kytkintä. Jos nopeusmitta vaikuttaa jatkuvasti liian suurelta tai liian alhaiselta, säädä yksinkertaisesti "CM_PER_CLICK" -määritystä luonnoksen yläosan lähellä (Huomaa: luonnoksessa käytetään metrisiä nimiä, mutta yksiköitä ei näytetä tai tallenneta missään, joten jätä se huomiotta ja 100 000ths mailia napsautusta kohden).

Vaihe 5: Valinnaiset pikatilan merkkivalot

Valinnaiset pikatilan merkkivalot
Valinnaiset pikatilan merkkivalot

Tässä vaiheessa kuvatut LEDit ovat valinnaisia, mutta siistejä: Jos luet tosissasi kirjaa / katselet televisiota harjoituksen aikana, et halua tuijottaa näyttöä liikaa. Mutta kaksi eriväristä LEDiä on helposti havaittavissa perifeerisessä näkökentässä, ja ne riittävät antamaan sinulle karkean käsityksen siitä, miten teet.

  • Liitä ensimmäinen (punainen) LED nastaan D6 (LEDin pidempi jalka menee Arduinolle). Kytke LED -valon lyhyt jalka Gndiin 220 ohmin vastuksen kautta. Tämä LED -valo syttyy, kun olet 10% tai enemmän alle parhaan nopeutesi harjoituksen nykyisessä vaiheessa. On aika panostaa enemmän!
  • Kytke toinen (vihreä) LED -nasta nastaan D5, jälleen vastuksella Gnd. Tämä LED -valo syttyy, kun olet 1%: n sisällä tai yli parhaan juoksuesi. Sinulla menee hyvin!

Haluatko, että LED -valot syttyvät sen mukaan, miten pärjäät edelliseen lenkkiisi verrattuna, tai mielivaltaisen keskinopeuden mukaan? Liitä vain painike nastan D4 ja Gnd väliin. Tällä painikkeella voit vaihtaa viittauksen "paras juoksu", "edellinen juoksu" tai "nykyinen nopeutesi". Pieni kirjain "P" tai "C" vasemmassa alakulmassa tarkoittaa kahta jälkimmäistä tilaa.

Vaihe 6: Virran kytkeminen ergometrinäyttöön

Virta Ergometrin näyttöön
Virta Ergometrin näyttöön

Näyttöön voi kytkeä monia tapoja, mutta mainitsen kaksi, jotka näyttävät käytännöllisemmiltä kuin toiset:

  1. Kun käytät Arduino Unoa tai Nanoa, haluat todennäköisesti käyttää sitä USB-virtapankilla, jossa on sisäänrakennettu akun varaustason ilmaisin.
  2. Kun käytät Arduino Pro Mini @ 3.3V (suosittelen kokeneille käyttäjille), voit käyttää sitä suoraan yhdestä LiPo -akusta tai kolmesta NiMH -kennosta. Koska ATMEGA sietää jopa 5,5 V: n syöttöjännitteitä, voit kytkeä sen "VCC/ACC" -laitteeseen suoraan ohittamalla sisäisen jännitesäätimen. Tässä asetuksessa tulee myös varoitus "alhainen akku" noin 3,4 V jännitteellä ilman lisälaitteistoa (näkyy oikeassa alakulmassa). Koska ATMEGA: n voidaan odottaa toimivan oikein, vähintään 3,0 V: n jännitteeseen asti, sen pitäisi antaa sinulle riittävästi aikaa harjoitusyksikön loppuun saattamiseen ennen lataamista.

Vaihe 7: Ergometrin näytön käyttäminen

Ergometrin näytön käyttäminen
Ergometrin näytön käyttäminen
Ergometrin näytön käyttäminen
Ergometrin näytön käyttäminen

Katsotaanpa tarkemmin näytön eri numeroita. Suurempi vasemman yläkulman numero on yksinkertaisesti nykyinen nopeutesi ja suurempi numero oikeassa yläkulmassa on nykyisen harjoituksesi kokonaismatka.

Seuraava rivi on keskimääräinen nopeutesi harjoituksen alusta (vasemmalla) ja aika harjoituksen alkamisesta (oikealla). Huomaa, että ajoitus pysähtyy, kun pyörä on pysäytetty.

Toistaiseksi niin triviaali. Kaksi muuta oikealla puolella olevaa riviä ovat mielenkiintoisia: Nämä vertaavat nykyistä ajoitustasi edelliseen ja parhaaseen harjoitukseen. Toisin sanoen Näiden rivien yläosassa oleva "- 0:01:23" tarkoittaa, että olet saavuttanut nykyisen matkan 1 minuutti ja 23 sekuntia aikaisemmin kuin edellisellä juoksulla. Hyvä. Alempi rivi "+ 0:00:12" tarkoittaa, että nykyiseen pisteeseen asti olet jäljessä 12 sekuntia parhaasta juoksusta. (Huomaa, että nämä eroajat eivät ole 100% tarkkoja. Aikapisteet tallennetaan.5 km / mailin välein ja interpoloidaan niiden välillä.) Välttämättä tietysti ensimmäisellä ajokerralla ei ole vielä tallennettu aikaviittauksia, ja joten molemmilla yllä olevilla riveillä näkyy vain "-:-:-".

Lopuksi näytön vasemmassa alakulmassa on kaavio nopeudestasi viimeisen minuutin aikana. Näin voit nähdä yhdellä silmäyksellä, oletko menossa tasaisesti vai hidastamassa. (Huomaa, että tämä viiva on paljon tasaisempi todellisessa harjoittelussa - mutta ei yksinkertaisesti ole helppoa ylläpitää tasaista vauhtia yrittäessäsi ottaa kuvaa …) Vaakasuorat viivat osoittavat edellisen / parhaan nopeuden, jonka saavutit lähellä edellisen pisteen nykyistä pistettä koulutuksia.

Lähelle asennetut LEDit vertaavat nykyistä nopeuttasi parhaaseen nopeuteen harjoituksen tämän vaiheen aikana. Vihreä osoittaa, että olet 1%: n sisällä parhaasta, punainen osoittaa, että olet yli 10% hitaampi kuin paras harjoittelu. Kun näet punaisen valon, on aika panostaa enemmän. Huomaa, että toisin kuin edellä kuvatut eroajat, nämä viittaavat vain harjoituksen nykyiseen osaan, eli on mahdollista, että olet jäljessä absoluuttisessa ajassa, mutta vihreä osoittaa, että olet saavuttamassa ja päinvastoin.

Molempien LEDien ohjearvoa voidaan muuttaa painikkeella. Yksi painallus vaihtaa sen parhaasta aiempaan tallennettuun harjoitukseen (pieni kirjain "P" näkyy vasemmassa alakulmassa). Toisesta painalluksesta ja nykyisestä nopeudestasi painikkeen painallushetkellä tulee uusi viitenopeus (pieni kirjain "C" näkyy). Jälkimmäinen on erityisen hyödyllinen ensimmäisen harjoituksesi aikana uuden ergometrinäytön kanssa, kun viitteitä ei ole vielä tallennettu.

Kun olet suorittanut harjoittelun, irrota akku. Harjoituksesi on jo tallennettu Arduinon sisäiseen EEPROM -muistiin.

Kuten näette, päädyin juottamaan prototyyppini. Varma merkki siitä, että pidin lopputuloksesta itsekin. Toivottavasti siitä on sinullekin hyötyä. Hyvää treenaamista!

Suositeltava: