Përmbajtje:

Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale: 7 hapa (me fotografi)
Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale: 7 hapa (me fotografi)

Video: Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale: 7 hapa (me fotografi)

Video: Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale: 7 hapa (me fotografi)
Video: CS50 2015 – 10-я неделя 2024, Nëntor
Anonim
Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale
Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale
Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale
Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale
Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale
Ekran i thjeshtë Ergometri i bazuar në Arduino me reagime diferenciale

Kardio-stërvitja është e mërzitshme, veçanërisht kur stërviteni në ambiente të mbyllura. Disa projekte ekzistuese përpiqen ta lehtësojnë këtë duke bërë gjëra të mrekullueshme siç është bashkimi i ergometrit me një tastierë lojërash, apo edhe simulimi i një udhëtimi të vërtetë me biçikletë në VR. Sado emocionuese që janë këto, teknikisht, ato nuk ndihmojnë vërtet: Stërvitja është ende e mërzitshme. Kështu, në vend të kësaj, do të doja të isha në gjendje të lexoja vetëm një libër ose të shikoja TV gjatë stërvitjes. Por atëherë është e vështirë të mbash një ritëm të qëndrueshëm.

Ideja, këtu, është që të përqendroheni në problemin e fundit dhe të siguroni reagime të drejtpërdrejta, nëse niveli juaj aktual i trajnimit është mjaft i mirë, apo duhet të bëni më shumë përpjekje. Sidoqoftë, niveli "mjaft i mirë" do të ndryshojë jo vetëm për person, por edhe me kalimin e kohës (afatgjatë, ndërsa përmirësoheni, por edhe brenda një sesioni trajnimi: për shembull, është pothuajse e pamundur të ecësh me shpejtësi të plotë para se të kesh të ngrohur). Prandaj, ideja pas këtij projekti është thjesht të regjistroni a) vrapimin e mëparshëm dhe b) vrapimin më të mirë (aka rezultati më i lartë), dhe më pas të jepni reagime të drejtpërdrejta se si jeni duke kaluar aktualisht në krahasim me ato vrapime.

Nëse kjo tingëllon pak abstrakte, kaloni te Hapi 7 për detaje se çfarë do të shfaqë ekrani i përfunduar

Një qëllim tjetër i këtij projekti është t'i mbajë gjërat me të vërtetë të thjeshta dhe të lira. Në varësi të vendit ku porositni pjesët tuaja, mund ta përfundoni këtë projekt për rreth 5 dollarë (ose rreth 30 dollarë kur porositni nga shitësit premium vendas), dhe nëse keni luajtur me mjedisin Arduino, më parë, ekziston një shans mjaft i mirë që ju tashmë keni shumicën ose të gjitha pjesët që ju nevojiten.

Hapi 1: Lista e Pjesëve

Lista e Pjesëve
Lista e Pjesëve

Le të kalojmë nëpër listën e gjërave që ju nevojiten:

Një mikroprocesor i pajtueshëm me Arduino

Pothuajse çdo Arduino e shitur gjatë viteve të fundit do të bëjë. Varianti i saktë (Uno / Nano / Pro Mini, 8 ose 16 MHz, 3.3. Ose 5V) nuk ka rëndësi. Sidoqoftë, do t'ju duhet një procesor ATMEGA328 ose më mirë, sepse ne do të përdorim pothuajse 2km RAM dhe 1kEEPROM. Nëse jeni njohur me hollësitë e botës Arduino, unë rekomandoj të përdorni një Pro Mini në 3.3V, pasi do të jetë më i lirë dhe më efikas në bateri. Nëse jeni (relativisht) i ri në Arduino, unë rekomandoj një "Nano" pasi ofron të njëjtin funksionalitet si një "Uno" në një paketë më të vogël dhe më të lirë.

Vini re se kjo e udhëzueshme nuk do t'ju flasë për bazat. Së paku duhet të keni të instaluar programin Arduino dhe të dini si ta lidhni Arduino -n tuaj dhe të ngarkoni një skicë. Nëse nuk e keni idenë, për çfarë po flas, lexoni këto dy mësime të thjeshta, së pari: Së pari, së dyti.

Një ekran OLED 128*64 piksel SSD1306 (variant I2C, domethënë katër kunja)

Ky është një nga ekranet më të lirë dhe më të lehtë në dispozicion, sot. Dakord, është e vogël, por mjaft mirë. Sigurisht, nëse tashmë keni një ekran me rezolucion të ngjashëm ose më të mirë, do të jetë e mundur ta përdorni atë, në vend të kësaj, por kjo udhëzues është shkruar për një SSD1306.

  • Një "dërrasë buke pa saldim" dhe disa tela bluzë, për ndërtimin e prototipit tuaj
  • Një kondensator qeramik 100nF (mund ose nuk mund të jetë i nevojshëm; shiko hapin 4)
  • Ose disa kapëse, ose një magnet, një ndërprerës kallami dhe një kabllo (shiko hapin 4)
  • Një LED i kuq dhe i gjelbër, secili (opsional; shiko hapin 5)
  • Dy rezistorë 220Ohm (nëse përdorni LED)
  • Një buton (gjithashtu opsional)
  • Një bateri e përshtatshme (shiko hapin 6)

Hapi 2: Lidhja e ekranit

Lidhja e ekranit
Lidhja e ekranit

Si gjëja e parë, ne do ta lidhim ekranin me Arduino. Udhëzimet e hollësishme janë në dispozicion. Sidoqoftë, SSD1306 është me të vërtetë e lehtë për t'u lidhur:

  1. Shfaq VCC -> Arduino 3.3V ose 5V (ose do të bëjë)
  2. Shfaq Gnd -> Arduino Gnd
  3. Shfaq SCL -> Arduino A5
  4. Shfaq SCA -> Arduino A4

Tjetra, në mjedisin tuaj Arduino shkoni te Sketch-> Include library-> Manage bibliotekat dhe instaloni "Adafruit SSD1306". Fatkeqësisht, do t'ju duhet të redaktoni bibliotekën në mënyrë që ta konfiguroni atë për variantin 128*64 piksel: gjeni dosjen tuaj "bibliotekat" arduino dhe redaktoni "Adafruit_SSD1306/Adafruit_SSD1306.h". Kërkoni për "#define SSD1306_128_32", çaktivizoni atë linjë dhe aktivizoni "#define SSD1306_128_64".

Në këtë pikë ju duhet të ngarkoni Skedarin-> Shembuj-> Adafruit SSD1306-> ssd1306_128x64_i2c në mënyrë që të provoni se ekrani juaj është i lidhur, në mënyrë korrekte. Vini re se mund t'ju duhet të rregulloni adresën I2C. 0x3C duket të jetë vlera më e zakonshme.

Në rast problemi, referojuni udhëzimeve më të hollësishme.

Hapi 3: Ngarko Skicën

Nëse gjithçka funksionoi, deri më tani, tani është koha për të ngarkuar skicën aktuale në Arduino tuaj. Më poshtë do të gjeni një kopje të skicës. Për një version potencialisht më të fundit, referojuni faqes së projektit github. (Meqenëse ky është një skicë e vetme e skedarit, mjafton vetëm të kopjoni skedarin erogmetrino.ino në dritaren tuaj Arduino).

Nëse ju është dashur të modifikoni adresën I2C në hapin e mëparshëm, do të duhet të bëni të njëjtin rregullim, përsëri, tani, në rreshtin që fillon me "display.begin".

Pas ngarkimit, duhet të shihni disa zero që shfaqen në ekranin tuaj. Ne do të shikojmë kuptimin e seksioneve të ndryshme të ekranit, pasi gjithçka tjetër është e lidhur.

Vini re se në fillimin e parë, ekrani do të ndizet mjaft ngadalë (mund të zgjasë deri në rreth dhjetë sekonda), pasi skica do të zero çdo të dhënë të ruajtur në EEPROM, së pari.

Hapi 4: Lidhja e Ergometrit

Lidhja e Ergometrit
Lidhja e Ergometrit

Ky hap nuk mund të përshkruhet vërtet në mënyrë universale, pasi jo të gjithë ergometrat janë të njëjtë. Sidoqoftë, as ata nuk janë të ndryshëm. Nëse ergometri juaj përfshin një ekran elektronik të shpejtësisë, ai duhet të ketë një sensor elektronik për të zbuluar rrotullimet e pedaleve, ose ndonjë rrotë fluturimi (ndoshta të brendshme), diku. Në shumë raste, ai thjesht do të përbëhet nga një magnet që kalon pranë një ndërprerës kallami (shiko gjithashtu, më poshtë). Sa herë që magneti kalon, çelësi do të mbyllet, duke sinjalizuar një revolucion në ekranin e shpejtësisë.

Gjëja e parë që duhet të bëni është të ekzaminoni shfaqjen e shpejtësisë në ergometrin tuaj për kabllot në hyrje. Nëse gjeni një kabllo me dy tela që vjen diku nga brenda ergometrit, pothuajse me siguri e keni gjetur lidhjen me sensorin. Dhe me pak fat ju thjesht mund ta shkëputni këtë prizë dhe thjesht lidheni atë me Arduino-n tuaj me disa kapëse (do t'ju tregoj se me cilat kunja të lidheni në një minutë).

Sidoqoftë, nëse nuk mund të gjeni një kabllo të tillë, ndiheni të pasigurt nëse e keni gjetur atë të duhurin, ose nuk mund ta shkëputni atë pa dëmtuar asgjë, thjesht mund të ngjitni një magnet të vogël në njërën prej pedaleve dhe të rregulloni një ndërprerës kallami në kornizën e erogmetrit tuaj., i tillë që magneti do të kalojë pranë tij shumë ngushtë. Lidhni dy tela në ndërprerës dhe drejtojini ato në Arduino tuaj.

Lidhni dy telat (qofshin tuajat, ose ato nga një sensor ekzistues) do të shkojnë te Arduino Gnd, dhe Arduino pin D2. Nëse keni një në dorë, lidhni edhe kondensatorin 100nF midis pin D2 dhe Gnd për disa "debouncing". Kjo mund ose nuk mund të jetë e nevojshme, por ndihmon në stabilizimin e leximeve.

Kur të mbaroni, është koha për të fuqizuar Arduino -n tuaj dhe hipni në biçikletë për një provë të parë të shpejtë. Numri i sipërm i majtë duhet të fillojë të tregojë një masë shpejtësie. Nëse kjo nuk funksionon, kontrolloni të gjitha instalimet elektrike dhe sigurohuni që magneti të jetë mjaft afër çelësit të kallamit. Nëse masa e shpejtësisë duket vazhdimisht shumë e lartë ose shumë e ulët, thjesht rregulloni përkufizimin "CM_PER_CLICK" pranë majës së skicës (shënim: skica përdor emra metrikë, por asnjë njësi nuk shfaqet ose ruhet, kudo, kështu që thjesht injorojeni atë, dhe furnizoni 100 mijë të mijat për një klikim).

Hapi 5: LED -të opsionale të statusit të shpejtë

LED opsional të statusit të shpejtë
LED opsional të statusit të shpejtë

LED -të e përshkruara në këtë hap janë opsionale, por të pastra: Nëse jeni serioz në lidhje me leximin e një libri / shikimin e televizorit gjatë stërvitjes, nuk doni të shikoni shumë ekranin. Por dy LED me ngjyra të ndryshme do të jenë lehtësisht të dukshme në vizionin periferik dhe do të jenë të mjaftueshme për t'ju dhënë një ide të përafërt, se si jeni.

  • Lidhni LED -in e parë (të kuq) në pin D6 (këmba më e gjatë e LED shkon tek Arduino). Lidhni këmbën e shkurtër të LED me Gnd përmes një rezistence 220Ohms. Kjo LED do të ndizet, kur të jeni 10% ose më shumë nën shpejtësinë tuaj më të mirë në fazën aktuale të trajnimit. Koha për të bërë më shumë përpjekje!
  • Lidhni LED -in e dytë (jeshil) në pin D5, përsëri me një rezistencë në Gnd. Kjo LED do të ndizet, kur të jeni brenda 1%, ose më lart nga drejtimi juaj më i mirë. Mirë po bën!

Dëshironi që LED -të të ndizen në varësi të mënyrës sesi kaloni në krahasim me vrapimin tuaj të mëparshëm, ose ndonjë shpejtësi mesatare arbitrare? Epo, thjesht lidhni një buton midis pin D4 dhe Gnd. Duke përdorur atë buton, mund të kaloni referencën midis "vrapimit tuaj më të mirë", "vrapimit tuaj të mëparshëm" ose "shpejtësisë suaj aktuale". Një shkronjë e vogël "P", ose "C" në këndin e poshtëm të majtë do të nënkuptojë dy mënyrat e fundit.

Hapi 6: Ndizni ekranin tuaj të ergometrit

Fuqizimi i ekranit tuaj të ergometrit
Fuqizimi i ekranit tuaj të ergometrit

Ka shumë mënyra për të fuqizuar ekranin tuaj, por unë do të theksoj dy që duken më praktike se të tjerat:

  1. Kur përdorni një Arduino Uno ose Nano, ju ndoshta dëshironi ta fuqizoni atë duke përdorur një bankë energjie USB me tregues të integruar të ulët të baterisë.
  2. Kur përdorni një Arduino Pro Mini @ 3.3V (rekomandimi im për përdoruesit e përparuar), ju mund ta furnizoni atë drejtpërdrejt ose nga një bateri e vetme LiPo, ose nga tre qeliza NiMH. Meqenëse ATMEGA do të tolerojë tensionet e furnizimit deri në 5.5V, ju mund ta lidhni këtë me "VCC/ACC", drejtpërdrejt, duke anashkaluar rregullatorin e tensionit në bord. Në këtë konfigurim, do të ketë gjithashtu një paralajmërim "bateri të ulët" në rreth 3.4V, pa ndonjë pajisje shtesë (shfaqet në këndin e poshtëm të djathtë). Meqenëse ATMEGA mund të pritet të funksionojë si duhet, të paktën deri në 3.0V ose më shumë, kjo duhet t'ju lërë kohë të mjaftueshme për të përfunduar njësinë tuaj të trajnimit para rimbushjes.

Hapi 7: Përdorimi i ekranit tuaj të ergometrit

Përdorimi i ekranit tuaj të ergometrit
Përdorimi i ekranit tuaj të ergometrit
Përdorimi i ekranit tuaj të ergometrit
Përdorimi i ekranit tuaj të ergometrit

Le të hedhim një vështrim më të afërt në numrat e ndryshëm në ekranin tuaj. Numri më i madh i pjesës së sipërme të majtë është thjesht shpejtësia juaj aktuale, dhe numri më i madh në pjesën e sipërme të djathtë është distanca totale në trajnimin tuaj aktual.

Linja tjetër është shpejtësia juaj mesatare që nga fillimi i trajnimit (majtas), dhe koha që nga fillimi i trajnimit (djathtas). Vini re se koha është ndalur ndërsa biçikleta është ndalur.

Deri tani kaq e parëndësishme. Dy rreshtat e tjerë në anën e djathtë janë aty ku bëhet interesante: Këto krahasojnë kohën tuaj aktuale me stërvitjen tuaj të mëparshme dhe më të mirë, respektivisht. Dmth a "- 0:01:23" në pjesën e sipërme të këtyre rreshtave do të thotë që ju keni arritur distancën tuaj aktuale 1 minutë dhe 23 sekonda më herët se në vrapimin tuaj të mëparshëm. Mirë Një linjë më e ulët e "+ 0:00:12" do të thotë që deri në pikën aktuale, ju jeni 12 sekonda prapa vrapimit tuaj më të mirë. (Vini re se këto kohë diferenciale nuk do të jenë 100% të sakta. Pikat kohore ruhen çdo.5 km / milje dhe interpolohen mes tyre.) Në mënyrë të pashmangshme, natyrisht, në vrapimin tuaj të parë, ende nuk janë regjistruar referenca kohore, dhe kështu që të dy rreshtat e mësipërm vetëm do të tregojnë "-:-:-".

Së fundi, rajoni i poshtëm i majtë i ekranit përmban një grafik të shpejtësisë suaj gjatë minutës së fundit. Kjo ju lejon të shihni me një shikim, nëse jeni duke ecur në mënyrë të qëndrueshme, apo duke ngadalësuar. (Vini re se kjo linjë do të jetë shumë më e qetë në stërvitjen reale - por thjesht nuk është e lehtë të mbash një ritëm të qëndrueshëm gjatë përpjekjes për të bërë një fotografi …) Linjat horizontale tregojnë shpejtësinë e mëparshme / më të mirë që keni arritur pranë pikës aktuale të mëparshme trajnime.

LED -të e montuar pranë majës krahasojnë shpejtësinë tuaj aktuale me shpejtësinë tuaj më të mirë gjatë kësaj faze të trajnimit. Gjelbër tregon se jeni brenda 1% të më të mirës tuaj, e kuqja tregon se jeni më shumë se 10% më i ngadalshëm se stërvitja juaj më e mirë. Kur shihni dritën e kuqe, është koha për të bërë më shumë përpjekje. Vini re se në kundërshtim me kohët diferenciale të përshkruara më lart, këto i referohen pjesës aktuale të trajnimit, vetëm, domethënë është e mundur që ju të mbeteni prapa në kohë absolute, por jeshile tregon se jeni duke arritur, dhe anasjelltas.

Shpejtësia e referencës e përdorur për dy LED mund të ndryshohet duke përdorur butonin shtytës. Një shtyp do ta kalojë atë nga trajnimi më i mirë në atë të mëparshëm të regjistruar (një shkronjë e vogël "P" do të shfaqet në pjesën e poshtme të majtë). Një tjetër shtypje dhe shpejtësia juaj aktuale në kohën e shtypjes së butonit do të bëhet shpejtësia e re e referencës (do të shfaqet një shkronjë e vogël "C"). Kjo e fundit është veçanërisht e dobishme gjatë trajnimit tuaj të parë me ekranin tuaj të ri të ergometrit, kur ende nuk është regjistruar asnjë referencë.

Kur të përfundoni me trajnimin tuaj, thjesht shkëputeni baterinë. Trajnimi juaj tashmë është ruajtur në EEPROM -in e brendshëm të Arduino -s tuaj.

Siç mund ta shihni, unë përfundova duke bashkuar prototipin tim. Shenjë e sigurt që më pëlqeu rezultati, vetë. Shpresoj se edhe ju do ta gjeni të dobishme. Ushtrim i lumtur!

Recommended: