Turinys:

Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais: 7 žingsniai (su nuotraukomis)
Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais: 7 žingsniai (su nuotraukomis)

Video: Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais: 7 žingsniai (su nuotraukomis)

Video: Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais: 7 žingsniai (su nuotraukomis)
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Lapkritis
Anonim
Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais
Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais
Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais
Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais
Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais
Paprastas „Arduino“ergometro ekranas su skirtingais atsiliepimais

Kardio treniruotės yra nuobodžios, ypač sportuojant patalpose. Kai kurie esami projektai bando tai palengvinti atlikdami įdomius dalykus, pavyzdžiui, prijungę ergometrą prie žaidimų konsolės ar net imituodami tikrą važiavimą dviračiu VR. Kad ir kokie jaudinantys jie būtų, techniškai jie nelabai padeda: treniruotės vis dar nuobodžios. Taigi norėčiau, kad treniruotės metu galėčiau tiesiog skaityti knygą ar žiūrėti televizorių. Bet tada sunku išlaikyti pastovų tempą.

Čia idėja yra sutelkti dėmesį į pastarąją problemą ir pateikti tiesioginį grįžtamąjį ryšį, ar jūsų dabartinis mokymo lygis yra pakankamai geras, ar turėtumėte dėti daugiau pastangų. Tačiau „pakankamai geras“lygis skirsis ne tik kiekvienam asmeniui, bet ir laikui bėgant (ilgainiui, tobulėjant, bet ir treniruotės metu: pvz., Beveik neįmanoma eiti visu greičiu, kol pašildytas). Todėl šio projekto idėja yra tiesiog įrašyti a) ankstesnį bėgimą ir b) geriausią bėgimą (dar žinomą kaip geriausias rezultatas), o tada pateikti tiesioginį grįžtamąjį ryšį apie tai, kaip jums šiuo metu sekasi, palyginti su šiais bėgimais.

Jei tai skamba šiek tiek abstrakčiai, pereikite prie 7 veiksmo, kad sužinotumėte, kas bus rodoma užbaigtame ekrane

Kitas šio projekto tikslas - kad viskas būtų paprasta ir pigu. Priklausomai nuo to, kur užsakote savo dalis, galite užbaigti šį projektą už maždaug 5 USD (arba apie 30 USD, kai užsisakote iš aukščiausios kokybės vietinių pardavėjų), o jei žaidėte su „Arduino“aplinka, anksčiau yra gana didelė tikimybė, kad jau turi daugumą ar visas reikalingas dalis.

1 žingsnis: dalių sąrašas

Dalių sąrašas
Dalių sąrašas

Peržiūrėkime jums reikalingų dalykų sąrašą:

Su „Arduino“suderinamas mikroprocesorius

Tiks beveik visi „Arduino“, parduodami per pastaruosius kelerius metus. Tikslus variantas („Uno / Nano / Pro Mini“, 8 arba 16 MHz, 3,3. Arba 5 V) nesvarbus. Tačiau jums reikės ATMEGA328 ar geresnio procesoriaus, nes naudosime beveik 2 tūkst. RAM ir 1 tūkst. EEPROM. Jei esate susipažinę su „Arduino“pasaulio niuansais, aš rekomenduoju naudoti „Pro Mini“esant 3,3 V įtampai, nes tai bus pigiausia ir efektyviausia baterija. Jei esate (palyginti) naujokas „Arduino“, rekomenduoju „Nano“, nes jis suteikia tokias pačias funkcijas kaip ir „Uno“mažesnėje ir pigesnėje pakuotėje.

Atminkite, kad ši instrukcija neapsiribos pagrindais. Turėtumėte bent jau įdiegti „Arduino“programinę įrangą ir žinoti, kaip prijungti „Arduino“ir įkelti eskizą. Jei neturite supratimo, apie ką aš kalbu, pirmiausia perskaitykite šias dvi paprastas pamokas: Pirma, antra.

128*64 pikselių SSD1306 OLED ekranas (I2C variantas, t. Y. Keturi kaiščiai)

Tai yra vienas pigiausių ir lengviausių šiandien prieinamų ekranų. Sutinku, jis mažas, bet pakankamai geras. Žinoma, jei jau turite panašios ar geresnės skiriamosios gebos ekraną, tai bus galima naudoti, tačiau ši instrukcija parašyta SSD1306.

  • „Lituoklių neturinti duonos lenta“ir tam tikra jungiamoji viela jūsų prototipui sukurti
  • 100nF keraminis kondensatorius (gali prireikti arba nebūti; žr. 4 veiksmą)
  • Arba kai kurie krokodilai, arba magnetas, nendrinis jungiklis ir tam tikras kabelis (žr. 4 veiksmą)
  • Raudonas ir žalias šviesos diodas (nebūtina; žr. 5 veiksmą)
  • Du 220 omų rezistoriai (jei naudojami šviesos diodai)
  • Mygtukas (taip pat neprivalomas)
  • Tinkama baterija (žr. 6 veiksmą)

2 veiksmas: ekrano prijungimas

Ekrano prijungimas
Ekrano prijungimas

Pirmiausia prijungsime ekraną prie „Arduino“. Yra išsamios instrukcijos. Tačiau SSD1306 tikrai lengva prijungti:

  1. Rodyti VCC -> „Arduino 3.3V“arba 5V (bet kuris veiks)
  2. Rodyti Gnd -> Arduino Gnd
  3. Rodyti SCL -> „Arduino A5“
  4. Rodyti SCA -> „Arduino A4“

Tada „Arduino“aplinkoje eikite į „Eskizas“-„Įtraukti biblioteką“-„Tvarkyti bibliotekas“ir įdiekite „Adafruit SSD1306“. Deja, turėsite redaguoti biblioteką, kad sukonfigūruotumėte ją 128*64 pikselių variantui: suraskite savo arduino „bibliotekų“aplanką ir redaguokite „Adafruit_SSD1306/Adafruit_SSD1306.h“. Ieškokite „#define SSD1306_128_32“, išjunkite šią eilutę ir įgalinkite „#define SSD1306_128_64“.

Šiuo metu turėtumėte įkelti Failas-> Pavyzdžiai-> Adafruit SSD1306-> ssd1306_128x64_i2c, kad patikrintumėte, ar ekranas prijungtas teisingai. Atminkite, kad gali tekti koreguoti I2C adresą. 0x3C yra labiausiai paplitusi vertė.

Iškilus problemoms, žiūrėkite išsamesnę instrukciją.

3 veiksmas: įkelkite eskizą

Jei viskas pavyko, iki šiol atėjo laikas įkelti tikrąjį eskizą į „Arduino“. Žemiau rasite eskizo kopiją. Galimos naujesnės versijos ieškokite „github“projekto puslapyje. (Kadangi tai yra vieno failo eskizas, pakanka tiesiog nukopijuoti failą erogmetrino.ino į „Arduino“langą).

Jei ankstesniame žingsnyje turėjote keisti I2C adresą, turėsite tą patį koreguoti dar kartą dabar eilutėje, prasidedančioje „display.begin“.

Įkėlę turėtumėte matyti kai kuriuos nulius, rodomus jūsų ekrane. Pažiūrėsime į įvairių ekrano dalių reikšmes, kai visa kita bus prijungta.

Atkreipkite dėmesį, kad pirmą kartą paleidus, ekranas užsidegs gana lėtai (gali užtrukti iki maždaug dešimt sekundžių), nes eskizas iš pradžių panaikins visus EEPROM saugomus duomenis.

4 žingsnis: Ergometro prijungimas

Ergometro prijungimas
Ergometro prijungimas

Šio žingsnio negalima apibūdinti visuotinai, nes ne visi ergometrai yra vienodi. Tačiau jie taip pat nėra skirtingi. Jei jūsų ergometre apskritai yra elektroninis greičio indikatorius, jis turi turėti elektroninį jutiklį, kad būtų galima aptikti pedalų ar kažkurio (galbūt vidinio) rato apsisukimus. Daugeliu atvejų tai tiesiog susideda iš magneto, einančio šalia nendrinio jungiklio (taip pat žr. Toliau). Kiekvieną kartą, kai magnetas praeina, jungiklis užsidaro, rodydamas vieną apsisukimą greičio ekrane.

Pirmas dalykas, kurį turėtumėte padaryti, yra ištirti įeinančių kabelių ergometro greičio ekraną. Jei radote dviejų laidų kabelį, esantį kažkur iš ergometro, beveik neabejotinai radote ryšį su jutikliu. Turėdami šiek tiek sėkmės, galite tai tiesiog atjungti ir tiesiog prijungti prie „Arduino“naudodami tam tikrus spaustukus (aš jums pasakysiu, prie kokių kaiščių prisijungti per minutę).

Tačiau jei tokio kabelio nerandate, nesate tikri, ar radote tinkamą, arba negalite jo atjungti nieko nepažeisdami, galite tiesiog priklijuoti mažą magnetą prie vieno iš pedalų ir pritvirtinti nendrinį jungiklį prie savo erogmeterio rėmo, kad magnetas pro jį praeitų labai arti. Prijunkite du laidus prie jungiklio ir prijunkite juos prie „Arduino“.

Prijunkite du laidus (tiek savo, tiek esamų jutiklių) prie „Arduino Gnd“ir „Arduino“kaiščio D2. Jei turite po ranka, taip pat prijunkite 100 nF kondensatorių tarp kaiščio D2 ir Gnd, kad „atsikratytumėte“. Tai gali būti nereikalinga, bet gali padėti stabilizuoti rodmenis.

Kai baigsite, laikas įjungti „Arduino“ir sėsti ant dviračio, kad atliktumėte pirmąjį greitą testą. Viršutiniame kairiajame skaičiuje turėtų būti rodomas greičio matas. Jei tai neveikia, patikrinkite visus laidus ir įsitikinkite, kad magnetas yra pakankamai arti nendrinio jungiklio. Jei greičio matas nuolat atrodo per didelis arba per mažas, tiesiog pakoreguokite eskizo viršuje esantį apibrėžimą „CM_PER_CLICK“(pastaba: eskizas naudoja metrikos pavadinimus, bet vienetai niekur nerodomi ir neišsaugomi, todėl tiesiog ignoruokite tai ir už 100 000 tūkstančių mylių už paspaudimą).

5 veiksmas: pasirenkami greitos būsenos šviesos diodai

Pasirenkami greitos būsenos šviesos diodai
Pasirenkami greitos būsenos šviesos diodai

Šiame žingsnyje aprašyti šviesos diodai yra neprivalomi, tačiau tvarkingi: jei sportuodami rimtai skaitote knygą / žiūrite televizorių, nenorite per daug žiūrėti į ekraną. Tačiau du skirtingų spalvų šviesos diodai bus lengvai pastebimi periferiniame regėjime ir jų pakaks, kad apytiksliai suprastumėte, kaip jums sekasi.

  • Prijunkite pirmąjį (raudoną) šviesos diodą prie kaiščio D6 (ilgesnė šviesos diodo kojelė eina į „Arduino“). Prijunkite trumpą šviesos diodo kojelę prie „Gnd“per 220 omų rezistorių. Šis šviesos diodas užsidegs, kai būsite 10% ar daugiau mažesnis už geriausią greitį dabartinėje treniruotės fazėje. Laikas įdėti daugiau pastangų!
  • Antrą (žalią) šviesos diodą prijunkite prie D5 kaiščio, dar kartą su rezistoriumi prie Gnd. Šis šviesos diodas užsidegs, kai būsite ne daugiau kaip 1%ar geriau, nei važiavote geriausiai. Tau sekasi!

Norite, kad šviesos diodai užsidegtų priklausomai nuo to, kaip jums sekasi, palyginti su ankstesniu važiavimu, ar nuo savavališko vidutinio greičio? Na, tiesiog prijunkite mygtuką tarp kaiščio D4 ir Gnd. Naudodami šį mygtuką galite perjungti nuorodą „geriausias jūsų bėgimas“, „ankstesnis važiavimas“arba „dabartinis greitis“. Maža raidė „P“arba „C“apatiniame kairiajame kampe reiškia du paskutinius režimus.

6 veiksmas: įjunkite ergometro ekraną

Ergometro ekrano maitinimas
Ergometro ekrano maitinimas

Yra daug būdų, kaip įjungti ekraną, tačiau nurodysiu du, kurie atrodo praktiškesni nei kiti:

  1. Kai naudojate „Arduino Uno“arba „Nano“, tikriausiai norite jį maitinti naudodami USB maitinimo bloką su įmontuota mažos baterijos indikacija.
  2. Kai naudojate „Arduino Pro Mini @ 3.3V“(mano rekomendacija pažengusiems vartotojams), galite jį maitinti tiesiogiai iš vienos „LiPo“baterijos arba trijų NiMH elementų. Kadangi ATMEGA toleruoja iki 5,5 V maitinimo įtampą, galite ją tiesiogiai prijungti prie „VCC/ACC“, aplenkdami borto įtampos reguliatorių. Šioje sąrankoje taip pat bus įspėjimas apie „išsikrovusią bateriją“esant maždaug 3,4 V įtampai, be jokios papildomos įrangos (rodoma apatiniame dešiniajame kampe). Kadangi galima tikėtis, kad ATMEGA veiks tinkamai, bent jau iki 3,0 V įtampos, tai jums liks pakankamai laiko baigti treniruotę prieš įkraunant.

7 žingsnis: Ergometro ekrano naudojimas

Ergometro ekrano naudojimas
Ergometro ekrano naudojimas
Ergometro ekrano naudojimas
Ergometro ekrano naudojimas

Pažvelkime atidžiau į įvairius numerius jūsų ekrane. Didesnis viršutinis kairysis skaičius yra tiesiog jūsų dabartinis greitis, o didesnis skaičius viršutiniame dešiniajame - bendras jūsų dabartinės treniruotės atstumas.

Kita eilutė yra jūsų vidutinis greitis nuo treniruotės pradžios (kairėje) ir laikas nuo treniruotės pradžios (dešinėje). Atminkite, kad laikas sustabdomas, kai dviratis yra sustabdytas.

Kol kas nereikšminga. Dvi kitos dešinėje pusėje esančios eilutės yra įdomios: jos atitinkamai palygina jūsų dabartinį laiką su ankstesniu ir geriausiu mokymu. T.y. a "- 0:01:23" viršutinėje šių eilučių eilutėje reiškia, kad dabartinę distanciją pasiekėte 1 minute ir 23 sekundėmis anksčiau nei ankstesnio bėgimo metu. Gerai. Žemesnė „+ 0:00:12“linija reiškia, kad iki dabartinio taško atsiliekate 12 sekundžių nuo geriausio bėgimo. (Atminkite, kad šie skirtingi laikai nebus 100% tikslūs. Laiko taškai saugomi kas.5 km / mylių ir tarp jų interpoluojami.) Žinoma, pirmajame bėgime neišvengiama jokių laiko nuorodų, tačiau taigi abi minėtos eilutės tiesiog parodys „-:-:-“.

Galiausiai apatiniame kairiajame ekrano regione yra jūsų greičio per paskutinę minutę grafikas. Tai leidžia iš pirmo žvilgsnio pamatyti, ar einate stabiliai, ar lėtėjate. (Atkreipkite dėmesį, kad ši linija bus daug sklandesnė tikros treniruotės metu, bet tiesiog nėra lengva išlaikyti pastovų tempą bandant fotografuoti …) Horizontalios linijos rodo ankstesnį / geriausią greitį, kurį pasiekėte netoli dabartinio ankstesnio taško treniruotes.

Šviesos diodai, sumontuoti šalia viršaus, palygina jūsų dabartinį greitį su geriausiu greičiu per šį mokymo etapą. Žalia spalva rodo, kad esate ne daugiau kaip 1% savo geriausių rezultatų, o raudona spalva rodo, kad esate daugiau nei 10% lėtesnis nei jūsų treniruotės. Kai pamatysite raudoną šviesą, laikas dar labiau pasistengti. Atminkite, kad priešingai nei aprašytas aukščiau aprašytas laikas, jie yra susiję tik su dabartine mokymo dalimi, t. Y. Gali būti, kad atsiliekate absoliučiu laiku, tačiau žalia spalva rodo, kad artėjate, ir atvirkščiai.

Atskaitos greitį, naudojamą dviem šviesos diodams, galima pakeisti naudojant mygtuką. Vienas paspaudimas pakeis jį iš geriausios į ankstesnę įrašytą treniruotę (maža raidė „P“bus rodoma apatiniame kairiajame kampe). Kitas paspaudimas ir jūsų dabartinis greitis mygtuko paspaudimo metu taps nauju atskaitos greičiu (bus rodoma maža raidė „C“). Pastarasis yra ypač naudingas per pirmąsias treniruotes su nauju ergometro ekranu, kai dar nebuvo užfiksuota jokia nuoroda.

Baigę treniruotę, tiesiog atjunkite akumuliatorių. Jūsų mokymai jau buvo išsaugoti jūsų „Arduino“vidiniame EEPROM.

Kaip matote, aš baigiau lituoti savo prototipą. Aišku ženklas, kad man patiko rezultatas. Tikiuosi, kad ir jums tai bus naudinga. Laimingos mankštos!

Rekomenduojamas: