Sadržaj:

Ovog ljeta za zabavu sa Arduino LED čašom koja reagira na krv i alkohol: 10 koraka
Ovog ljeta za zabavu sa Arduino LED čašom koja reagira na krv i alkohol: 10 koraka

Video: Ovog ljeta za zabavu sa Arduino LED čašom koja reagira na krv i alkohol: 10 koraka

Video: Ovog ljeta za zabavu sa Arduino LED čašom koja reagira na krv i alkohol: 10 koraka
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Studeni
Anonim
Zabavite se ovog ljeta s Arduino LED čašom koja reagira na krv i alkohol
Zabavite se ovog ljeta s Arduino LED čašom koja reagira na krv i alkohol

Težina na razini projekta: Srednja

Potrebne vještine:

- čitanje i umnožavanje dijagrama

- Lemljenje ako odlučite ne kupiti prethodno lemljene dijelove

Uvod u projekt

U Sjedinjenim Državama i diljem 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 zlouporabe 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 zaslonom za praćenje koliko je osoba popila pića, a zatim za pronalaženje načina za procjenu sadržaja alkohola u krvi (BAC) korisnika na temelju 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 popila?

Ako analogna vrijednost osjetnika razine vode pređe 300, booleova 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). Za snimanje dodavanja pića u šalicu, ova logička vrijednost mora se promijeniti iz prazne u punu.

Kako ste odredili BAC?

Kako bih ovaj projekt učinio što točnijim, 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 između muškaraca i žena i ljudi različite težine. Tablice se mogu vidjeti ovdje.

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

BAC rasponi temelje se izravno na podacima dobivenim sa Sveučilišta SBSJ, koji uzima u obzir koliko alkohol mora imati korisnik u svom sustavu 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 narančastom animacijom) može doći do kaznene prijave

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

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

Ali ja mogu dobro uzeti alkohol, pa je li ova šalica netočna?

Koliko ćete se dobro ponašati nakon konzumiranja alkohola neće biti važno ako prijeđete zakonsku granicu tijekom 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.

Pribor

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

- Dva gumba

- Žice za kratkospojnike

- 10k potenciometar

- 2 10k otpornika

- 1 220 otpornik

Posebni dijelovi/moduli:

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

- Senzor razine vode (NAPOMENA: Ovi senzori su često netočni 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 s ovim projektom.)

- LED prsten (12 LED dioda)

- LCD ekran

Alati:

- lemilo (potrebno samo ako kupujete LED prsten bez zaglavlja)

- 3D pisač (po izboru)

Korak 1: Preuzmite Arduino IDE i kopirajte potrebni kod

Za ovaj projekt nije potrebno računalno programiranje, sve što trebate učiniti je kopirati kôd 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 sustav

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

- Pomoću broja 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. Najprije izbrišite sve na skici, kao što su petlje () i void () rutine, jer su one implementirane u kôd koji kopirate i lijepite.

Korak 2: Preuzmite potrebne knjižnice s Arduino IDE -a

Knjižnice koje se koriste u ovom projektu uključuju "Wire", "LiquidCrystal" i "Adafruit Neopixel". Skici su ove knjižnice potrebne za komunikaciju sa komponentama koje se koriste u ovom projektu. Za preuzimanje ovih knjižnica:

- Odaberite "Skica" na gornjoj traci

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

- Odaberite "Upravljanje knjižnicama"

- Potražite tri knjižnice (žica, tekući kristal i Adafruit Neopixel) koje se koriste u ovom projektu i preuzmite svaku.

Imajte na umu da će neuspjeh preuzimanja ovih knjižnica dovesti do pogreške tijekom sastavljanja skice. Nakon ovog koraka, spojite kabel s vašeg Arduina na prijenosno računalo i pritisnite gumb sa strelicom u gornjem lijevom kutu IDE-a. Ovo će sastaviti i prenijeti skicu na Arduino. Sada kada smo završili sa svim koracima vezanim uz programiranje, prijeđimo na ožičenje!

Korak 3: (Izborno) 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 i otvoriti prozore te uključiti ventilator ili otići u garažu dok je otvoren.

- Zagrijte lemilicu i pobrinite se da imate i mokru 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 dok vam omogućuje držanje lemilice.

- Lemilicom dodirnite lemilicu dok ste na spoju između zaglavlja i dijela na koji lemite igle. Skinite glačalo kad se stvori dovoljno lemljenja kako bi se osigurao električni kontakt između klinova 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 u stalak, okrenite gumb na "off" i isključite glačalo iz utičnice. Sačekajte da se glačalo potpuno ohladi pa ga odložite.

Korak 4: Slijedite Picture and Wire Arduino na komponente

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 popis uobičajenih pitanja koja si postavljam ako naiđem na problem s ožičenjem:

- Jesu li moje trake za uzemljenje i napajanje ispravno povezane jedna s drugom i 5v i GND pinovi Arduina?

- Jesam li zeznuo svoj potenciometar ako se LCD zaslon ne prikazuje? (Pokušajte okrenuti potenciometar da promijenite otpor ako se bijeli znakovi ne pojavljuju ispravno)

- 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 koristit će 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 strujni krug ne napaja dok se mijenja. U protivnom se mogu oštetiti dijelovi, a pri radu s većim naponom može doći do tjelesnih ozljeda

Korak 5: Sastavite projekt "Coaster"

Sastavi projekt
Sastavi projekt

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 pisač, ne brinite, ovaj je otisak u mojoj lokalnoj knjižnici koštao 1,40 kuna. Ako vaša lokalna knjižnica nema 3d pisač, ostale mogućnosti uključuju spajalice i mrežne prodavače. Također treba napomenuti da određeni dio koji sam priložio nije jedini kompatibilan, to je 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 šalice po vašem izboru

- Podesite ljestvicu 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 šalicu po vašem izboru
Priključite podmetač i senzor na šalicu 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 osjetniku razine vode i LED prstenu, a također će ležati ravno na stolu. Sada morate priključiti senzor. Vrlo je važno biti pažljiv pri postavljanju senzora, jer ti senzori, iako se prodaju kao analogni, doista 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 s ovim projektom. Ključ je postaviti senzor blizu vrha mjesta na kojem će biti tekućina kad je šalica puna. To ć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 vjerojatno 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 sljedeće kriterije:

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

- Morate izrezati rupe ili oblikovati prostore kako bi korisnik mogao pristupiti LCD zaslonu, gumbima, osjetniku razine 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 od mogućnosti za prilaganje projekta su:

- Kutija za cipele ili karton

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

- 3D tiskani dizajn (ovo je opcija kojom sam se želio baviti, međutim, preskupo je bilo ispisati ovakav dizajn u mojoj knjižnici)

Korak 8: Pijte odgovorno

Pijte odgovorno!
Pijte odgovorno!

Nakon što ste čašu pričvrstili na podmetač za vodu i senzor za vodu, spremni ste! Znat ćete da sve radi ispravno kada vas LCD zaslon upita za spol i težinu. Jedan gumb odgovara težini, dok drugi odgovara spolu. Možete kliknuti 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. Time će se pokrenuti ostatak programa i vidjet ćete kako LED prsten treperi u obliku duge. Šalica je sada spremna za točenje pića. Dok budete konzumirali i točili više pića, program će koristiti BAC tablicu 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 (Sveučilište Južna Alabama) ili posjetite ovdje kako biste vidjeli kako se vaše omiljeno piće prevodi. Također imajte na umu da cilj ovog projekta nije potaknuti bilo kakve ilegalne 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

(Izborno) Rješavanje problema
(Izborno) Rješavanje problema

- Pogreška "Problem pri prijenosu na ploču": Prilikom pokušaja sastavljanja i prijenosa 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 zaslon ne prikazuje bijele znakove: Ako je plavo svjetlo vašeg LCD -a uključeno, ali ne vidite bijele znakove nakon učitavanja skice, to je najvjerojatnije zbog problema s kontrastom. Da biste to riješili, okrenite potenciometar udesno (okrenite se ulijevo ako vidite bijele blokove sa svojim likovima).

- Projekt ne broji ispravno piće: ova pogreška je problem senzora razine vode. Moduli senzora razine vode brzo korodiraju i poznati su po tome što su vrlo netočni. 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 osjetnik razine vode.

- Modul je jako vruć i ne šalje ispravne vrijednosti: To je rezultat prekida veze GND ili VCC, vjerojatno tijekom rada s drugim žicama. Provjerite jesu li veze GND i VCC 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 nastaviti 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 bit će prikazano na serijskom monitoru, omogućujući vam da vidite što ne funkcionira kako bi trebalo. Za pristup serijskom monitoru pokrenite program i "Alati", a zatim "Serijski monitor" s padajućeg izbornika.

Korak 10: Razmišljanje

Što se tiče programiranja, jako sam zadovoljan načinom na koji je ovaj projekt ispao. Pisanje mi je trebalo neko vrijeme jer sam još početnik, ali uspio sam naučiti mnoge nove knjižnice 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 vratiti se na istu instrukciju kako bih poboljšao dizajn. Kao moj prvi instruktor ikada, 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čeni: