Satura rādītājs:

Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti: 7 soļi (ar attēliem)
Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti: 7 soļi (ar attēliem)

Video: Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti: 7 soļi (ar attēliem)

Video: Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti: 7 soļi (ar attēliem)
Video: Использование плат Digispark Attiny85 Mini Arduino: Урок 108 2024, Novembris
Anonim
Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti
Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti
Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti
Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti
Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti
Vienkāršs uz Arduino balstīts ergometra displejs ar atšķirīgu atgriezenisko saiti

Kardio treniņš ir garlaicīgs, it īpaši, ja vingrojat telpās. Vairāki esošie projekti cenšas to mazināt, veicot interesantas lietas, piemēram, savienojot ergometru ar spēļu konsoli vai pat modelējot īstu velobraucienu VR. Lai cik aizraujoši tie būtu, tehniski tie neko daudz nepalīdz: treniņš joprojām ir garlaicīgs. Tā vietā es gribētu, lai treniņa laikā varētu vienkārši lasīt grāmatu vai skatīties televizoru. Bet tad ir grūti noturēt vienmērīgu tempu.

Šeit ideja ir koncentrēties uz pēdējo problēmu un sniegt tiešu atgriezenisko saiti par to, vai jūsu pašreizējais apmācības līmenis ir pietiekami labs, vai arī jums vajadzētu pielikt vairāk pūļu. Tomēr "pietiekami labs" līmenis mainīsies ne tikai katrai personai, bet arī laika gaitā (ilgtermiņā, uzlabojoties, bet arī treniņa laikā: piemēram, ir gandrīz neiespējami doties pilnā ātrumā, pirms esat iesildījies). Tāpēc šī projekta ideja ir vienkārši ierakstīt a) iepriekšējo skrējienu un b) labāko skrējienu (aka rekordu) un pēc tam sniegt tiešu atgriezenisko saiti par to, kā jums šobrīd veicas, salīdzinot ar šiem skrējieniem.

Ja tas izklausās nedaudz abstrakti, pārejiet uz 7. darbību, lai iegūtu sīkāku informāciju par to, kas tiks parādīts pabeigtajā displejā

Vēl viens šī projekta mērķis ir saglabāt lietas patiešām vienkāršas un lētas. Atkarībā no tā, kur jūs pasūtāt savas detaļas, jūs varat pabeigt šo projektu par aptuveni 5 USD (vai aptuveni 30 USD, pasūtot no augstākās klases vietējiem pārdevējiem), un, ja esat spēlējis ar Arduino vidi, iepriekš ir diezgan liela iespēja, ka jūs ir lielākā daļa vai visas nepieciešamās detaļas.

1. darbība: detaļu saraksts

Daļu saraksts
Daļu saraksts

Apskatīsim nepieciešamo lietu sarakstu:

Ar Arduino saderīgs mikroprocesors

Tiks darīts gandrīz jebkurš pēdējo gadu laikā pārdotais Arduino. Precīzam variantam (Uno / Nano / Pro Mini, 8 vai 16 MHz, 3.3. Vai 5V) nav nozīmes. Tomēr jums būs nepieciešams ATMEGA328 vai labāks procesors, jo mēs izmantosim gandrīz 2k RAM un 1k EEPROM. Ja esat iepazinies ar Arduino pasaules smalkumiem, es iesaku izmantot Pro Mini ar 3,3 V spriegumu, jo tas būs lētākais un visefektīvākais akumulators. Ja esat (salīdzinoši) iesācējs Arduino, es iesaku "Nano", jo tas nodrošina tādu pašu funkcionalitāti kā "Uno" mazākā un lētākā iepakojumā.

Ņemiet vērā, ka šī pamācība nerunās jums par pamatiem. Jums vajadzētu vismaz instalēt Arduino programmatūru un zināt, kā savienot savu Arduino un augšupielādēt skici. Ja jums nav ne jausmas, par ko es runāju, vispirms izlasiet šīs divas vienkāršās apmācības: Pirmkārt, otro.

128*64 pikseļu SSD1306 OLED displejs (I2C variants, t.i., četras tapas)

Šis ir viens no lētākajiem un vienkāršākajiem pieejamajiem displejiem. Piekrītu, tas ir niecīgs, bet pietiekami labs. Protams, ja jums jau ir līdzīgas vai labākas izšķirtspējas displejs, tā vietā to varēs izmantot, taču šī pamācība ir rakstīta SSD1306.

  • "Lodmetāla maize" un daži džemperi, lai izveidotu savu prototipu
  • 100nF keramikas kondensators (var būt vai nebūt vajadzīgs; skatīt 4. darbību)
  • Vai nu daži krokšķi, vai magnēts, niedru slēdzis un kāds kabelis (sk. 4. darbību)
  • Sarkana un zaļa gaismas diode, katra (pēc izvēles; sk. 5. darbību)
  • Divi 220 omu rezistori (ja izmanto gaismas diodes)
  • Spiedpoga (arī pēc izvēles)
  • Piemērots akumulators (skat. 6. darbību)

2. darbība: displeja pievienošana

Displeja pievienošana
Displeja pievienošana

Vispirms mēs savienosim displeju ar Arduino. Ir pieejamas detalizētas instrukcijas. Tomēr SSD1306 ir ļoti viegli savienot:

  1. Rādīt VCC -> Arduino 3.3V vai 5V (vai nu derēs)
  2. Parādīt Gnd -> Arduino Gnd
  3. Displejs SCL -> Arduino A5
  4. Displejs SCA -> Arduino A4

Pēc tam savā Arduino vidē dodieties uz Skice-> Iekļaut bibliotēku-> Pārvaldīt bibliotēkas un instalējiet "Adafruit SSD1306". Diemžēl jums būs jārediģē bibliotēka, lai to konfigurētu 128*64 pikseļu variantam: atrodiet mapi arduino "bibliotēkas" un rediģējiet "Adafruit_SSD1306/Adafruit_SSD1306.h". Atrodiet "#define SSD1306_128_32", atspējojiet šo rindu un iespējojiet "#define SSD1306_128_64".

Šajā brīdī jums jāielādē Fails-> Piemēri-> Adafruit SSD1306-> ssd1306_128x64_i2c, lai pārbaudītu, vai displejs ir pareizi pievienots. Ņemiet vērā, ka, iespējams, būs jāpielāgo I2C adrese. Šķiet, ka 0x3C ir visizplatītākā vērtība.

Ja rodas problēmas, skatiet detalizētākus norādījumus.

3. darbība: augšupielādējiet skici

Ja viss līdz šim ir darbojies, tagad ir pienācis laiks augšupielādēt faktisko skici savā Arduino. Skices kopiju atradīsit zemāk. Lai iegūtu potenciāli jaunāku versiju, skatiet github projekta lapu. (Tā kā šī ir viena faila skice, pietiek ar to, ka vienkārši nokopējat failu erogmetrino.ino savā Arduino logā).

Ja iepriekšējā solī jums bija jāmaina I2C adrese, jums atkal būs jāveic tā pati korekcija rindā, kas sākas ar "display.begin".

Pēc augšupielādes displejā vajadzētu redzēt dažas nulles. Mēs apskatīsim dažādu displeja sadaļu nozīmi pēc tam, kad viss pārējais ir pievienots.

Ņemiet vērā, ka pirmajā palaišanas reizē displejs iedegsies diezgan lēni (var aizņemt aptuveni desmit sekundes), jo skice vispirms nullēs visus EEPROM saglabātos datus.

4. solis: Ergometra pievienošana

Ergometra pieslēgšana
Ergometra pieslēgšana

Šo soli nevar vispārīgi aprakstīt, jo ne visi ergometri ir vienādi. Tomēr arī tie visi nav atšķirīgi. Ja jūsu ergometrā vispār ir iekļauts elektronisks ātruma displejs, tam ir jābūt elektroniskam sensoram, lai noteiktu pedāļu apgriezienus vai kādu (iespējams, iekšēju) mušu riteni. Daudzos gadījumos tas vienkārši sastāv no magnēta, kas iet tuvu niedru slēdzim (skatīt arī zemāk). Katru reizi, kad magnēts iet garām, slēdzis tiks aizvērts, norādot vienu apgriezienu ātruma displejā.

Pirmā lieta, kas jums jādara, ir pārbaudīt ienākošo kabeļu ātruma displeju jūsu ergometrā. Ja atrodat divu vadu kabeli, kas nāk kaut kur no ergometra, jūs gandrīz noteikti esat atradis savienojumu ar sensoru. Un ar nelielu veiksmi jūs varat to vienkārši atvienot no elektrotīkla un vienkārši savienot to ar savu Arduino ar dažiem krokšķiem (es jums pastāstīšu, ar kādām tapām pieslēgties pēc minūtes).

Tomēr, ja nevarat atrast šādu kabeli, jūtaties pārliecināts, vai atradāt pareizo, vai nevarat to atvienot, neko nesabojājot, varat vienkārši piestiprināt nelielu magnētu pie viena no pedāļiem un piestiprināt niedru slēdzi pie erogmetra rāmja., tā, ka magnēts tam ļoti cieši paies garām. Savienojiet divus vadus ar slēdzi un novietojiet tos pie sava Arduino.

Pievienojiet divus vadus (gan jūsu, gan esošā sensora) pie Arduino Gnd un Arduino tapas D2. Ja jums tas ir pie rokas, pievienojiet arī 100nF kondensatoru starp tapu D2 un Gnd, lai veiktu "atkāpšanos". Tas var būt vai nebūt vajadzīgs, bet palīdz stabilizēt rādījumus.

Kad esat pabeidzis, ir pienācis laiks ieslēgt Arduino un uzkāpt uz velosipēda, lai veiktu pirmo ātro pārbaudi. Augšējā kreisajā numurā jāsāk rādīt ātruma mērījumu. Ja tas nedarbojas, pārbaudiet visu vadu un pārliecinieties, vai magnēts ir pietiekami tuvu niedru slēdzim. Ja ātruma mērījums pastāvīgi šķiet pārāk augsts vai pārāk zems, vienkārši pielāgojiet skices augšdaļā esošo definīciju "CM_PER_CLICK" (piezīme: skicē tiek izmantoti metrikas nosaukumi, bet nekur netiek rādītas vai saglabātas vienības, tāpēc vienkārši ignorējiet to un piegādājiet 100 000. jūdzes par klikšķi).

5. darbība: papildu ātrās statusa gaismas diodes

Papildu ātrās statusa gaismas diodes
Papildu ātrās statusa gaismas diodes

Šajā solī aprakstītās gaismas diodes nav obligātas, taču glītas: ja vingrošanas laikā nopietni lasāt grāmatu / skatāties televizoru, nevēlaties pārāk daudz skatīties uz displeju. Bet divi gaismas diodes dažādās krāsās būs viegli pamanāmi perifērā redzējumā, un ar tiem pietiks, lai sniegtu aptuvenu priekšstatu par to, kā jums iet.

  • Pievienojiet pirmo (sarkano) gaismas diodi tapai D6 (garāka gaismas diodes kājiņa iet uz Arduino). Savienojiet gaismas diodes īso kāju ar Gnd, izmantojot rezistoru 220 omi. Šī gaismas diode iedegsies, kad treniņa pašreizējā fāzē esat par 10% vai vairāk zem labākā ātruma. Laiks pielikt vairāk pūļu!
  • Pievienojiet otro (zaļo) gaismas diodi kontaktam D5, atkal ar rezistoru pie Gnd. Šī gaismas diode iedegsies, kad esat sasniedzis 1%vai vairāk no jūsu labākās darbības. Tev iet labi!

Vai vēlaties, lai gaismas diodes iedegtos atkarībā no tā, kā jums veicas, salīdzinot ar iepriekšējo braucienu, vai patvaļīgu vidējo ātrumu? Vienkārši pievienojiet spiedpogu starp tapu D4 un Gnd. Izmantojot šo pogu, jūs varat pārslēgties starp “labāko skrējienu”, “iepriekšējo skrējienu” vai “pašreizējo ātrumu”. Neliels burts "P" vai "C" apakšējā kreisajā stūrī apzīmē pēdējos divus režīmus.

6. darbība. Ergometra displeja barošana

Ergometra displeja barošana
Ergometra displeja barošana

Ir daudz veidu, kā darbināt displeju, taču es norādīšu divus, kas šķiet praktiskāki nekā citi:

  1. Izmantojot Arduino Uno vai Nano, jūs, iespējams, vēlaties to barot, izmantojot USB barošanas banku ar iebūvētu zema akumulatora indikāciju.
  2. Izmantojot Arduino Pro Mini @ 3.3V (mans ieteikums pieredzējušiem lietotājiem), varat to darbināt tieši no viena LiPo akumulatora vai trim NiMH šūnām. Tā kā ATMEGA panes barošanas spriegumu līdz 5,5 V, varat to tieši savienot ar "VCC/ACC", apejot iebūvēto sprieguma regulatoru. Šajā iestatījumā būs arī brīdinājums par "zems akumulatora uzlādes līmenis" pie aptuveni 3,4 V, bez papildu aparatūras (tiek parādīts apakšējā labajā stūrī). Tā kā var sagaidīt, ka ATMEGA darbosies pareizi, vismaz līdz 3,0 V, tam vajadzētu atstāt pietiekami daudz laika, lai pabeigtu treniņu pirms uzlādes.

7. darbība. Ergometra displeja izmantošana

Ergometra displeja izmantošana
Ergometra displeja izmantošana
Ergometra displeja izmantošana
Ergometra displeja izmantošana

Sīkāk apskatīsim dažādus skaitļus jūsu displejā. Lielāks augšējā kreisā skaitlis ir vienkārši jūsu pašreizējais ātrums, un lielāks skaitlis augšējā labajā stūrī ir kopējais attālums jūsu pašreizējā treniņā.

Nākamā rinda ir jūsu vidējais ātrums kopš treniņa sākuma (pa kreisi) un laiks kopš treniņa sākuma (pa labi). Ņemiet vērā, ka laiks tiek apturēts, kamēr velosipēds ir apturēts.

Līdz šim tik triviāli. Divas turpmākās līnijas labajā pusē kļūst interesantas: tās salīdzina jūsu pašreizējo laiku ar iepriekšējo un labāko treniņu. T.i. a "- 0:01:23" šo līniju augšdaļā nozīmēs, ka esat sasniedzis pašreizējo distanci 1 minūti un 23 sekundes agrāk nekā iepriekšējā skrējienā. Labi. Zemāka līnija "+ 0:00:12" nozīmēs, ka līdz pašreizējam punktam jūs atpaliekat par 12 sekundēm no labākā skrējiena. (Ņemiet vērā, ka šie atšķirīgie laiki nebūs 100% precīzi. Laika punkti tiek saglabāti ik pēc 5 km / jūdzēm un tiek interpolēti starp tiem.) Protams, pirmajā braucienā, protams, vēl nav reģistrētas laika atsauces, un tāpēc abās iepriekš minētajās rindās būs redzams tikai "-:-:-".

Visbeidzot, displeja kreisajā apakšējā daļā ir grafiks par jūsu ātrumu pēdējā minūtē. Tas ļauj vienā mirklī redzēt, vai iet vienmērīgi vai palēnināt ātrumu. (Ņemiet vērā, ka šī līnija būs daudz vienmērīgāka reālos treniņos, bet vienkārši nav viegli saglabāt vienmērīgu tempu, mēģinot fotografēt …) Horizontālās līnijas norāda iepriekšējo / labāko ātrumu, ko esat sasniedzis tuvu iepriekšējam punktam apmācības.

Gaismas diodes, kas uzstādītas tuvu augšai, salīdzina jūsu pašreizējo ātrumu ar labāko ātrumu šajā apmācības posmā. Zaļā krāsa parāda, ka esat 1% robežās no labākā rezultāta, bet sarkanais - par vairāk nekā 10% lēnāks nekā labākais treniņš. Kad redzat sarkano gaismu, ir pienācis laiks pielikt vairāk pūļu. Ņemiet vērā, ka pretēji iepriekš aprakstītajiem atšķirīgajiem laikiem tie attiecas tikai uz pašreizējo apmācības daļu, t.i., iespējams, jūs atpaliekat absolūtajā laikā, bet zaļā krāsa norāda, ka jūs tuvojaties, un otrādi.

Atskaites ātrumu, ko izmanto abām gaismas diodēm, var mainīt, izmantojot spiedpogu. Ar vienu nospiešanu tas tiks pārslēgts no labākās uz iepriekš ierakstīto treniņu (kreisajā apakšējā stūrī parādīsies mazs burts "P"). Vēl viens spiediens un jūsu pašreizējais ātrums pogas nospiešanas brīdī kļūs par jauno atsauces ātrumu (tiks parādīts mazs burts "C"). Pēdējais ir īpaši noderīgs pirmā treniņa laikā, izmantojot jauno ergometra displeju, kad atsauce vēl nav reģistrēta.

Kad esat pabeidzis treniņu, vienkārši atvienojiet akumulatoru. Jūsu apmācība jau ir saglabāta jūsu Arduino iekšējā EEPROM.

Kā redzat, es beidzot pielodēju savu prototipu. Skaidra zīme, ka man patika rezultāts. Es ceru, ka arī jums tas noderēs. Laimīgu vingrošanu!

Ieteicams: