Tartalomjegyzék:

Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel: 7 lépés (képekkel)
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel: 7 lépés (képekkel)

Videó: Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel: 7 lépés (képekkel)

Videó: Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel: 7 lépés (képekkel)
Videó: Open lock with a RFID Reader using Arduino 🔐💳😲 #diy #arduino #arduinoproject #howto #how #electronic 2024, November
Anonim
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel
Egyszerű Arduino-alapú ergométer kijelző differenciális visszajelzéssel

A kardió edzés unalmas, különösen, ha beltéren gyakorol. Számos meglévő projekt próbálja ezt enyhíteni azzal, hogy menő dolgokat csinál, például az ergométert egy játékkonzolhoz csatlakoztatja, vagy akár egy valódi kerékpártúrát szimulál a VR -ban. Ezek izgalmasak, technikailag nem igazán segítenek: az edzés még mindig unalmas. Így ehelyett szeretném, ha edzés közben csak könyvet olvashatnék vagy tévét nézhetnék. De akkor nehéz fenntartani az egyenletes tempót.

Az ötlet itt az, hogy az utóbbi problémára összpontosítson, és egyenes visszajelzést adjon arról, hogy a jelenlegi képzési szintje elég jó-e, vagy erőfeszítéseket kell tennie. Az "elég jó" szint azonban nemcsak személyenként, hanem idővel is változik (hosszú távon, ahogy javul, de egy edzésen belül is: például szinte lehetetlen teljes sebességgel haladni, mielőtt felmelegedett). Ezért ennek a projektnek az az ötlete, hogy egyszerűen rögzítse a) az előző futást és b) a legjobb futást (más néven csúcspontot), majd közvetlen visszajelzést ad arról, hogy jelenleg hogyan halad a futásokhoz képest.

Ha ez kissé elvontnak hangzik, ugorjon a 7. lépésre, hogy megtudja, mit jelenít meg a kész kijelző

A projekt további célja, hogy a dolgok valóban egyszerűek és olcsók legyenek. Attól függően, hogy honnan rendeli az alkatrészeket, körülbelül 5 dollárért (vagy kb. 30 dollárért, ha prémium belföldi értékesítőktől rendel), befejezheti ezt a projektet, és ha már játszott az Arduino környezettel, akkor jó eséllyel már rendelkezik a szükséges alkatrészek nagy részével vagy mindegyikével.

1. lépés: Alkatrészlista

Alkatrészlista
Alkatrészlista

Nézzük végig a szükséges dolgok listáját:

Arduino kompatibilis mikroprocesszor

Nagyjából minden Arduino, amelyet az elmúlt néhány évben értékesítettek, megteszi. A pontos változat (Uno / Nano / Pro Mini, 8 vagy 16 MHz, 3,3. Vagy 5 V) nem számít. Azonban szüksége lesz egy ATMEGA328 vagy jobb processzorra, mert majdnem 2k RAM -ot és 1k EEPROM -ot fogunk használni. Ha ismeri az Arduino világ csínját -bínját, javaslom a Pro Mini használatát 3,3 V -nál, mivel ez lesz a legolcsóbb és a legtöbb akkumulátort fogyasztó. Ha (viszonylag) új vagy az Arduino -ban, akkor javaslom a "Nano" -t, mivel ugyanazt a funkciót nyújtja, mint az "Uno" egy kisebb és olcsóbb csomagban.

Ne feledje, hogy ez az utasítás nem fogja elmesélni az alapokat. Legalább telepítenie kell az Arduino szoftvert, és tudnia kell, hogyan csatlakoztathatja Arduino -ját, és feltölthet egy vázlatot. Ha fogalma sincs, miről beszélek, először olvassa el ezt a két egyszerű oktatóanyagot: Először, másodszor.

128*64 képpontos SSD1306 OLED kijelző (I2C változat, azaz négy érintkező)

Ez ma az egyik legolcsóbb és legegyszerűbb kijelző. Egyetértek, kicsi, de elég jó. Természetesen, ha már rendelkezik hasonló vagy jobb felbontású kijelzővel, akkor ezt is használhatja, de ez az utasítás SSD1306 -ra van írva.

  • Egy "forrasztás nélküli kenyértábla" és néhány áthidaló huzal a prototípus elkészítéséhez
  • 100nF kerámia kondenzátor (szükség lehet rá, vagy nem; lásd 4. lépés)
  • Vagy néhány kapocs, vagy mágnes, nádkapcsoló és néhány kábel (lásd a 4. lépést)
  • Egy piros és egy zöld LED (opcionális; lásd az 5. lépést)
  • Két 220 ohmos ellenállás (ha LED -eket használ)
  • Nyomógomb (szintén opcionális)
  • Megfelelő akkumulátor (lásd 6. lépés)

2. lépés: A kijelző csatlakoztatása

A kijelző csatlakoztatása
A kijelző csatlakoztatása

Elsőként csatlakoztatjuk a kijelzőt az Arduino -hoz. Részletes utasítások állnak rendelkezésre. Az SSD1306 azonban nagyon könnyen csatlakoztatható:

  1. VCC megjelenítése -> Arduino 3.3V vagy 5V (bármelyik megteszi)
  2. Gnd megjelenítése -> Arduino Gnd
  3. SCL megjelenítése -> Arduino A5
  4. SCA kijelző -> Arduino A4

Ezután az Arduino környezetében lépjen a Vázlat-> Könyvtár bevonása-> Könyvtárak kezelése menübe, és telepítse az "Adafruit SSD1306" -t. Sajnos módosítania kell a könyvtárat a 128*64 képpontos változat konfigurálásához: keresse meg az arduino "könyvtárak" mappáját, és szerkessze az "Adafruit_SSD1306/Adafruit_SSD1306.h" fájlt. Keresse meg a "#define SSD1306_128_32" kifejezést, tiltsa le ezt a sort, és engedélyezze a "#define SSD1306_128_64" lehetőséget.

Ezen a ponton töltse be a Fájl-> Példák-> Adafruit SSD1306-> ssd1306_128x64_i2c fájlt, hogy ellenőrizze, hogy a kijelző megfelelően van-e csatlakoztatva. Vegye figyelembe, hogy előfordulhat, hogy módosítania kell az I2C-címet. A 0x3C tűnik a leggyakoribb értéknek.

Probléma esetén olvassa el a részletesebb utasításokat.

3. lépés: Töltse fel a vázlatot

Ha eddig minden működött, akkor itt az ideje, hogy feltöltse a vázlatot az Arduino -ra. Az alábbiakban megtalálja a vázlat másolatát. A potenciálisan újabb verzióért tekintse meg a github projekt oldalát. (Mivel ez egyetlen fájl vázlata, elég csak az erogmetrino.ino fájlt lemásolni az Arduino ablakába).

Ha az előző lépésben módosítania kellett volna az I2C címet, akkor ugyanazt a beállítást kell elvégeznie, most, a "display.begin" kezdetű sorban.

A feltöltés után néhány nullát kell látnia a kijelzőn. Megnézzük a kijelző különböző szakaszainak jelentését, miután minden más össze van kapcsolva.

Ne feledje, hogy a legelső indításkor a kijelző meglehetősen lassan világít (akár tíz másodpercig is eltarthat), mivel a vázlat először az EEPROM -ban tárolt adatokat nullázza.

4. lépés: Az ergométer csatlakoztatása

Az ergométer csatlakoztatása
Az ergométer csatlakoztatása

Ezt a lépést nem lehet univerzálisan leírni, mivel nem minden ergométer egyforma. Azonban ezek sem különböznek egymástól. Ha az ergométere egyáltalán tartalmaz elektronikus sebességkijelzőt, akkor rendelkeznie kell egy elektronikus érzékelővel, amely érzékeli a pedálok fordulatait, vagy valamilyen (esetleg belső) léptető kereket. Sok esetben ez egyszerűen egy mágnesből fog állni, amely közel van a nádkapcsolóhoz (lásd még alább). Minden alkalommal, amikor a mágnes elhalad, a kapcsoló bezáródik, és egy fordulatot jelez a sebesség kijelzőn.

Az első dolog, amit meg kell tennie, hogy megvizsgálja az ergométer sebességkijelzőjét a bejövő kábelek tekintetében. Ha valahol az ergométeren belül kétvezetékes kábelt talál, akkor szinte biztosan megtalálta a kapcsolatot az érzékelővel. És egy kis szerencsével egyszerűen kihúzhatja ezt a konnektorból, és néhány krokodilcsipesszel csatlakoztathatja az Arduino-hoz (egy perc múlva megmondom, hogy milyen csapokhoz kell csatlakozni).

Ha azonban nem talál ilyen kábelt, bizonytalan, hogy megtalálta -e a megfelelőt, vagy nem tudja leválasztani anélkül, hogy bármit is károsítana, egyszerűen ragaszthat egy kis mágnest az egyik pedálra, és rögzítheti a nádkapcsolóját az erogmeter keretéhez, így a mágnes nagyon közel fog elhaladni mellette. Csatlakoztasson két vezetéket a kapcsolóhoz, és vezesse az Arduino -hoz.

Csatlakoztassa a két vezetéket (akár saját, akár meglévő érzékelőből) az Arduino Gnd és az Arduino D2 tűhöz. Ha van kéznél, csatlakoztassa a 100nF kondenzátort a D2 és Gnd érintkezők közé némi "kikapcsoláshoz". Erre szükség lehet, vagy nem, de segít stabilizálni az értékeket.

Ha kész, ideje bekapcsolni az Arduino -t, és felpattanni a kerékpárra az első gyors teszthez. A bal felső szám kezdje el a sebességmérést. Ha ez nem működik, ellenőrizze az összes vezetéket, és győződjön meg arról, hogy a mágnes elég közel van a nádkapcsolóhoz. Ha a sebességmérő folyamatosan túl magasnak vagy túl alacsonynak tűnik, egyszerűen módosítsa a "CM_PER_CLICK" definíciót a vázlat teteje közelében (megjegyzés: a vázlat metrikus neveket használ, de nem jelenít meg vagy ment el egységeket sehol, ezért hagyja figyelmen kívül ezt, és kattintásonként 100 000 ezred mérföldet szolgáltatnak).

5. lépés: Opcionális gyors állapotjelző LED -ek

Opcionális gyors állapotjelző LED -ek
Opcionális gyors állapotjelző LED -ek

Az ebben a lépésben leírt LED -ek opcionálisak, de ügyesek: Ha komolyan gondolja, hogy könyvet olvas / TV -t néz edzés közben, akkor nem akarja, hogy túlságosan bámulja a kijelzőt. De két különböző színű LED könnyen észrevehető lesz a perifériás látásban, és elegendő ahhoz, hogy hozzávetőleges képet kapjon arról, hogyan teljesít.

  • Csatlakoztassa az első (piros) LED -et a D6 tűhöz (a LED hosszabb lába az Arduino -hoz kerül). Csatlakoztassa a LED rövid lábát a Gnd -hez 220 Ohm ellenálláson keresztül. Ez a LED akkor világít, ha az edzés jelenlegi szakaszában 10% -kal vagy annál jobban eléri a legjobb sebességet. Ideje még több erőfeszítést tenni!
  • Csatlakoztassa a második (zöld) LED -et a D5 érintkezőhöz, ismét egy ellenállással a Gnd. Ez a LED akkor világít, ha a legjobb futás 1%-án belül vagy felett van. Jól csinálod!

Azt szeretné, ha a LED -ek világítanának attól függően, hogy hogyan teljesítettek az előző futáshoz képest, vagy tetszőleges átlagsebességtől függően? Nos, csak csatlakoztasson egy nyomógombot a D4 és a Gnd. Ezzel a gombbal válthat a "legjobb futás", "előző futás" vagy "jelenlegi sebesség" között. Egy kis "P" vagy "C" betű a bal alsó sarokban az utóbbi két módot jelöli.

6. lépés: Az ergométer kijelzőjének bekapcsolása

Az ergométer kijelzőjének bekapcsolása
Az ergométer kijelzőjének bekapcsolása

Számos módja van a kijelző áramellátásának, de rámutatok kettőre, amelyek praktikusabbnak tűnnek, mint mások:

  1. Arduino Uno vagy Nano használatakor valószínűleg azt szeretné használni, hogy a beépített alacsony töltöttségi szintet jelző USB power-bank segítségével működjön.
  2. Arduino Pro Mini @ 3.3V használatakor (ajánlom haladó felhasználóknak), ezt közvetlenül LiPo akkumulátorról vagy három NiMH celláról táplálhatja. Mivel az ATMEGA tolerálja az 5,5 V-os tápfeszültséget, ezt közvetlenül csatlakoztathatja a "VCC/ACC" -hez, megkerülve a fedélzeti feszültségszabályozót. Ebben a beállításban 3,4 V körüli "alacsony akkumulátor" figyelmeztetés is megjelenik, további hardver nélkül (a jobb alsó sarokban jelenik meg). Mivel elvárható, hogy az ATMEGA megfelelően működjön, legalább 3,0 V -ig, ez elegendő időt hagy az edzés befejezésére az újratöltés előtt.

7. lépés: Az ergométer kijelzőjének használata

Az ergométer kijelzőjének használata
Az ergométer kijelzőjének használata
Az ergométer kijelzőjének használata
Az ergométer kijelzőjének használata

Nézzük meg közelebbről a kijelzőn megjelenő különböző számokat. A bal felső sarokban lévő nagyobb szám egyszerűen az aktuális sebesség, a jobb felső sarokban lévő pedig az aktuális edzés teljes távja.

A következő sor az átlagos sebesség az edzés kezdete óta (balra), és az edzés kezdete óta eltelt idő (jobbra). Vegye figyelembe, hogy az időzítés leáll, amíg a kerékpár leáll.

Eddig triviális. A jobb oldalon lévő két további vonal az, ahol érdekes lesz: Ezek összehasonlítják az aktuális időzítést a korábbi és a legjobb edzéssel. Azaz. A "- 0:01:23" e sorok felső részében azt jelenti, hogy 1 perccel és 23 másodperccel korábban érte el az aktuális távolságot, mint előző futásakor. Jó. A "+ 0:00:12" alsó sor azt jelenti, hogy az aktuális pontig 12 másodperccel marad el a legjobb futástól. (Ne feledje, hogy ezek a differenciálási idők nem lesznek 100% -ban pontosak. Az időpontokat.5 km / mérföldönként tároljuk, és ezek között interpolálunk.) Természetesen elkerülhetetlen, hogy az első futás során még nem rögzítettek időhivatkozásokat, és így mindkét fenti sor csak a "-:-:-" -t fogja mutatni.

Végül a kijelző bal alsó részén az utolsó perc sebességének grafikonja látható. Ez lehetővé teszi, hogy egy pillanat alatt lássa, hogy egyenletesen halad, vagy lassít. (Ne feledje, hogy ez a vonal sokkal simább lesz a valódi edzéseken - de egyszerűen nem könnyű fenntartani az egyenletes tempót, miközben megpróbál képeket készíteni …) A vízszintes vonalak az előző / legjobb sebességet jelzik az előző pont közelében képzések.

A tetejére szerelt LED -ek összehasonlítják az aktuális sebességet a legjobb sebességgel az edzés ezen szakaszában. A zöld azt mutatja, hogy 1% -on belül van a legjobban, a piros azt mutatja, hogy több mint 10% -kal lassabb, mint a legjobb edzés. Amikor meglátja a piros lámpát, itt az ideje, hogy további erőfeszítéseket tegyen. Ne feledje, hogy a fent leírt eltérési időkkel ellentétben ezek csak az edzés aktuális részére vonatkoznak, azaz lehetséges, hogy abszolút időben lemaradt, de a zöld azt mutatja, hogy felzárkózik, és fordítva.

A két LED referenciasebessége a nyomógombbal módosítható. Egy gombnyomással átválthatja a legjobbról az előzőleg rögzített edzésre (egy kis "P" betű jelenik meg a bal alsó sarokban). Egy újabb megnyomás és a gombnyomáskor aktuális sebesség lesz az új referenciasebesség (egy kis "C" betű jelenik meg). Ez utóbbi különösen hasznos az első edzés során az új ergométer kijelzőjével, amikor még nem rögzített referenciát.

Ha végzett az edzéssel, csak húzza ki az akkumulátort. Az edzést már elmentette az Arduino belső EEPROM -jába.

Mint látható, végül forrasztottam a prototípusomat. Biztos jele annak, hogy nekem is tetszett az eredmény. Remélem, neked is hasznos lesz. Jó gyakorlást!

Ajánlott: