Kazalo:

Zabavajte se to poletje z Arduino LED-skodelico, reaktivno na kri v alkoholu: 10 korakov
Zabavajte se to poletje z Arduino LED-skodelico, reaktivno na kri v alkoholu: 10 korakov

Video: Zabavajte se to poletje z Arduino LED-skodelico, reaktivno na kri v alkoholu: 10 korakov

Video: Zabavajte se to poletje z Arduino LED-skodelico, reaktivno na kri v alkoholu: 10 korakov
Video: Высокая плотность 2022 2024, November
Anonim
Zabavajte se to poletje z Arduino LED skodelico, reaktivno na kri in alkohol
Zabavajte se to poletje z Arduino LED skodelico, reaktivno na kri in alkohol

Težavnost na ravni projekta: vmesna

Potrebne veščine:

- Branje in ponovitev diagrama

- Spajkanje, če se ne odločite za nakup vnaprej spajkanih delov

Uvod v projekt

V Združenih državah Amerike in po vsem svetu je alkohol, če ga uživamo neodgovorno, resno ogroža zdravje. Smrt zaradi vožnje pod vplivom in poškodbe jeter ter dolgotrajni učinki, kot so možne poškodbe možganov in ledvic, so lahko posledica neodgovornega uživanja alkohola. Samo v Združenih državah je bilo zaradi zlorabe alkohola izgubljenih 250 milijard dolarjev (NIAAA, 2010), pa tudi več kot 88 000 ljudi, zaradi česar je alkohol tretji vodilni vzrok smrti v državi, ki ga je mogoče preprečiti. Vprašanje tega projekta je ustvarjalci, kako lahko rešimo to težavo in poskrbimo, da bodo zabavna praznovanja ob alkoholu, kot so zabave, varna in zabavna?

Moj odgovor na to vprašanje je bil najti način za oceno in nato vizualizacijo predvidenega BAC -a uporabnika, da bi lahko bolje razumeli, v kakšnem stanju so. Za ta projekt sem uporabil mikrokrmilnik Arduino s senzorjem nivoja vode, LED obročem in LCD zaslonom, da bi sledil, koliko pijač je oseba popil, in nato našel način za oceno vsebnosti alkohola v krvi (BAC) uporabnika glede na spol in težo. Ocenjeni BAC, odvisno od tega, v katerem območju je bil, določa animacijo spodnjega obroča LED. Razpon spada med štiri različna področja: varno, oslabljeno, zastrupljeno in smrtonosno. Upam, da z ustvarjanjem tega projekta ne boste le ustvarili uporabnega projekta Arduino, ampak boste tudi bolje razumeli, kako presnavljamo alkohol, in morda celo nekaj osnovnih programov, če se odločite pregledati kodirano kodo.

Kako skodelica ve, koliko pijač sem popil?

Če analogna vrednost senzorja nivoja vode preseže 300, se logična vrednost, ki predstavlja skodelico, zabeleži kot HIGH (polna). Če je analogna vrednost senzorja pod 300, se logična vrednost skodelice zabeleži kot NIZKA (prazna). Če želite posneti pijačo, ki se dodaja v skodelico, se mora ta logična vrednost spremeniti iz prazne v polno.

Kako ste določili BAC?

Da bi bil projekt čim bolj natančen, sem uporabil podatke Univerze Saint Benedict & Saint John's o tem, koliko se je BAC posameznika povečal na porabljeno pijačo. Ta program pri izračunu BAC uporabnika ne upošteva le teže, temveč tudi spol uporabnika. To je zato, ker BAC temelji na tem, kako hitro lahko telo presnovi alkohol, kar je med moškimi in ženskami ter ljudmi različne teže drugačno. Lestvice si lahko ogledate tukaj.

Zakaj so razponi BAC različni za različne ljudi?

Obseg BAC temelji neposredno na podatkih, pridobljenih z Univerze SBSJ, ki upošteva, koliko alkohola mora imeti uporabnik v svojem sistemu, da je v enem od štirih razponov:

- Varno: edini varen doseg za upravljanje vozila (predstavljeno z mavrično animacijo)

- Oslabljeni: Če upravljate vozilo v tem območju (prikazano z oranžno animacijo), lahko pride do kazenske ovadbe

- Omamljeno: Če upravljate vozilo v tem obsegu (predstavljeno z rdečimi lučmi), bo kazenska ovadba

- Smrtonosno: če še niste izdali, ste v tem območju v neposredni zdravstveni nevarnosti (predstavljena z utripajočimi rdečimi in belimi lučmi)

Lahko pa dobro vzamem alkohol, ali je ta skodelica netočna?

Kako dobro boste delovali po zaužitju alkohola, ne bo veliko pomembno, če med vožnjo presežete zakonsko mejo. Podatki, uporabljeni v tem projektu, upoštevajo, kakšni so pravni in zdravstveni obsegi uporabnikovega BAC, hkrati pa tudi teža in spol uporabnika.

Zaloge

Splošne zaloge elektronike za ta projekt vključujejo:

- Dva gumba

- Mostične žice

- 10k potenciometer

- 2 10k uporov

- 1 220 upor

Posebni deli/moduli:

- Arduino (za ta projekt sem uporabil Uno, vendar obstaja veliko cenejših alternativ)

- Senzor nivoja vode (OPOMBA: Ti senzorji so pogosto netočni in hitro korodirajo, kar je bila velika frustracija pri razvoju tega projekta. Vendar sem našel rešitev, tako da se moje težave s tem projektom niso odrazile v vaših težavah s tem projektom.)

- LED obroč (12 LED)

- LCD zaslon

Orodja:

- spajkalnik (potreben samo pri nakupu LED obroča brez glav)

- 3D tiskalnik (neobvezno)

1. korak: Prenesite Arduino IDE in kopirajte zahtevano kodo

Za ta projekt ni potrebno računalniško programiranje, vse kar morate storiti je, da kodo kopirate od tu in jo prilepite v Arduino IDE. Če želite prenesti Arduino IDE:

Prenos in konfiguracija Arduino IDE:

- Obiščite spletno mesto Arduino in izberite prenos za svoj sistem

- Ko je prenos končan, dobite številko vrat COM za Arduino. Priključite Arduino in se pomaknite do upravitelja naprav. Pod vrati poiščite svoj Arduino in upoštevajte številko vrat. To bi moralo izgledati nekako tako: COMx (kjer je x številka 1-9)

- S številko vrat COM konfigurirajte IDE za svojo ploščo in vrata tako, da odprete Arduino IDE in v zgornji vrstici izberete »Orodja«. Izberite "Board" in izberite svoj model. Nato izberite "Vrata" in v upravitelju naprav izberite vrata, ki ste jih videli za svoj Arduino.

Pridobivanje projektne kode

- Kopirajte kodo iz tega koraka in jo prilepite v beli del Arduino IDE. Najprej izbrišite vse na skici, na primer rutine loop () in void (), saj so te implementirane v kodo, ki jo kopirate in prilepite.

Korak: Prenesite potrebne knjižnice iz Arduino IDE

Knjižnice, uporabljene v tem projektu, vključujejo "Wire", "LiquidCrystal" in "Adafruit Neopixel". Skica potrebuje te knjižnice za komunikacijo s komponentami, uporabljenimi v tem projektu. Če želite prenesti te knjižnice:

- V zgornji vrstici izberite "Skica"

- V spustnem meniju izberite "Vključi knjižnico"

- Izberite "Upravljanje knjižnic"

- Poiščite tri knjižnice (Wire, tekoči kristal in Adafruit Neopixel), uporabljene v tem projektu, in prenesite vsako.

Upoštevajte, da bo pri prenosu teh knjižnic prišlo do napake pri sestavljanju skice. Po tem koraku kabel iz vašega Arduina priključite na prenosni računalnik in pritisnite puščični gumb v zgornjem levem kotu IDE. S tem boste skico prenesli in naložili v Arduino. Zdaj, ko smo končali z vsemi koraki, povezanimi s programiranjem, preidimo na ožičenje!

3. korak: (neobvezno) spajkalne glave na dele

Če ste se odločili za nakup delov za ta projekt, na katere še niso bili vpeti zatiči za glavo, boste to morali storiti sami. Ne skrbite preveč glede tega dela, spajkanje za ta projekt je zelo preprosto.

- Ustvarite prezračeno okolje za spajkanje, po možnosti z ventilatorjem s filtrom. Če nimate takega ventilatorja, lahko naredite to, kar počnem jaz in odprem okna ter vklopim ventilator ali grem v garažo, ko je odprt.

- Segrejte spajkalnik in se prepričajte, da imate tudi mokro gobo, s katere lahko obrišete odvečno spajkanje.

- Nastavite glave in del, v katerega želite pritrditi glave, s pomočjo roke ali drugega orodja, ki vam omogoča, da razporedite dele, hkrati pa držite spajkalnik.

- Med spajanjem glavnega zatiča in dela, na katerega spajate zatiče, se dotaknite spajkalnika. Ko nastane dovolj spajkanja, likalnik odstranite, da zagotovite električni stik med zatiči glave in delom. Odstranite odvečno spajkanje z gobice in ponovite ta postopek za vse zatiče.

- Ko so vsi zatiči spajkani, postavite spajkalnik v stojalo, gumb obrnite na "izklop" in likalnik odklopite. Počakajte, da se likalnik popolnoma ohladi, da ga odstranite.

4. korak: Sledite funkciji Picture and Wire Arduino do komponent

Sledite Picture and Wire Arduinu do komponent
Sledite Picture and Wire Arduinu do komponent

V tem koraku boste morali uporabiti žične mostične žice za povezavo delov, ki so potrebni za projekt, z Arduinom. Za to sem zagotovil datoteko Fritzing, ki jo lahko vidite na tem koraku. Spodaj si oglejte seznam pogostih vprašanj, ki si jih zastavim, če naletim na težavo z ožičenjem:

- Ali sta moja ozemljitvena in napajalna vodila pravilno povezana med seboj ter z vtiči 5v in GND Arduina?

- Ali sem se s potenciometrom zapletel, če se LCD zaslon ne prikazuje? (Poskusite obrniti potenciometer, da spremenite upor, če se beli znaki ne prikažejo pravilno)

- Ali sta GND in VCC pravilno priključena na vsak del s pravilnim zatičem? Ali se uporablja 5-voltna nastavitev? (Vsi senzorji in komponente v tem projektu bodo uporabljali 5 voltov, ne 3,3 volta.

- Je bila žica pomotoma postavljena eno povezavo stran od mesta, kjer naj bi bila?

OPOMBA: Pri delu z elektroniko vedno preverite, ali je vezje med menjavo napajano. V nasprotnem primeru se lahko deli poškodujejo in pri delu z večjo napetostjo lahko pride do telesnih poškodb

5. korak: Sestavite projekt "Coaster"

Sestavite projekt
Sestavite projekt

Morda boste opazili, da glave LED obroča štrlijo in vam ne omogočajo, da skodelico dejansko postavite ravno na površino. Za rešitev tega problema bomo LED obroček pritrdili na 3D natisnjen del, ki bo omogočil, da bo prstan položen ravno na mizo. 3D datoteko najdete na tem koraku. Če nimate 3D tiskalnika, ne skrbite, ta natis je v moji lokalni knjižnici stal 1,40. Če vaša lokalna knjižnica nima 3D tiskalnika, so med drugimi možnostmi sponke in spletni prodajalci. Prav tako je treba opozoriti, da določeni del, ki sem ga priložil, ni edini kompatibilen, je le način, kako narediti model zame. Če se torej dobro ukvarjate z obdelavo lesa ali drugimi obrti, bi to bilo več kot sprejemljivo!

Če se odločite za tiskanje dela za ta projekt:

- Prenesite datoteko STL za uvoz v rezalnik, kot je Cura

- Izmerite premer dna skodelice po vaši izbiri

- Lestvico modela (v milimetrih, če uporabljate Curo) prilagodite svoji meritvi

Korak 6: pritrdite podstavek in senzor na skodelico po vaši izbiri

Podstavite podstavek in senzor na skodelico po vaši izbiri
Podstavite podstavek in senzor na skodelico po vaši izbiri

Nato vzemite podstavek in ga z lepilom pritrdite na dno skodelice, ki ste jo izmerili. Zdaj bodo skakalne žice lahko dostopale do senzorja nivoja vode in LED obroča, poleg tega pa bodo ležale ravno na mizi. Zdaj morate pritrditi senzor. Pri namestitvi senzorja je zelo previdno, saj ti senzorji, čeprav se tržijo kot analogni, v resnici oddajajo le dva signala- voda ali brez vode. To mi je povzročilo veliko težav, vendar sem lahko našel način, kako to rešiti, da drugi pri tem projektu ne bi doživeli enakih frustracij. Ključ je, da senzor postavite blizu vrha, kjer bo tekočina, ko je skodelica polna. To bo zagotovilo, da bo senzor lahko zabeležil "prazno" stanje in bo tako lahko preštel naslednjo točeno pijačo.

7. korak: Polepšajte projekt in zaščitite žice

Polepšajte projekt in zaščitite žice
Polepšajte projekt in zaščitite žice

Na tej točki vam verjetno ostane kopica žic in delov, ki izgledajo kot priložena fotografija. Kaj boste naredili, da bo projekt videti bolje, je v celoti odvisno od vas, če upoštevate ta merila:

- Morate biti sposobni priključiti polnilnik na napajanje Arduina

- Izrezati morate luknje ali oblikovati prostore, da lahko uporabnik dostopa do LCD zaslona, gumbov, senzorja nivoja vode in LED obroča.

- Elektronske komponente morate zaščititi pred zmočitvijo, saj je to možnost, saj se projekt osredotoča na pijače.

Nekaj možnosti za prilogo projekta je:

- Škatla za čevlje ali škatla

- Ohišje projekta za vodotesno elektroniko, kakršno najdemo tukaj

- 3D tiskano oblikovanje (to je možnost, ki sem jo želel uresničiti, vendar je bilo tiskanje takšnega dizajna v moji knjižnici predrago)

8. korak: Pijte odgovorno

Pijte odgovorno!
Pijte odgovorno!

Ko ste skodelico pritrdili na podstavek za vodo in senzor vode, ste pripravljeni! Ko LCD zaslon vas vpraša glede spola in teže, boste vedeli, da vse deluje pravilno. En gumb ustreza teži, drugi pa spolu. Preden jih označite, lahko kliknete vsakega, da vidite, kateri je. Ko izberete pravo težo (vrednosti so v korakih 20) in spol, hkrati pritisnite oba gumba. S tem boste zagnali preostali del programa in obroč LED bo utripal v mavričnem vzorcu. Skodelica je zdaj pripravljena, da si natočite pijačo. Ko porabite in natočite več pijač, bo program uporabil tabelo BAC, obravnavano v uvodu, za določitev BAC. Prosimo, upoštevajte, da ta program predvideva eno standardno pijačo za vsako skodelico. Oglejte si sliko (Univerza v Južni Alabami) ali pa obiščite tukaj in si oglejte, kako se prevaja vaša najljubša pijača. Upoštevajte tudi, da cilj tega projekta ni spodbuditi kakršne koli nezakonite dejavnosti, ampak spodbujati varno pitje tistih, ki so dovolj stari za uživanje alkohola. Čeprav sem zelo zadovoljen, kako natančna ocena BAC predvideva standardno pijačo, je ta projekt orodje, ki vam pomaga pri varni pijači, vendar ne prevzema nobene odgovornosti, če se odločite za vožnjo po zaužitju katerega koli alkohola.

9. korak: (neobvezno) Odpravljanje težav

(Izbirno) Odpravljanje težav
(Izbirno) Odpravljanje težav

- Napaka »Težava pri nalaganju na ploščo«: Ko poskušate sestaviti in naložiti skico v Arduino, bo prišlo do te napake, če vaša vrata COM niso pravilno konfigurirana (glejte prvi korak, kako najti in nastaviti pravilna vrata COM) ali plošča ni priključena.

- LCD zaslon ne prikazuje belih znakov: Če modra lučka vašega LCD zaslona sveti, vendar po nalaganju skice ne vidite belih znakov, je to najverjetneje posledica težav s kontrastom. Če želite to odpraviti, obrnite potenciometer v desno (obrnite se v levo, če vidite bele bloke z vašimi liki).

- Projekt ne šteje pravilno pijač: Ta napaka je težava senzorja nivoja vode. Moduli senzorja nivoja vode hitro korodirajo in so znani kot zelo netočni. Vendar vas to pri tem projektu ne bi smelo skrbeti, saj sem senzor obravnaval kot digitalni senzor in ne kot analogni. Glejte šesti korak, kako pravilno priključiti senzor nivoja vode.

- Modul je zelo vroč in ne pošilja pravilnih vrednosti: To je posledica prekinitve povezave GND ali VCC, verjetno med delom z drugimi žicami. Prepričajte se, da sta povezavi GND in VCC s senzorjem popolni in jim sledite do zatičev GND in 5v od komponente, do plošče do Arduina, da poiščete napake.

- Nehote sem presegel svojo težo: ne skrbite, nastavitev teže se po 240 vrne na 100, tako da lahko samo še naprej obračate možnosti, da se vrnete na svojo težo.

Če težave ne odpravite, priključite kabel iz Arduina na prenosni računalnik, odprite IDE in zaženite skico. Med izvajanjem skice bo na serijskem monitorju prikazanih več vrednosti, ki vam omogočajo, da vidite, kaj ne deluje, kot bi moralo. Za dostop do serijskega monitorja v spustnem meniju zaženite program in "Orodja" ter nato "Serijski monitor".

10. korak: Odsev

Na programski strani sem zelo zadovoljen z izidom tega projekta. Pisanje je trajalo nekaj časa, saj sem še začetnik, vendar sem se lahko naučil veliko novih knjižnic in dosegel cilj napovedovanja BAC, zato menim, da pri ocenjevanju BAC nisem uporabil bližnjic, saj sem uporabljal spol in teža (To je predstavljalo večino skice). Vendar moram odobriti zasnovo. Čeprav nimam 3D tiskalnika ali poznam lesarstva, sem si resnično želel, da bi bil moj projekt predstavljen na boljši način. Nameravam kmalu dobiti Ender 3 in prva stvar, ki jo bom naredil, je, da se vrnem k istemu navodilu za izboljšanje zasnove. Kot moj prvi pouk doslej se mi zdi, da je proces šel dobro in sem zelo zadovoljen, v kolikšni meri je ta projekt obravnaval poziv, ki sem ga ustvaril za Party Challenge, vendar oblikujem nekaj, h čemur bi se kasneje vrnil, ko bom imel sredstva.

Priporočena: