Sadržaj:

Zabavite se ovog ljeta sa Arduino LED čašom koja reagira na krv na alkohol: 10 koraka
Zabavite se ovog ljeta sa Arduino LED čašom koja reagira na krv na alkohol: 10 koraka

Video: Zabavite se ovog ljeta sa Arduino LED čašom koja reagira na krv na alkohol: 10 koraka

Video: Zabavite se ovog ljeta sa Arduino LED čašom koja reagira na krv na alkohol: 10 koraka
Video: $93 Cheapest room on japan overnight sleeper ferry 😴🛳 12 hours boat trip|Osaka to Beppu| 2024, Novembar
Anonim
Zabavite se ovog ljeta sa Arduino LED čašom koja reagira na krv na alkohol
Zabavite se ovog ljeta sa Arduino LED čašom koja reagira na krv na alkohol

Težina na nivou projekta: srednja

Potrebne vještine:

- čitanje i umnožavanje dijagrama

- Lemljenje ako odlučite da ne kupujete prethodno lemljene delove

Uvod u projekat

U Sjedinjenim Državama i širom svijeta alkohol predstavlja ozbiljnu prijetnju zdravlju ako se konzumira na neodgovoran način. Smrt uslijed vožnje pod utjecajem i oštećenje jetre, kao i dugoročni učinci, poput mogućeg oštećenja mozga i bubrega, mogu biti posljedica neodgovornog konzumiranja alkohola. Samo u Sjedinjenim Državama zbog zloupotrebe alkohola izgubljeno je 250 milijardi dolara (NIAAA, 2010), kao i preko 88 000 ljudi, pa je alkohol treći vodeći uzrok smrti u zemlji koji se može spriječiti. Pitanje za ovaj projekt je kao tvorci, kako možemo riješiti ovaj problem i pobrinuti se da zabavne proslave uz alkoholne zabave ostanu sigurne i zabavne?

Moj odgovor na ovo pitanje bio je pronaći način za procjenu, a zatim vizualizaciju predviđenog BAC -a korisnika kako bi im se omogućilo da bolje razumiju u kakvom su stanju. Za ovaj projekt koristio sam Arduino mikrokontroler sa senzorom razine vode, LED prstenom i LCD ekranom kako bih pratio koliko je pića osoba konzumirala, a zatim pronašao način da procijenim sadržaj alkohola u krvi (BAC) korisnika na osnovu spola i težine. Procijenjeni BAC, ovisno o rasponu u kojem se nalazi, određuje animaciju LED prstena ispod. Rasponi se nalaze između četiri različita područja: sigurnog, oštećenog, opijenog i smrtonosnog. Nadam se da ćete stvaranjem ovog projekta ne samo stvoriti upotrebljiv Arduino projekt, već ste stekli i bolje razumijevanje načina na koji metaboliziramo alkohol, a možda čak i neke osnovne programe ako odlučite pregledati kodirani kod.

Kako šalica zna koliko sam pića popio?

Ako analogna vrijednost senzora nivoa vode pređe 300, logička vrijednost koja predstavlja šalicu bit će zabilježena kao HIGH (puna). Ako je analogna vrijednost senzora ispod 300, logička vrijednost koja predstavlja šalicu bit će zabilježena kao LOW (prazna). Da biste zabilježili dodavanje pića u šolju, ova logička vrijednost mora se promijeniti iz prazne u punu.

Kako ste odredili BAC?

Kako bih ovaj projekt učinio što preciznijim, upotrijebio sam podatke sa Sveučilišta Saint Benedict & Saint John's o tome koliko se BAC pojedinca povećao po konzumiranom piću. Ovaj program ne uzima u obzir samo težinu, već i spol korisnika u izračunu BAC -a korisnika. To je zato što se BAC temelji na tome koliko brzo tijelo može metabolizirati alkohol, što je različito kod muškaraca i žena i ljudi različite težine. Tabele se mogu vidjeti ovdje.

Zašto su rasponi BAC različiti za različite ljude?

BAC rasponi temelje se izravno na podacima dobivenim sa Univerziteta SBSJ, koji uzima u obzir količinu alkohola koju korisnik mora imati u svom sistemu da bi bio u jednom od četiri raspona:

- Sigurno: Jedini siguran domet za upravljanje vozilom (predstavljeno animacijom duge)

- Oštećen: Ako upravljate vozilom u ovom rasponu (prikazano narandžastom animacijom) može doći do krivične prijave

- U alkoholiziranom stanju: Ako upravljate vozilom u ovom rasponu (predstavljeno crvenim svjetlima), podnijet će se kaznena prijava

- Smrtonosno: Ako niste već izdahnuli, u ovom ste rasponu u neposrednoj zdravstvenoj opasnosti (predstavljeno trepćućim crvenim i bijelim svjetlima)

Ali mogu dobro podnijeti alkohol, pa je li ova šalica neprecizna?

Koliko ćete dobro djelovati nakon konzumiranja alkohola neće biti važno ako prijeđete zakonsku granicu tokom vožnje. Podaci korišteni u ovom projektu razmatraju koji su pravni i medicinski rasponi korisničkog BAC -a, uzimajući u obzir i težinu i spol korisnika.

Supplies

Opće zalihe elektronike za ovaj projekt uključuju:

- Dva tastera

- Žice za spajanje

- 10k potenciometar

- 2 10k otpornika

- 1 220 otpornik

Posebni dijelovi/moduli:

- Arduino (koristio sam Uno za ovaj projekt, ali postoje mnoge jeftinije alternative)

- Senzor nivoa vode (NAPOMENA: Ovi senzori su često neprecizni i brzo korodiraju, što je bila velika frustracija u razvoju ovog projekta. Međutim, uspio sam pronaći rješenje tako da se moje poteškoće s ovim projektom nisu pretočile u vaše poteškoće sa ovim projektom.)

- LED prsten (12 LED dioda)

- LCD ekran

Alati:

- lemilica (potrebna samo ako kupujete LED prsten bez zaglavlja)

- 3D štampač (opcionalno)

Korak 1: Preuzmite Arduino IDE i kopirajte potreban kod

Za ovaj projekt nije potrebno računarsko programiranje, sve što trebate učiniti je kopirati kod odavde i zalijepiti ga u Arduino IDE. Da biste preuzeli Arduino IDE:

Preuzimanje i konfiguriranje Arduino IDE -a:

- Posjetite web mjesto Arduino i odaberite preuzimanje za svoj sistem

- Nakon što je preuzimanje završeno, nabavite broj COM porta za Arduino. Priključite Arduino i idite do Upravitelja uređaja. Pod portovima potražite svoj Arduino i zapišite broj porta. To bi trebalo izgledati otprilike ovako: COMx (Gdje je x broj 1-9)

- Koristeći broj COM porta, konfigurirajte IDE za svoju ploču i port otvaranjem Arduino IDE -a i odabirom "Alati" na gornjoj traci. Odaberite "Board" i odaberite svoj model. Zatim odaberite "Port" i odaberite port koji ste vidjeli za svoj Arduino u Upravitelju uređaja.

Dobivanje projektnog koda

- Kopirajte kôd iz ovog koraka i zalijepite ga u bijeli dio Arduino IDE -a. Pobrinite se da prvo izbrišete sve na skici, kao što su petlje () i void () rutine, jer su one implementirane u kod koji kopirate i lijepite.

Korak 2: Preuzmite potrebne biblioteke s Arduino IDE -a

Biblioteke koje se koriste u ovom projektu uključuju "Wire", "LiquidCrystal" i "Adafruit Neopixel". Skici su potrebne ove biblioteke za komunikaciju sa komponentama koje se koriste u ovom projektu. Da biste preuzeli ove biblioteke:

- Odaberite "Sketch" na gornjoj traci

- Odaberite "Uključi biblioteku" s padajućeg izbornika

- Odaberite "Upravljanje bibliotekama"

- Potražite tri biblioteke (žica, tečni kristal i Adafruit Neopixel) koje se koriste u ovom projektu i preuzmite svaku.

Imajte na umu da će neuspjeh preuzimanja ovih biblioteka rezultirati greškom tokom sastavljanja skice. Nakon ovog koraka, priključite kabel sa svog Arduina na prijenosno računalo i pritisnite tipku sa strelicom u gornjem lijevom kutu IDE-a. Ovo će sastaviti i učitati skicu na Arduino. Sada kada smo završili sa svim koracima vezanim za programiranje, idemo na ožičenje!

Korak 3: (Opcionalno) Zaglavlja lemljenja na dijelove

Ako ste se odlučili za kupnju dijelova za ovaj projekt na kojima već nisu bile zalemljene igle zaglavlja, to ćete morati učiniti sami. Ne brinite previše oko ovog dijela, lemljenje za ovaj projekt je vrlo jednostavno.

- Stvorite ventilirano okruženje za lemljenje, po mogućnosti s ventilatorom koji sadrži filter. Ako nemate takav ventilator, možete učiniti ono što ja radim, otvoriti prozore i uključiti ventilator ili otići u garažu dok je otvoren.

- Zagrijte lemilicu i pobrinite se da imate i vlažnu spužvu za brisanje viška lema.

- Postavite zaglavlja i dio u koji želite pričvrstiti zaglavlja pomoću ruke za pomoć ili drugog alata koji vam omogućuje da rasporedite dijelove, a istovremeno vam omogućuje da držite lemilicu.

- Dodirnite lemljenje lemilicom dok ste na spoju između zaglavlja i dela na koji lemite igle. Skinite peglu kada se formira dovoljno lemljenja kako biste osigurali električni kontakt između igala zaglavlja i dijela. Obrišite sav višak lema sa spužve i ponovite ovaj postupak za sve igle.

- Nakon što su sve igle zalemljene, postavite lemilicu na postolje, okrenite dugme na "isključeno" i isključite peglu iz utičnice. Sačekajte da se pegla potpuno ohladi i odložite je.

Korak 4: Slijedite Picture and Wire Arduino do komponenti

Slijedite Picture and Wire Arduino do komponenti
Slijedite Picture and Wire Arduino do komponenti

U ovom koraku morat ćete koristiti kratkospojne žice za povezivanje dijelova potrebnih za projekt s Arduinom. Za to sam dao datoteku Fritzing, što se može vidjeti na ovom koraku. U nastavku pogledajte listu uobičajenih pitanja koja si postavljam ako naiđem na problem s ožičenjem:

- Jesu li moje uzemljenje i strujne šine pravilno povezane jedna s drugom i 5v i GND pinovi Arduina?

- Da li sam zeznuo svoj potenciometar ako se LCD ekran ne prikazuje? (Pokušajte okrenuti potenciometar da promijenite otpor ako se bijeli znakovi ne pojavljuju pravilno)

- Jesu li GND i VCC pravilno spojeni na svaki dio ispravnim pinom? Koristi li se postavka od 5 volti? (Svi senzori i komponente u ovom projektu će koristiti 5 volti, a ne 3,3 volti.

- Je li žica slučajno postavljena jednu vezu dalje od mjesta na kojem je trebala biti?

NAPOMENA: Prilikom rada s elektronikom uvijek pazite da se strujno kolo ne napaja dok se mijenja. U suprotnom, dijelovi se mogu oštetiti, a pri radu s većim naponom može doći do tjelesnih ozljeda

Korak 5: Sastavite projekt "Coaster"

Sastavi projekat
Sastavi projekat

Možda ćete primijetiti da zaglavlja LED prstena strše i ne dopuštaju vam da čašu postavite ravno na površinu. Kako bismo riješili ovaj problem, pričvrstit ćemo LED prsten na 3D ispisani dio koji će omogućiti da se prsten položi ravno na stol. 3D datoteka se može pronaći na ovom koraku. Ako nemate 3D štampač, ne brinite, ovaj otisak je koštao 1,40 dolara u mojoj lokalnoj biblioteci. Ako vaša lokalna biblioteka nema 3D štampač, ostale opcije uključuju spajalice i mrežne prodavce. Također treba napomenuti da određeni dio koji sam priložio nije jedini kompatibilan, već je to samo način da napravim model za mene. Dakle, ako ste dobri u obradi drveta ili drugim zanatima, to bi bilo više nego prihvatljivo!

Ako odlučite ispisati dio za ovaj projekt:

- Preuzmite STL datoteku za uvoz na rezač poput Cure

- Izmjerite promjer dna čaše po vašem izboru

- Podesite skalu modela (u milimetrima ako koristite Cura) svom mjerenju

Korak 6: Pričvrstite podmetač i senzor na čašu po vašem izboru

Priključite podmetač i senzor na čašu po vašem izboru
Priključite podmetač i senzor na čašu po vašem izboru

Zatim uzmite podmetač i ljepilom ga pričvrstite na dno šalice koju ste izmjerili. Sada će kratkospojne žice moći pristupiti senzoru nivoa vode i LED prstenu, a također će ležati ravno na stolu. Sada morate priključiti senzor. Vrlo je važno voditi računa o postavljanju senzora, jer ti senzori, iako se prodaju kao analogni, zaista ispuštaju samo dva signala- voda ili bez vode. To mi je izazvalo mnogo problema, ali uspio sam pronaći način da to riješim kako drugi ne bi doživjeli iste frustracije zbog ovog projekta. Ključ je postaviti senzor blizu vrha mjesta na kojem će se nalaziti tekućina kada je šalica puna. Ovo će osigurati da senzor može registrirati "prazno" stanje i stoga moći prebrojati sljedeće točeno piće.

Korak 7: Uljepšajte projekt i zaštitite žice

Uljepšajte projekt i zaštitite žice
Uljepšajte projekt i zaštitite žice

U ovom trenutku vjerovatno vam ostaje gomila žica i dijelova koji izgledaju kao priložena fotografija. Na vama je da učinite da projekt izgleda bolje, sve dok imate na umu ove kriterije:

- Morate biti u mogućnosti priključiti punjač na napajanje Arduina

- Morate izrezati rupe ili dizajnirati prostore kako bi korisnik mogao pristupiti LCD ekranu, tipkama, senzoru nivoa vode i LED prstenu.

- Morate zaštititi elektroničke komponente od vlaženja, jer je to mogućnost budući da se projekt fokusira na pića.

Neki izbori za prilaganje projekta su:

- Kutija za cipele ili karton

- Vodootporno elektroničko kućište poput ovog koje se ovdje nalazi

- 3D štampani dizajn (ovo je opcija kojom sam se želio baviti, međutim, preskupo je bilo štampati ovakav dizajn u mojoj biblioteci)

Korak 8: Pijte odgovorno

Pijte odgovorno!
Pijte odgovorno!

Nakon što ste pričvrstili čašu na podmetač za vodu i senzor za vodu, spremni ste! Znat ćete da sve radi ispravno kada vas LCD ekran upita za spol i težinu. Jedno dugme odgovara težini, a drugo spolu. Možete kliknuti na svaku od njih prije nego što je označite. Nakon što odaberete ispravnu težinu (vrijednosti su u koracima od 20) i spol, istovremeno pritisnite oba gumba. Ovo će pokrenuti ostatak programa i vidjet ćete kako LED prsten treperi u obliku duge. Šolja je sada spremna za sipanje pića. Dok konzumirate i sipate više pića, program će koristiti BAC tabelu o kojoj se govori u uvodu za određivanje BAC -a. Imajte na umu da ovaj program pretpostavlja jedno standardno piće za svaku šalicu, pogledajte sliku (Univerzitet Južne Alabame) ili posjetite ovdje da vidite kako se vaše omiljeno piće prevodi. Također imajte na umu da cilj ovog projekta nije poticanje bilo kakvih nezakonitih aktivnosti, već promicanje sigurnog pijenja za one dovoljno stare da konzumiraju alkohol. Također, iako sam jako zadovoljan koliko točna procjena BAC -a pretpostavlja standardno piće, ovaj projekt je alat koji će vam pomoći da pijete na siguran način, ali ne snosi nikakvu odgovornost ako se odlučite za vožnju nakon konzumiranja alkohola.

Korak 9: (Opcionalno) Rješavanje problema

(Opcionalno) Rješavanje problema
(Opcionalno) Rješavanje problema

- Greška "Problem pri učitavanju na ploču": Prilikom pokušaja kompajliranja i postavljanja skice na Arduino, ova će se pogreška pojaviti ako vaš COM port nije ispravno konfiguriran (Pogledajte prvi korak o tome kako pronaći i postaviti ispravan COM port) ili ploča nije priključena.

- LCD ekran ne prikazuje bijele znakove: Ako je plavo svjetlo vašeg LCD -a uključeno, ali ne vidite bijele znakove nakon postavljanja skice, to je najvjerojatnije zbog problema s kontrastom. Da biste to riješili, samo okrenite potenciometar udesno (Okrenite se ulijevo ako vidite bijele blokove sa svojim likovima).

- Projekat ne broji pravilno piće: Ova greška je problem senzora nivoa vode. Moduli senzora nivoa vode korodiraju brzo i poznati su po tome što su vrlo neprecizni. Međutim, to vas ne bi trebalo zabrinuti za ovaj projekt, jer sam senzor tretirao kao digitalni senzor, a ne kao analogni. Pogledajte korak šest o tome kako pravilno spojiti senzor nivoa vode.

- Modul je izuzetno vruć i ne šalje ispravne vrijednosti: To je rezultat prekida veze GND ili VCC, vjerojatno za vrijeme rada s drugim žicama. Provjerite jesu li GND i VCC veze sa senzorom potpune i slijedite ih do GND i 5v pinova od komponente, do matične ploče, do Arduina da biste pronašli greške.

- Slučajno sam prešao svoju težinu: Ne brinite, postavka težine se vraća na 100 nakon 240, tako da možete samo rotirati kroz opcije kako biste se vratili na svoju težinu.

Ako problemi nastave, spojite kabel s Arduina na prijenosno računalo, otvorite IDE i pokrenite skicu. Dok se skica izvodi, nekoliko vrijednosti će se prikazati na serijskom monitoru, omogućavajući vam da vidite šta ne funkcionira kako bi trebalo. Da biste pristupili serijskom monitoru, pokrenite program i "Alati", a zatim "Serijski monitor" iz padajućeg izbornika.

Korak 10: Razmišljanje

Što se tiče programiranja, vrlo sam zadovoljan načinom na koji je ovaj projekat ispao. Pisanje mi je trebalo neko vrijeme jer sam još početnik, ali sam uspio naučiti mnoge nove biblioteke i postići cilj predviđanja BAC -a, i osjećam da nisam uzimao prečice u procjeni BAC -a jer sam koristio i spol i težina (Ovo je činilo većinu skice). Međutim, moram odobriti dizajn. Iako ne posjedujem 3D pisač niti poznajem obradu drveta, zaista sam želio da moj projekt bude predstavljen na bolji način. Namjeravam uskoro nabaviti Ender 3, a prvo što ću učiniti je da se vratim na istu instrukciju kako bih poboljšao dizajn. Kao moj prvi instruktor ikad, osjećam da je proces dobro prošao i jako sam zadovoljan koliko se ovaj projekt bavio zahtjevom koji sam stvorio za Party Challenge, ali osmislite nešto na što bih se kasnije želio vratiti kad budem imao sredstava.

Preporučuje se: