Tartalomjegyzék:

Buli biztonságos ezen a nyáron egy Arduino vér-alkohol reaktív LED csészével: 10 lépés
Buli biztonságos ezen a nyáron egy Arduino vér-alkohol reaktív LED csészével: 10 lépés

Videó: Buli biztonságos ezen a nyáron egy Arduino vér-alkohol reaktív LED csészével: 10 lépés

Videó: Buli biztonságos ezen a nyáron egy Arduino vér-alkohol reaktív LED csészével: 10 lépés
Videó: This newest airline in Korea has ONE unexpected drawback | Air Premia ICN - NRT 2024, November
Anonim
Buli biztonságos ezen a nyáron egy Arduino vér-alkohol reaktív LED csészével
Buli biztonságos ezen a nyáron egy Arduino vér-alkohol reaktív LED csészével

Projekt szintű nehézség: Közepes

Szükséges készségek:

- Diagram olvasása és másolása

- Forrasztás, ha úgy dönt, hogy nem vásárol előre forrasztott alkatrészeket

A projekt bevezetése

Az Egyesült Államokban és az egész világon az alkohol súlyos egészségügyi veszélyt jelent, ha felelőtlenül fogyasztják. A felelőtlen alkoholfogyasztás következménye lehet az autóvezetés és a májkárosodás miatti halálozás, valamint olyan hosszú távú hatások, mint az esetleges agy- és vesekárosodás. Csak az Egyesült Államokban 250 milliárd dollár veszett el alkohollal való visszaélés miatt (NIAAA, 2010), valamint több mint 88 000 ember, így az alkohol a harmadik megelőzhető halálozási ok az országban. Ennek a projektnek a kérdése készítőként az, hogy hogyan tudjuk kezelni ezt a problémát, és biztosítani, hogy a szórakoztató ünnepségek alkohollal, például a bulikkal biztonságban és szórakoztatóak maradhassanak?

A válaszom erre a kérdésre az volt, hogy megtalálom a módját annak, hogy megbecsüljem, majd megjelenítsem a felhasználó előre jelzett BAC -ját, hogy jobban megértsék, milyen állapotban vannak. Ehhez a projekthez az Arduino mikrokontrollert használtam vízszint-érzékelővel, LED-gyűrűvel és LCD-képernyővel, hogy nyomon kövessem, hány italt fogyasztott egy személy, majd megtaláltam a módszert a véralkohol-tartalom (BAC) becslésére. a felhasználó neme és súlya alapján. A becsült BAC, attól függően, hogy milyen tartományban volt, meghatározza az alábbi LED -gyűrű animációját. A tartományok négy különböző területre esnek: biztonságos, károsodott, mámoros és halálos. Remélem, hogy ennek a projektnek a létrehozásával nem csak egy használható Arduino projektet hozott létre, hanem jobban megértette, hogyan metabolizáljuk az alkoholt, és esetleg néhány alapvető programozást is, ha úgy dönt, hogy átnézi a megjegyzett kódot.

Honnan tudja a csésze, hogy hány italt ittam?

Ha a vízszint -érzékelő analóg értéke meghaladja a 300 -at, akkor a csészét jelző logikai értéket HIGH (full) értékként rögzíti. Ha az érzékelő analóg értéke 300 alatt van, akkor a csészét jelző logikai érték LOW (üres) lesz. Annak rögzítéséhez, hogy egy italt hozzáadnak a csészéhez, ennek a logikai értéknek üresről teli értékre kell változnia.

Hogyan határozta meg a BAC -t?

Annak érdekében, hogy ez a projekt a lehető legpontosabb legyen, a Saint Benedict & Saint John's University adatait használtam fel arra vonatkozóan, hogy mennyit nőtt az egyén BAC értéke italonként. Ez a program nemcsak a testsúlyt, hanem a felhasználó nemét is figyelembe veszi a felhasználó BAC számításakor. Ez azért van, mert a BAC azon alapul, hogy a szervezet milyen gyorsan képes metabolizálni az alkoholt, ami eltér a férfiak és nők, valamint a különböző súlyú emberek között. A grafikonok itt megtekinthetők.

Miért különbözőek a BAC tartományok a különböző embereknél?

A BAC tartományok közvetlenül az SBSJ Egyetemen szerzett adatokon alapulnak, amelyek figyelembe veszik, hogy a felhasználónak mennyi alkoholt kell tartalmaznia a rendszerében ahhoz, hogy a négy tartomány valamelyikében legyen:

- Biztonságos: Az egyetlen biztonságos tartomány a jármű üzemeltetéséhez (szivárványos animáció)

- Károsodott: Büntetőjogi vádak merülhetnek fel, ha ebben a tartományban járművet üzemeltet (narancssárga animációval)

- Részeg: Büntetőjogi vádat vonnak maga után, ha ezen a területen (piros lámpákkal jelölt) járművet üzemeltet

- Halálos: Ha még nem ájult el, akkor azonnali orvosi veszélynek van kitéve ezen a tartományon (villogó piros -fehér fények)

De jól tudom venni az alkoholt, tehát ez a csésze pontatlan?

Az, hogy mennyire tud cselekedni az alkoholfogyasztás után, nem sokat számít, ha vezetés közben átlépi a törvényes határt. A projektben felhasznált adatok figyelembe veszik a felhasználó BAC jogi és orvosi tartományait, figyelembe véve a felhasználó súlyát és nemét.

Kellékek

A projekt általános elektronikai kellékei a következők:

- Két nyomógomb

- Jumper vezetékek

- 10k potenciométer

- 2 10 ezer ellenállás

- 1 220 ellenállás

Különleges alkatrészek/modulok:

- Egy Arduino (Uno -t használtam ehhez a projekthez, de sok olcsóbb alternatíva létezik)

- Vízszint-érzékelő (MEGJEGYZÉS: Ezek az érzékelők gyakran pontatlanok és gyorsan korrodálódnak, ami nagy csalódást okozott ennek a projektnek a fejlesztésében. Mindazonáltal sikerült megoldást találnom, hogy a projektemmel kapcsolatos nehézségeim ne váljanak az Ön nehézségeivé ezzel a projekttel.)

- LED -gyűrű (12 LED)

- LCD képernyő

Eszközök:

- Forrasztópáka (csak akkor szükséges, ha fejhallgató nélküli LED -gyűrűt vásárol)

- 3D nyomtató (opcionális)

Lépés: Töltse le az Arduino IDE -t és másolja le a szükséges kódot

Ehhez a projekthez nincs szükség számítógépes programozásra, mindössze annyit kell tennie, hogy lemásolja a kódot innen, és illessze be az Arduino IDE -be. Az Arduino IDE letöltése:

Az Arduino IDE letöltése és konfigurálása:

- Látogassa meg az Arduino webhelyét, és válassza ki a rendszeréhez tartozó letöltést

- A letöltés befejezése után szerezze be az Arduino COM portszámát. Csatlakoztassa az Arduino -t, és keresse meg az Eszközkezelőt. A portok alatt keresse meg Arduino -ját, és jegyezze fel a port számát. Valahogy így kell kinéznie: COMx (ahol x 1-9 szám)

- A COM portszám használatával konfigurálja az alaplapot és a port IDE -jét az Arduino IDE megnyitásával, és a felső sávon az "Eszközök" elem kiválasztásával. Válassza a "Board" lehetőséget, és válassza ki a modellt. Ezután válassza a "Port" lehetőséget, és válassza ki az Arduino portját az Eszközkezelőben.

Projektkód beszerzése

- Másolja ki a kódot ebből a lépésből, és illessze be az Arduino IDE fehér részébe. Ügyeljen arra, hogy először töröljön mindent a vázlatról, például a loop () és a void () rutinokat, mivel ezeket a másolt és beillesztett kódban valósítja meg.

2. lépés: Töltse le a szükséges könyvtárakat az Arduino IDE -ből

A projektben használt könyvtárak a "Wire", a "LiquidCrystal" és az "Adafruit Neopixel". A vázlatnak szüksége van ezekre a könyvtárakra, hogy kommunikáljanak a projektben használt összetevőkkel. Ezen könyvtárak letöltéséhez:

- Válassza a "Sketch" lehetőséget a felső sávon

- A legördülő menüben válassza a "Könyvtár beillesztése" lehetőséget

- Válassza a "Könyvtárak kezelése" lehetőséget

- Keresse meg a projektben használt három könyvtárat (huzal, folyadékkristály és Adafruit Neopixel), és töltse le mindegyiket.

Kérjük, vegye figyelembe, hogy a könyvtárak letöltésének elmulasztása hibát okoz a vázlat összeállításakor. Ezt követően csatlakoztassa az Arduino kábelét a laptopjához, és nyomja meg a nyíl gombot az IDE bal felső sarkában. Ez összeállítja és feltölti a vázlatot az Arduino -ba. Most, hogy befejeztük a programozással kapcsolatos összes lépést, térjünk rá a huzalozásra!

3. lépés: (Opcionális) Forrasztási fejlécek az alkatrészekre

Ha úgy döntött, hogy olyan alkatrészeket vásárol ehhez a projekthez, amelyekben még nem voltak forrasztva a fejlécek, akkor ezt saját maga kell megtennie. Ne aggódjon túl sokat ezen a részen, ennek a projektnek a forrasztása nagyon egyszerű.

- Hozzon létre szellőző környezetet a forrasztáshoz, lehetőleg szűrőt tartalmazó ventilátorral. Ha nincs ilyen ventilátora, megteheti, amit én, és kinyitja az ablakokat, bekapcsolja a ventilátort, vagy elmehet a garázsba, amíg az nyitva van.

- Melegítse fel a forrasztópákaját, és győződjön meg róla, hogy nedves szivaccsal is rendelkezik a forrasztófelesleg letörléséhez.

- Állítsa be a fejléceket és azokat a részeket, amelyekhez a fejléceket rögzíteni szeretné segítő kéz vagy más eszköz segítségével, amely lehetővé teszi az alkatrészek elrendezését, miközben lehetővé teszi a forrasztópáka tartását.

- Érintse meg a forrasztópácát a forrasztópákahoz, miközben a csatlakozócsap és az alkatrész között van, amelyhez a csapokat forrasztja. Vegye le a vasalót, ha elegendő forrasztás képződött, hogy biztosítsa az elektromos érintkezést a fejrész csapjai és az alkatrész között. Törölje le a felesleges forrasztót a szivacsról, és ismételje meg ezt a folyamatot minden csapnál.

- Miután az összes csapot forrasztotta, helyezze a forrasztópárat az állványba, fordítsa el a gombot "ki" állásba, és húzza ki a vasalót. Várja meg, amíg a vasaló teljesen kihűl, és tegye el.

4. lépés: Kövesse a Picture and Wire Arduino elemeket

Kövesse a Picture and Wire Arduino elemeket
Kövesse a Picture and Wire Arduino elemeket

Ebben a lépésben áthidaló vezetékeket kell használnia a projekthez szükséges alkatrészek és az Arduino csatlakoztatásához. Ehhez egy Fritzing fájlt adtam meg, amely ezen a lépésen látható. Kérjük, tekintse meg az alábbiakban azokat a gyakori kérdéseket, amelyeket felteszek magamnak, ha a vezetékekkel kapcsolatos probléma merül fel:

- Megfelelően vannak összekapcsolva a földi és az elektromos síneim egymással, valamint az Arduino 5v és GND csapjai?

- Elrontottam a potenciométerem, ha az LCD kijelző nem jelenik meg? (Ha a fehér karakterek nem megfelelően jelennek meg, próbálja megfordítani a potenciométert az ellenállás megváltoztatásához.)

- A GND és a VCC minden alkatrészhez megfelelően csatlakozik a megfelelő csaphoz? Az 5 voltos beállítást használja? (Ebben a projektben az összes érzékelő és alkatrész 5, nem 3,3 voltot használ.

- Véletlenül egy vezetéket helyeztek el egy csatlakozóval arrébb, ahol lennie kellett volna?

MEGJEGYZÉS: Amikor elektronikával dolgozik, mindig győződjön meg arról, hogy az áramkör nem kap áramot a cseréje során. Ellenkező esetben az alkatrészek megsérülhetnek, és nagyobb feszültséggel történő munkavégzés esetén testi sérülések keletkezhetnek

5. lépés: A Coaster projekt összeállítása

Projekt összeállítása
Projekt összeállítása

Észreveheti, hogy a LED -gyűrű fejrészei kilógnak, és nem teszik lehetővé, hogy a csészét a felülethez simán helyezze. A probléma megoldásához a LED -gyűrűt egy 3D nyomtatott részhez rögzítjük, amely lehetővé teszi a gyűrű lapos elhelyezését az asztalon. A 3D fájl megtalálható ebben a lépésben. Ha nincs 3D nyomtatója, ne aggódjon, ez a nyomtatás 1,40 forintba került a helyi könyvtáromban. Ha a helyi könyvtárban nincs 3D nyomtató, további lehetőségek közé tartoznak a tűzőkapcsok és az online eladók. Azt is meg kell jegyezni, hogy az általam csatolt rész nem az egyetlen kompatibilis, csak így lehet modellt készíteni számomra. Tehát ha jól értesz a fafeldolgozáshoz vagy más mesterségekhez, akkor ezek több mint elfogadhatóak!

Ha úgy dönt, hogy kinyomtatja a projekthez tartozó részt:

- Töltse le az STL fájlt, és importáljon egy szeletelőbe, például Cura

- Mérje meg a kívánt csésze aljának átmérőjét

- Állítsa be a modell skáláját (milliméterben, ha Cura -t használ) a méréséhez

6. lépés: Csatlakoztassa a poháralátétet és az érzékelőt a választott csészéhez

Csatlakoztassa az alátétet és az érzékelőt a választott csészéhez
Csatlakoztassa az alátétet és az érzékelőt a választott csészéhez

Ezután vegye fel a poháralátétet, és ragasztóval rögzítse a mért pohár aljához. Most az áthidaló vezetékek hozzáférhetnek a vízszint-érzékelőhöz és a LED-gyűrűhöz, és egyenesen az asztalon is fekszenek. Most csatlakoztatnia kell az érzékelőt. Nagyon óvatosnak kell lenni az érzékelő elhelyezésével kapcsolatban, mivel ezek az érzékelők, bár analógként kerülnek forgalomba, valójában csak két jelet bocsátanak ki- víz vagy nincs víz. Ez nagyon sok problémát okozott számomra, de sikerült megtalálnom a megoldást annak érdekében, hogy mások ne érezzék ugyanezt a frusztrációt ezzel a projekttel kapcsolatban. A lényeg az, hogy az érzékelőt a teteje közelében helyezze el, ahol a folyadék lesz, amikor a csésze megtelik. Ez biztosítja, hogy az érzékelő képes legyen "üres" állapotot regisztrálni, és így számolni tudja a következő kiöntött italt.

7. lépés: Szépítse a projektet és védje meg a vezetékeket

Szépítse a projektet és védje a vezetékeket
Szépítse a projektet és védje a vezetékeket

Ezen a ponton valószínűleg marad egy csomó vezeték és alkatrész, amely úgy néz ki, mint a csatolt fénykép. Az, hogy mit tesz annak érdekében, hogy a projekt jobban nézzen ki, teljesen rajtad múlik, amennyiben szem előtt tartja ezeket a kritériumokat:

- Képesnek kell lennie töltőt csatlakoztatni az Arduino áramellátásához

- Ki kell vágnia lyukakat vagy kialakítandó helyeket, hogy a felhasználó hozzáférhessen az LCD képernyőhöz, a gombokhoz, a vízszint-érzékelőhöz és a LED-gyűrűhöz.

- Meg kell védenie az elektronikus alkatrészeket a nedvességtől, mivel ez lehetséges, mivel a projekt italokra összpontosít.

Néhány lehetőség a projekt bezárására:

- Cipősdoboz vagy kartondoboz

- Vízálló elektronikai projektház, például itt található

- 3D nyomtatott kivitel (ezt a lehetőséget akartam folytatni, azonban túl drága volt egy ilyen mintát nyomtatni a könyvtáramban)

8. lépés: Igyon felelősségteljesen

Igyon felelősségteljesen!
Igyon felelősségteljesen!

Miután a poharat a poháralátéthez és a vízérzékelőhöz rögzítette, már indulhat is! Tudni fogja, hogy minden megfelelően működik, ha az LCD -képernyő a nemét és súlyát kéri. Az egyik gomb a súlynak felel meg, míg a másik a nemnek. A címkézés előtt mindegyikre kattintva megtekintheti, melyik az. Miután kiválasztotta a megfelelő testsúlyt (az értékek 20 lépésekben vannak megadva) és a nemet, kattintson egyszerre mindkét gombra. Ezzel elindul a program többi része, és látni fogja, hogy a LED gyűrű szivárványos mintát villog. A pohár most készen áll arra, hogy italt töltsön. Ahogy több italt fogyaszt és önt, a program a bevezetőben tárgyalt BAC táblázatot használja a BAC meghatározásához. Kérjük, vegye figyelembe, hogy ez a program minden csészéhez egy standard italt feltételez, nézze meg a képet (Dél -Alabamai Egyetem), vagy látogasson el ide, hogy megtudja, hogyan fordítja le kedvenc italát. Azt is vegye figyelembe, hogy a projekt célja nem az illegális tevékenységek ösztönzése, hanem a biztonságos ivás népszerűsítése azok számára, akik elég idősek az alkoholfogyasztáshoz. Továbbá, bár nagyon örülök annak, hogy a BAC becslése mennyire pontos egy normál italt feltételezve, ez a projekt egy olyan eszköz, amely segít biztonságosan inni, de nem vállal felelősséget, ha bármilyen alkohol fogyasztása után úgy dönt, hogy vezet.

9. lépés: (Nem kötelező) Hibaelhárítás

(Opcionális) Hibaelhárítás
(Opcionális) Hibaelhárítás

- "Probléma feltöltés a táblára" hiba: Amikor megpróbálja összeállítani és feltölteni a vázlatot az Arduino -ba, ez a hiba akkor jelentkezik, ha a COM -port nincs megfelelően konfigurálva (lásd az első lépést a helyes COM -port megtalálásáról és beállításáról), vagy tábla nincs bedugva.

- Az LCD képernyő nem mutat fehér karaktereket: Ha az LCD kék fénye világít, de nem lát fehér karaktereket a vázlat feltöltése után, akkor ez valószínűleg a kontrasztproblémák miatt van. Ennek kijavításához csak fordítsa jobbra a potenciométert (forduljon balra, ha fehér blokkokat lát a karakterekkel).

- A projekt nem számolja helyesen az italokat: Ez a hiba vízszint-érzékelő probléma. A vízszint-érzékelő modulok gyorsan korrodálódnak, és köztudottan nagyon pontatlanok. Ez azonban nem érintheti Önt ebben a projektben, mivel az érzékelőt inkább digitális érzékelőként kezeltem, mint analógként. Lásd a hatodik lépést a vízszint-érzékelő helyes rögzítéséről.

- A modul rendkívül forró, és nem a megfelelő értékeket küldi: Ez annak az eredménye, hogy a GND vagy a VCC kapcsolat megszakadt, valószínűleg más vezetékek használata közben. Győződjön meg arról, hogy a GND és VCC kapcsolatok az érzékelővel befejeződtek, és kövesse őket a GND és 5 V -os csatlakozóhoz az alkatrészből, a kenyérlapból és az Arduino -ba a hibák keresése érdekében.

- Véletlenül túlléptem a súlyomat: Ne aggódjon, a súlybeállítás 240 után visszatér 100 -ra, így tovább forgathatja a lehetőségeket, hogy visszatérjen a súlyához.

Ha a problémák továbbra is fennállnak, csatlakoztassa az Arduino kábelét a laptophoz, nyissa meg az IDE -t, és futtassa a vázlatot. A vázlat futása közben több érték jelenik meg a soros monitoron, így láthatja, hogy mi nem működik megfelelően. A soros monitor eléréséhez futtassa a programot és az "Eszközök", majd a legördülő menü "Soros monitor" parancsát.

10. lépés: Reflexió

Programozási szempontból nagyon elégedett vagyok a projekt sikerével. Eltartott egy ideig, amíg írtam, mivel még kezdő vagyok, de sok új könyvtárat tudtam megtanulni, és elértem a BAC előrejelzésének célját, és úgy érzem, hogy nem választottam gyorsbillentyűt a BAC becslésében, mivel szexet és súly (ez tette ki a vázlat többségét). Viszont jóvá kell hagynom a tervezést. Bár nem rendelkezem 3D nyomtatóval, és nem ismerem a famegmunkálást, nagyon szerettem volna, ha a projektem jobb formában kerül bemutatásra. Szándékomban áll hamarosan beszerezni egy Ender 3 -at, és az első dolog, amit megteszek, hogy visszatérek ehhez a tanulságoshoz a tervezés javítása érdekében. Életem első leckéjeként úgy érzem, hogy a folyamat jól sikerült, és nagyon elégedett vagyok azzal, hogy ez a projekt milyen mértékben foglalkozott a Party Challenge számára készített kézzel, de tervezzen valamit, amire később szeretnék visszatérni, ha lesz erőforrásom.

Ajánlott: