Cuprins:
- Provizii
- Pasul 1: Descărcați Arduino IDE și copiați codul necesar
- Pasul 2: Descărcați bibliotecile necesare din Arduino IDE
- Pasul 3: (Opțional) Anteturi de lipit pe piese
- Pasul 4: urmați Picture and Wire Arduino la componente
- Pasul 5: Asamblați proiectul „Coaster”
- Pasul 6: Atașați coasterul și senzorul la Cupa la alegere
- Pasul 7: Înfrumusețează proiectul și protejează firele
- Pasul 8: Bea responsabil
- Pasul 9: (Opțional) Depanare
- Pasul 10: Reflecție
Video: Sărbătoriți în această vară cu o cupă cu LED-uri Arduino cu alcool în sânge: 10 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Dificultate la nivel de proiect: intermediar
Aptitudinile necesare:
- Citirea și reproducerea unei diagrame
- Lipire dacă alegeți să nu achiziționați piese pre-lipite
Introducerea proiectului
În Statele Unite și în întreaga lume, alcoolul a reprezentat amenințări grave pentru sănătate atunci când este consumat într-un mod iresponsabil. Decesele cauzate de conducere sub influența și afectarea ficatului, precum și efectele pe termen lung, cum ar fi posibilele leziuni ale creierului și rinichilor, pot rezulta din consumul iresponsabil de alcool. Numai în Statele Unite, 250 de miliarde de dolari s-au pierdut din cauza abuzului de alcool (NIAAA, 2010), precum și a peste 88 000 de persoane, făcând alcoolul a treia cauză de deces care poate fi prevenită în țară. Întrebarea pentru acest proiect este ca factorii de decizie, cum putem rezolva această problemă și să ne asigurăm că serbările distractive cu alcool, precum petrecerile, pot rămâne în siguranță și distractive?
Răspunsul meu la această întrebare a fost să găsesc o modalitate de a estima și apoi de a vizualiza BAC-ul prevăzut al utilizatorului pentru a le permite să înțeleagă mai bine în ce stare se aflau. Pentru acest proiect, am folosit microcontrolerul Arduino cu senzor de nivel de apă, inel cu LED și ecran LCD pentru a urmări câte băuturi a consumat o persoană și apoi pentru a găsi o modalitate de a estima conținutul de alcool în sânge (BAC) al utilizatorul în funcție de sex și greutate. BAC estimat, în funcție de intervalul în care se afla, determină animația inelului LED de mai jos. Intervalele se încadrează între patru zone distincte: Sigur, afectat, intoxicat și mortal. Speranța mea este că, prin crearea acestui proiect, nu numai că veți fi creat un proiect Arduino utilizabil, dar și veți dobândi o mai bună înțelegere a modului în care metabolizăm alcoolul și, eventual, chiar și o anumită programare de bază, dacă alegeți să căutați peste codul comentat.
De unde știe cupa câte băuturi am băut?
Dacă valoarea analogică a senzorului de nivel al apei depășește 300, o valoare booleană care reprezintă cupa va fi înregistrată ca HIGH (completă). Dacă valoarea analogică a senzorului este sub 300, valoarea booleană care reprezintă cupa va fi înregistrată ca LOW (gol). Pentru a înregistra o băutură adăugată la ceașcă, această valoare booleană trebuie să se schimbe de la gol la plin.
Cum ați determinat BAC?
Pentru a face acest proiect cât mai exact posibil, am folosit date de la Universitatea Saint Benedict & Saint John's despre cât a crescut BAC-ul unei persoane pe băutură consumată. Acest program nu ia în considerare doar greutatea, ci și sexul utilizatorului în calculul BAC al utilizatorului. Acest lucru se datorează faptului că BAC se bazează pe cât de repede un organism este capabil să metabolizeze alcoolul, care este diferit între bărbați și femei și oameni cu greutăți diferite. Graficele pot fi văzute aici.
De ce intervalele BAC diferă pentru diferite persoane?
Gama BAC se bazează direct pe datele obținute de la Universitatea SBSJ, care ia în considerare cât de mult alcool trebuie să aibă un utilizator în sistemul său pentru ca acesta să se afle în una din cele patru game:
- Sigur: Singura gamă sigură în care se poate opera un vehicul (reprezentată de animație curcubeu)
- Deficiență: pot rezulta acuzații penale dacă folosiți un vehicul în acest interval (reprezentat de animație portocalie)
- Intoxicat: vor exista acuzații penale dacă folosiți un vehicul în acest interval (reprezentat de lumini roșii)
- Mortal: dacă nu v-ați leșinat deja, vă aflați în pericol medical imediat în acest interval (reprezentat de lumini intermitente roșii și albe)
Dar pot să iau alcool bine, deci este această cană inexactă?
Cât de bine sunteți capabil să acționați după ce ați consumat alcool, nu va conta mult dacă depășiți limita legală în timp ce conduceți. Datele utilizate în acest proiect iau în considerare care sunt gamele legale și medicale ale BAC ale unui utilizator, luând în considerare, de asemenea, greutatea și sexul utilizatorului.
Provizii
Consumabile electronice generale pentru acest proiect includ:
- Două butoane
- fire de jumper
- Potențiometru de 10k
- 2 rezistențe de 10k
- 1 220 rezistor
Piese / module speciale:
- Un Arduino (am folosit un Uno pentru acest proiect, dar există multe alternative mai ieftine)
- Un senzor de nivel al apei (NOTĂ: Acești senzori sunt adesea inexacti și se corodează rapid, ceea ce a constituit o frustrare majoră a dezvoltării acestui proiect. Cu toate acestea, am putut găsi o soluție, astfel încât dificultățile mele cu acest proiect să nu se traducă în dificultățile dvs. cu acest proiect.)
- Un inel cu LED (12 LED-uri)
- Un ecran LCD
Instrumente:
- Fier de lipit (Este necesar doar dacă cumpărați inel cu LED fără anteturi)
- imprimantă 3D (opțional)
Pasul 1: Descărcați Arduino IDE și copiați codul necesar
Nu este necesară programarea computerului pentru acest proiect, tot ce trebuie să faceți este să copiați codul de aici și să-l inserați în IDE-ul Arduino. Pentru a descărca ID-ul Arduino:
Descărcarea și configurarea Arduino IDE:
- Accesați site-ul web Arduino și alegeți descărcarea pentru sistemul dvs.
- După finalizarea descărcării, obțineți numărul portului COM pentru Arduino. Conectați Arduino și navigați la Device Manager. Sub porturi, căutați Arduino și luați notă de numărul portului. Ar trebui să arate cam așa: COMx (Unde x este un număr 1-9)
- Folosind numărul portului COM, configurați IDE-ul pentru placa și portul dvs. deschizând ID-ul Arduino și selectând „Instrumente” în bara de sus. Selectați „Board” și alegeți modelul. Apoi, alegeți „Port” și selectați portul pe care l-ați văzut pentru Arduino în Device Manager.
Obținerea codului proiectului
- Copiați codul din acest pas și lipiți-l în secțiunea albă a IDE Arduino. Asigurați-vă că ștergeți mai întâi totul din schiță, cum ar fi rutinele loop () și void (), deoarece acestea sunt implementate în codul pe care îl copiați și lipiți.
Pasul 2: Descărcați bibliotecile necesare din Arduino IDE
Bibliotecile utilizate în acest proiect includ „Wire”, „LiquidCrystal” și „Adafruit Neopixel”. Schița are nevoie de aceste biblioteci pentru a comunica cu componentele utilizate în acest proiect. Pentru a descărca aceste biblioteci:
- Selectați „Schiță” în bara de sus
- Selectați „Includeți biblioteca” din meniul derulant
- Selectați „Gestionați bibliotecile”
- Căutați cele trei biblioteci (Sârmă, cristal lichid și Adafruit Neopixel) utilizate în acest proiect și descărcați fiecare.
Vă rugăm să rețineți că eșecul descărcării acestor biblioteci va duce la o eroare în timpul compilării schiței. După acest pas, atașați cablul de la Arduino la laptop și apăsați butonul săgeată din colțul din stânga sus al IDE. Aceasta va compila și încărca schița pe Arduino. Acum, că am terminat cu toți pașii legați de programare, să trecem la cablare!
Pasul 3: (Opțional) Anteturi de lipit pe piese
Dacă ați optat pentru achiziționarea de piese pentru acest proiect care nu aveau deja știfturi antet lipite pe ele, va trebui să faceți acest lucru singur. Nu vă faceți griji prea mult pentru această parte, lipirea pentru acest proiect este foarte simplă.
- Creați un mediu ventilat pentru a lipi, de preferință cu un ventilator care conține un filtru. Dacă nu aveți un astfel de ventilator, puteți face ceea ce fac și să deschideți ferestrele și să porniți ventilatorul sau să mergeți la garaj cât este deschis.
- Încălziți fierul de lipit și asigurați-vă că aveți și un burete umed pentru a șterge excesul de lipit.
- Configurați antetele și piesa pe care doriți să le atașați anteturile folosind o mână de ajutor sau un alt instrument care vă permite să aranjați piesele în timp ce vă permite să țineți fierul de lipit.
- Atingeți lipirea pe fierul de lipit în timp ce vă aflați pe conexiunea dintre știftul de antet și partea în care lipiți știfturile. Scoateți fierul de călcat atunci când s-a format suficient lipire pentru a asigura contactul electric între știfturile antet și piesă. Ștergeți orice exces de lipit de pe burete și repetați acest proces pentru toate știfturile.
- După ce toate știfturile sunt lipite, așezați fierul de lipit în suport, rotiți butonul la „oprit” și deconectați fierul. Așteptați până când fierul de călcat s-a răcit complet pentru al pune deoparte.
Pasul 4: urmați Picture and Wire Arduino la componente
În acest pas, va trebui să utilizați fire jumper pentru a conecta piesele necesare proiectului la Arduino. Am furnizat un fișier Fritzing pentru a face acest lucru, care poate fi văzut la acest pas. Vă rugăm să consultați mai jos o listă de întrebări obișnuite pe care mi le pun dacă întâlnesc o problemă cu cablarea:
- Pământul și șinele de alimentare sunt conectate corect între ele și pinii 5v și GND ai Arduino?
- M-am încurcat cu potențiometrul dacă nu se afișează ecranul LCD? (Încercați să rotiți potențiometrul pentru a schimba rezistența dacă caracterele albe nu apar corect)
- GND și VCC sunt conectate corect la fiecare piesă la pinul corect? Se folosește setarea de 5 volți? (Toți senzorii și componentele din acest proiect vor folosi 5 volți, nu 3,3 volți.
- A fost plasat accidental o sârmă o conexiune departe de locul în care trebuia să fie?
NOTĂ: Când lucrați cu electronice, asigurați-vă întotdeauna că circuitul nu este alimentat în timp ce este schimbat. În caz contrar, piesele pot fi deteriorate și atunci când se lucrează cu tensiuni mai mari, ar putea rezulta vătămări corporale
Pasul 5: Asamblați proiectul „Coaster”
Este posibil să observați că anteturile inelului cu LED-uri ies și nu vă permit să așezați efectiv cupa pe o suprafață. Pentru a rezolva această problemă, vom atașa inelul cu LED-uri la o parte imprimată 3D care va permite plasarea inelului plat pe o masă. Fișierul 3d poate fi găsit la acest pas. Dacă nu aveți o imprimantă 3D, nu vă faceți griji, această imprimare a costat 1,40 la biblioteca mea locală. Dacă biblioteca dvs. locală nu are o imprimantă 3D, alte opțiuni includ Capse și vânzători online. De asemenea, trebuie remarcat faptul că anumite părți pe care le-am atașat nu sunt singurele compatibile, ci doar modul de a-mi face un model. Deci, dacă vă pricepeți la prelucrarea lemnului sau la alte meșteșuguri, acestea ar fi mai mult decât acceptabile!
Dacă alegeți să imprimați partea pentru acest proiect:
- Descărcați fișierul STL pentru a-l importa pe un slicer precum Cura
- Măsurați diametrul fundului unei cani la alegere
- Reglați scala modelului (în milimetri dacă utilizați Cura) la măsurarea dvs.
Pasul 6: Atașați coasterul și senzorul la Cupa la alegere
Apoi, ia-ți coasterul și folosește adeziv pentru a-l atașa la fundul paharului pe care l-ai măsurat. Acum, firele jumper vor putea accesa senzorul de nivel al apei și inelul cu LED-uri, și, de asemenea, să se așeze plat pe masă. Acum trebuie să atașați senzorul. Este foarte atent să fiți atenți la amplasarea senzorului, deoarece acești senzori, deși comercializați ca analogici, într-adevăr scoate doar două semnale - apă sau lipsă de apă. Acest lucru mi-a cauzat foarte multe probleme, dar am reușit să găsesc o modalitate de a o rezolva, astfel încât alții să nu experimenteze aceleași frustrări cu acest proiect. Cheia este să așezați senzorul aproape de partea superioară a locului în care va fi lichidul atunci când cupa este plină. Acest lucru vă va asigura că senzorul este capabil să înregistreze o stare „goală” și, prin urmare, să poată conta următoarea băutură turnată.
Pasul 7: Înfrumusețează proiectul și protejează firele
În acest moment, probabil că rămâneți cu un grup de fire și părți care arată ca fotografia atașată. Ceea ce faceți pentru ca proiectul să arate mai bine depinde complet de dvs., atâta timp cât țineți cont de aceste criterii:
- Trebuie să puteți conecta un încărcător la alimentarea cu Arduino
- Trebuie să decupați găuri sau spații de proiectare pentru ca utilizatorul să acceseze ecranul LCD, butoanele, senzorul de nivel al apei și inelul cu LED-uri.
- Trebuie să protejați componentele electronice împotriva udării, deoarece aceasta este o posibilitate, deoarece proiectul se concentrează pe băuturi.
Câteva opțiuni pentru închiderea proiectului sunt:
- O cutie de pantofi sau o cutie de carton
- O carcasă de proiectare electronică impermeabilă, precum cea găsită aici
- Un design tipărit 3D (Aceasta este opțiunea pe care am vrut să o urmez, cu toate acestea, a fost prea scump să tipăresc un design ca acesta la biblioteca mea)
Pasul 8: Bea responsabil
După ce ați atașat ceașca la coaster și senzorul de apă, sunteți bine să plecați! Veți ști că totul funcționează corect atunci când ecranul LCD vă solicită sexul și greutatea dvs. Un buton corespunde greutății, în timp ce celălalt corespunde sexului. Puteți face clic pe fiecare pentru a vedea care este înainte de a o eticheta. După ce ați selectat greutatea corectă (valorile sunt în pași de 20) și sexul, faceți clic pe ambele butoane simultan. Aceasta va porni restul programului și veți vedea că inelul LED luminează într-un model curcubeu. Cupa este acum gata pentru a putea turna o băutură. Pe măsură ce consumați și turnați mai multe băuturi, programul va utiliza tabelul BAC discutat în introducere pentru a determina un BAC. Vă rugăm să rețineți că acest program presupune o băutură standard pentru fiecare ceașcă, vă rugăm să consultați imaginea (University of South Alabama) sau vizitați aici pentru a vedea cum se traduce băutura dvs. preferată. De asemenea, rețineți că scopul acestui proiect nu este de a încuraja orice activitate ilegală, ci de a promova consumul de alcool în condiții de siguranță pentru cei cu vârsta suficientă pentru a consuma alcool. De asemenea, deși sunt foarte mulțumit de cât de corectă este estimarea BAC presupunând o băutură standard, acest proiect este un instrument pentru a vă ajuta să beți în siguranță, dar nu este responsabil dacă alegeți să conduceți după consumul de alcool.
Pasul 9: (Opțional) Depanare
- Eroare „Problemă la încărcarea pe placă”: Când încercați să compilați și să încărcați schița pe Arduino, această eroare va rezulta dacă portul COM nu este configurat corect (Vedeți primul pas despre cum să găsiți și setați portul COM corect) sau placa nu este conectată.
- Ecranul LCD nu prezintă caractere albe: dacă lumina albastră a ecranului LCD este aprinsă, dar nu vedeți caractere albe după încărcarea schiței, acest lucru se datorează cel mai probabil din cauza problemelor de contrast. Pentru a remedia acest lucru, rotiți potențiometrul spre dreapta (întoarceți-vă spre stânga dacă vedeți blocuri albe cu personajele dvs.).
- Proiectul nu contorizează corect băuturile: această eroare este o problemă a senzorului la nivelul apei. Modulele senzorului la nivelul apei se corodează rapid și sunt cunoscute pentru că sunt foarte inexacte. Cu toate acestea, acest lucru nu ar trebui să vă preocupe pentru acest proiect, deoarece am tratat senzorul mai degrabă ca un senzor digital decât ca unul analogic. Vedeți pasul șase despre cum să vă atașați corect senzorul de nivel al apei.
- Un modul este extrem de fierbinte și nu trimite valorile corecte: Acesta este rezultatul întreruperii unei conexiuni GND sau VCC, probabil în timp ce lucrați cu alte fire. Asigurați-vă că conexiunile GND și VCC la senzor sunt complete și urmați-le până la pinii GND și 5v de la componentă, la panou, la Arduino pentru a căuta erori.
- Am trecut din greșeală peste greutatea mea: nu vă faceți griji, setarea greutății revine la 100 după 240, astfel încât să puteți continua să rotiți opțiunile pentru a reveni la greutatea dvs.
Dacă problemele persistă, conectați cablul de la Arduino la laptop, deschideți IDE și rulați schița. În timp ce schița rulează, mai multe valori vor fi afișate pe monitorul serial, permițându-vă să vedeți ce nu funcționează așa cum ar trebui. Pentru a accesa monitorul serial, rulați programul și „Instrumente” și apoi „Serial Monitor” din meniul derulant.
Pasul 10: Reflecție
În ceea ce privește programarea, sunt foarte mulțumit de modul în care s-a desfășurat acest proiect. Mi-a luat ceva timp să scriu de când sunt încă începător, dar am reușit să învăț multe biblioteci noi și să îmi ating obiectivul de a prezice BAC și simt că nu am luat nicio scurtătură în estimarea BAC, deoarece am folosit atât sexul, cât și greutate (Aceasta a constituit majoritatea schiței). Cu toate acestea, trebuie să aprob proiectul. Deși nu dețin o imprimantă 3D și nici nu știu prelucrarea lemnului, mi-am dorit foarte mult ca proiectul meu să fie prezentat într-o manieră mai bună. Intenționez să obțin în curând un Ender 3, iar primul lucru pe care îl voi face este să revin imediat la același instructabil pentru a îmbunătăți designul. Fiind primul meu instructabil din toate timpurile, simt că procesul a decurs bine și sunt foarte mulțumit de măsura în care acest proiect a abordat promptul pe care l-am creat pentru Party Challenge, dar proiectez ceva la care aș dori să revin ulterior când am resursele.
Recomandat:
Aer condiționat cu cupă DIY: 13 pași (cu imagini)
DIY Bucket Air Conditioner: Locuiesc într-un loc destul de cald din sudul Indiei și spațiul meu de lucru devine înfundat. Am găsit o soluție îngrijită la această problemă transformând o găleată veche într-un aparat de aer condiționat DIY. Modelul AC este foarte simplu, cost redus, dar totuși eficient
Luminile DIY Cupa din spumă - Ideea de decor Diwali ușor și ieftin folosind cupe de spumă: 4 pași
Luminile DIY Cupa cu spumă | Ideea de decor Diwali ușor și ieftin folosind cupe de spumă: În acest post, vom vorbi despre proiectul pentru sărbătorile Diwali la un buget. Sper că vă va plăcea acest tutorial
Stai cool vara aceasta: Mod ventilator PC: 4 pași (cu imagini)
Stai cool vara aceasta: Mod Fan PC: Cine nu are o duzină de fani PC care stau în jur? În această versiune vă voi arăta cum să folosiți acele ventilatoare pentru a produce o briză reglabilă în zilele toride de vară. Și funcționează cel puțin 4 ore cu o baterie obișnuită de 9V
Menținerea bebelușului tău în această vară - Controlul fanilor muti cu lucruri inteligente !: 6 pași (cu imagini)
Keeping Your Baby Cool This Summer - Controlling Dumb Faners With Smart Things !: Încă de acum două săptămâni, la momentul scrierii acestui articol, am devenit tată pentru un băiețel incredibil! Odată cu schimbarea anotimpurilor, zilele din ce în ce mai lungi și temperaturile din ce în ce mai calde, m-am gândit că ar fi bine să ai un fel de monitor în N
Dacă aceasta, atunci că: Consola Arduino portabilă: 5 pași
Dacă aceasta, atunci că: Consola Arduino portabilă: Aceasta este o simplă trage jocul țintă. Mutați playerul cu două module tactile capacitive și trageți făcând sunete dure, cum ar fi să bateți, să strigați sau să scuturați cutia