Përmbajtje:

Festa e sigurt këtë verë me një filxhan LED Arduino me gjak-alkool reaktiv: 10 hapa
Festa e sigurt këtë verë me një filxhan LED Arduino me gjak-alkool reaktiv: 10 hapa

Video: Festa e sigurt këtë verë me një filxhan LED Arduino me gjak-alkool reaktiv: 10 hapa

Video: Festa e sigurt këtë verë me një filxhan LED Arduino me gjak-alkool reaktiv: 10 hapa
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Nëntor
Anonim
Festa e sigurtë këtë verë me një filxhan LED reaktiv Arduino me gjak-alkool
Festa e sigurtë këtë verë me një filxhan LED reaktiv Arduino me gjak-alkool

Niveli i Projektit Vështirësia: E Mesme

Aftësitë e nevojshme:

- Leximi dhe përsëritja e një diagrami

- Bashkim nëse vendosni të mos blini pjesë të para-ngjitura

Hyrje e projektit

Në Shtetet e Bashkuara dhe në të gjithë botën, alkooli ka paraqitur kërcënime të rënda shëndetësore kur konsumohet në një mënyrë të papërgjegjshme. Vdekjet për shkak të vozitjes nën ndikim dhe dëmtimin e mëlçisë, si dhe efektet afatgjata të tilla si dëmtimi i mundshëm i trurit dhe veshkave, mund të rezultojnë nga konsumimi i papërgjegjshëm i alkoolit. Vetëm në Shtetet e Bashkuara, 250 miliardë dollarë u humbën për shkak të abuzimit me alkoolin (NIAAA, 2010), si dhe mbi 88,000 njerëz, duke e bërë alkoolin shkakun e tretë kryesor të parandalueshëm të vdekjeve në vend. Pyetja për këtë projekt është si krijuesit, si mund ta trajtojmë këtë problem dhe të sigurohemi që festimet argëtuese me ahengje si alkooli të mund të qëndrojnë të sigurta dhe argëtuese?

Përgjigja ime për këtë pyetje ishte të gjeja një mënyrë për të vlerësuar dhe më pas të vizualizuar BAC të parashikuar të përdoruesit për t'i lejuar ata të kuptojnë më mirë se në çfarë gjendje ishin. Për këtë projekt, kam përdorur mikrokontrolluesin Arduino me një sensor të nivelit të ujit, unazë LED dhe një ekran LCD për të gjetur sa pije ka konsumuar një person, dhe më pas për të gjetur një mënyrë për të vlerësuar përmbajtjen e alkoolit në gjak (BAC) të përdoruesi bazuar në seksin dhe peshën. BAC e vlerësuar, në varësi të asaj diapazoni që ishte, përcakton animacionin e unazës LED më poshtë. Vargjet bien në mes të katër zonave të dallueshme: Të sigurta, të dëmtuara, të dehur dhe vdekjeprurëse. Shpresa ime është që duke krijuar këtë projekt, ju jo vetëm që do të keni krijuar një projekt të përdorshëm Arduino, por gjithashtu keni fituar një kuptim më të mirë se si metabolizojmë alkoolin dhe ndoshta edhe disa programe themelore nëse zgjidhni të shikoni kodin e komentuar.

Nga e di kupa sa pije kam pirë?

Nëse vlera analoge e sensorit të nivelit të ujit tejkalon 300, një vlerë boolean që përfaqëson kupën do të regjistrohet si LART HIGH (e plotë). Nëse vlera analoge e sensorit është nën 300, vlera boolean që përfaqëson kupën do të regjistrohet si LOW (bosh). Për të regjistruar një pije që i shtohet kupës, kjo vlerë boolean duhet të ndryshojë nga bosh në të plotë.

Si e përcaktuat BAC?

Për ta bërë këtë projekt sa më të saktë të jetë e mundur, kam përdorur të dhëna nga Universiteti Saint Benedict & Saint John's se sa BAC e një individi është rritur për pije të konsumuar. Ky program jo vetëm që merr parasysh peshën, por edhe gjininë e përdoruesit në llogaritjen e BAC të përdoruesit. Kjo ndodh sepse BAC bazohet në atë se sa shpejt një trup është në gjendje të metabolizojë alkoolin, i cili është i ndryshëm midis burrave dhe grave dhe njerëzve me pesha të ndryshme. Listat mund të shihen këtu.

Pse vargjet BAC janë të ndryshme për njerëz të ndryshëm?

Gama e BAC bazohet drejtpërdrejt në të dhënat e marra nga Universiteti SBSJ, i cili merr parasysh se sa alkool duhet të ketë një përdorues në sistemin e tij që ata të jenë në njërën nga katër rangjet:

- E sigurt: Gama e vetme e sigurt për të operuar një automjet (e përfaqësuar nga animacioni i ylberit)

- I dëmtuar: Akuzat penale mund të rezultojnë nëse drejtoni një automjet në këtë distancë (e përfaqësuar nga animacioni portokalli)

- I dehur: Akuzat penale do të rezultojnë nëse drejtoni një automjet në këtë distancë (të përfaqësuar nga dritat e kuqe)

- Vdekjeprurëse: Nëse nuk keni vdekur tashmë, jeni në rrezik të menjëhershëm mjekësor në këtë gamë (e përfaqësuar nga dritat e kuqe dhe të bardha të ndezura)

Por unë mund të pi alkool mirë, kështu që a është kjo kupë e pasaktë?

Sa mirë jeni në gjendje të veproni pas konsumimit të alkoolit nuk do të ketë shumë rëndësi nëse e tejkaloni kufirin ligjor gjatë vozitjes. Të dhënat e përdorura në këtë projekt marrin parasysh cilat janë kufijtë ligjorë dhe mjekësorë të BAC të një përdoruesi, duke marrë parasysh edhe peshën dhe gjininë e përdoruesit.

Furnizimet

Furnizimet e përgjithshme elektronike për këtë projekt përfshijnë:

- Dy butona

- Telat e kërcyesit

- potenciometër 10k

- 2 rezistente 10k

- 1 rezistencë 220

Pjesë/module të veçanta:

- Një Arduino (kam përdorur një Uno për këtë projekt, por ekzistojnë shumë alternativa më të lira)

- Një sensor i nivelit të ujit (SH NOTNIM: Këta sensorë janë shpesh të pasaktë dhe gërryhen shpejt, gjë që ishte një zhgënjim i madh në zhvillimin e këtij projekti. Megjithatë, unë kam qenë në gjendje të gjej një zgjidhje në mënyrë që vështirësitë e mia me këtë projekt të mos përkthehen në vështirësitë tuaja me këtë projekt.)

- Një unazë LED (12 LED)

- Një ekran LCD

Mjetet:

- Saldim (i nevojshëm vetëm nëse blini unazë LED pa kokë)

- Printer 3d (Opsional)

Hapi 1: Shkarkoni Arduino IDE dhe kopjoni kodin e kërkuar

Asnjë programim kompjuterik nuk kërkohet për këtë projekt, gjithçka që duhet të bëni është të kopjoni kodin nga këtu dhe ta ngjisni në Arduino IDE. Për të shkarkuar Arduino IDE:

Shkarkimi dhe konfigurimi i Arduino IDE:

- Vizitoni uebfaqen e Arduino dhe zgjidhni shkarkimin për sistemin tuaj

- Pasi shkarkimi të ketë përfunduar, merrni numrin e portës COM për Arduino. Lidheni Arduino -n dhe lundroni te Menaxheri i Pajisjes tuaj. Nën portet, kërkoni Arduino -n tuaj dhe mbani shënim numrin e portit. Duhet të duket diçka si kjo: COMx (Ku x është një numër 1-9)

- Duke përdorur numrin e portit COM, konfiguroni IDE për tabelën dhe portin tuaj duke hapur Arduino IDE dhe duke zgjedhur "Tools" në shiritin e sipërm. Zgjidhni "Bordin" dhe zgjidhni modelin tuaj. Tjetra, zgjidhni "Port" dhe zgjidhni portin që keni parë për Arduino tuaj në Device Manager.

Marrja e Kodit të Projektit

- Kopjoni kodin nga ky hap dhe ngjiteni në pjesën e bardhë të Arduino IDE. Sigurohuni që së pari të fshini gjithçka në skicë, siç janë rutinat loop () dhe void (), pasi këto zbatohen në kodin që po kopjoni dhe ngjisni.

Hapi 2: Shkarkoni Bibliotekat e Kërkuara Nga Arduino IDE

Bibliotekat e përdorura në këtë projekt përfshijnë "Wire", "LiquidCrystal" dhe "Adafruit Neopixel". Skica ka nevojë për këto biblioteka për të komunikuar me komponentët e përdorur në këtë projekt. Për të shkarkuar këto biblioteka:

- Zgjidhni "Sketch" në shiritin e sipërm

- Zgjidhni "Përfshi bibliotekën" nga menyja zbritëse

- Zgjidhni "Menaxhoni bibliotekat"

- Kërkoni për tre bibliotekat (Wire, kristal i lëngët dhe Adafruit Neopixel) të përdorura në këtë projekt dhe shkarkoni secilën prej tyre.

Ju lutemi vini re se dështimi për të shkarkuar këto biblioteka do të rezultojë në një gabim gjatë përpilimit të skicës. Pas këtij hapi, lidhni kabllon nga Arduino në laptop dhe shtypni butonin me shigjetë në këndin e sipërm të majtë të IDE. Kjo do të përpilojë dhe ngarkojë skicën në Arduino. Tani që kemi mbaruar me të gjitha hapat që lidhen me programimin, le të kalojmë te instalimet elektrike!

Hapi 3: (Opsionale) Kokat e bashkimit në pjesë

Nëse keni zgjedhur të blini pjesë për këtë projekt që nuk kishin tashmë kunjat e kokës të ngjitur në to, do t'ju duhet ta bëni vetë. Mos u shqetësoni shumë për këtë pjesë, bashkimi për këtë projekt është shumë i drejtpërdrejtë.

- Krijoni një mjedis të ajrosur për tu bashkuar, mundësisht me një tifoz që përmban një filtër. Nëse nuk keni një tifoz të tillë, mund të bëni atë që bëj unë dhe të hapni dritaret dhe të ndizni tifozin ose të shkoni në garazh ndërsa është i hapur.

- Ngrohni hekurin tuaj të saldimit dhe sigurohuni që të keni edhe një sfungjer të lagur për të fshirë saldimin e tepërt.

- Vendosni titujt dhe pjesën që dëshironi t'i bashkoni titujt duke përdorur një dorë ndihmëse ose një mjet tjetër që ju lejon të rregulloni pjesët duke ju lejuar të mbani hekurin bashkues.

- Prekni lidhësin në hekurin e saldimit ndërsa jeni në lidhjen midis kunjit të kokës dhe pjesës ku po lidhni kunjat. Hiqeni hekurin kur të jetë krijuar mjaft saldim për të siguruar kontakt elektrik midis kunjave të kokës dhe pjesës. Fshini çdo saldim të tepërt në sfungjer dhe përsëriteni këtë proces për të gjitha kunjat.

- Pasi të jenë bashkuar të gjitha kunjat, vendoseni hekurin bashkues në stendë, kthejeni çelësin në "fikur" dhe hiqni hekurin nga priza. Prisni derisa hekuri të jetë ftohur plotësisht për ta lënë atë.

Hapi 4: Ndiqni Picture and Wire Arduino te Komponentët

Ndiqni Picture and Wire Arduino te Komponentët
Ndiqni Picture and Wire Arduino te Komponentët

Në këtë hap, do t'ju duhet të përdorni telat e kërcyesit për të lidhur pjesët e nevojshme për projektin me Arduino. Unë kam siguruar një skedar Fritzing për ta bërë këtë, i cili mund të shihet në këtë hap. Ju lutemi shihni më poshtë për një listë të pyetjeve të zakonshme që i bëj vetes nëse has në një problem me instalime elektrike:

- A janë shinat e mia tokësore dhe të energjisë të lidhura siç duhet me njëra -tjetrën dhe kunjat 5v dhe GND të Arduino?

- A jam ngatërruar me potenciometrin tim nëse ekrani LCD nuk po shfaqet? (Provoni ta ktheni potenciometrin për të ndryshuar rezistencën nëse personazhet e bardhë nuk shfaqen siç duhet)

- A janë GND dhe VCC të lidhura me secilën pjesë siç duhet me kunjin e duhur? A po përdoret cilësimi 5 volt? (Të gjithë sensorët dhe përbërësit në këtë projekt do të përdorin 5 volt, jo 3.3 volt.

- A u vendos një tel rastësisht një lidhje larg nga vendi ku duhej të ishte?

SHENIM: Kur punoni me pajisje elektronike, gjithmonë sigurohuni që qarku të mos jetë i ndezur gjatë ndryshimit të tij. Përndryshe, pjesët mund të dëmtohen dhe kur punoni me tensione më të mëdha, mund të rezultojë në dëmtim trupor

Hapi 5: Mblidhni projektin "Coaster"

Mblidhni Projektin
Mblidhni Projektin

Ju mund të vini re se titujt e unazës LED dalin jashtë dhe nuk ju lejojnë që në të vërtetë ta vendosni kupën në një sipërfaqe. Për të adresuar këtë problem, ne do të bashkojmë unazën LED në një pjesë të printuar 3D që do të lejojë që unaza të vendoset e sheshtë në një tryezë. Skedari 3d mund të gjendet në këtë hap. Nëse nuk keni një printer 3d, mos u shqetësoni, ky printim kushtoi 1.40 në bibliotekën time lokale. Nëse biblioteka juaj lokale nuk ka një printer 3d, opsionet e tjera përfshijnë Staples dhe shitësit online. Duhet gjithashtu të theksohet se pjesa e caktuar që kam bashkangjitur nuk është e vetmja e pajtueshme, është vetëm mënyra për të bërë një model për mua. Pra, nëse jeni të mirë me punimin e drurit ose zanate të tjera, ato do të ishin më se të pranueshme!

Nëse zgjidhni të printoni pjesën për këtë projekt:

- Shkarkoni skedarin STL për ta importuar në një feta të tillë si Cura

- Matni diametrin e një fundi të një filxhani sipas dëshirës tuaj

- Rregulloni shkallën e modelit (në milimetra nëse përdorni Cura) në matjen tuaj

Hapi 6: Bashkojeni tiganin dhe sensorin në kupën e zgjedhur nga ju

Bashkangjitni tavën dhe sensorin në kupën e zgjedhur nga ju
Bashkangjitni tavën dhe sensorin në kupën e zgjedhur nga ju

Tjetra, merrni slitën tuaj dhe përdorni ngjitësin për ta ngjitur në fund të kupës që keni matur. Tani, telat e kërcyesit do të jenë në gjendje të hyjnë në sensorin e nivelit të ujit dhe unazën LED, dhe gjithashtu të shtrihen të sheshta në tryezë. Tani ju duhet të lidhni sensorin. Isshtë shumë e kujdesshme të kihet parasysh për vendosjen e sensorit, pasi këta sensorë, ndërsa tregtohen si analogë, në të vërtetë nxjerrin vetëm dy sinjale- ujë ose pa ujë. Kjo më shkaktoi shumë probleme, por unë isha në gjendje të gjeja një mënyrë për ta zgjidhur atë, në mënyrë që të tjerët të mos përjetonin të njëjtat frustrime me këtë projekt. Çelësi është që të vendosni sensorin pranë majës ku do të jetë lëngu kur kupa të jetë e mbushur. Kjo do të sigurohet që sensori të jetë në gjendje të regjistrojë një gjendje "të zbrazët" dhe për këtë arsye të jetë në gjendje të llogarisë pijen e derdhur të radhës.

Hapi 7: Zbukuroni projektin dhe mbroni telat

Zbukuroni Projektin dhe Mbroni Telat
Zbukuroni Projektin dhe Mbroni Telat

Në këtë pikë, ndoshta ju ka mbetur një grumbull telash dhe pjesësh që duket si fotografia e bashkangjitur. Ajo që bëni për ta bërë projektin të duket më mirë varet plotësisht nga ju, përderisa i keni parasysh këto kritere:

- Duhet të jeni në gjendje të lidhni një karikues në energji Arduino

- Duhet të shkurtoni vrimat ose të krijoni hapësira që përdoruesi të ketë qasje në ekranin LCD, butonat, sensorin e nivelit të ujit dhe unazën LED.

- Ju duhet të mbroni përbërësit elektronikë nga lagështia, pasi kjo është një mundësi pasi projekti fokusohet në pije.

Disa zgjedhje për mbylljen e projektit janë:

- Një kuti këpucësh ose një kuti kartoni

- Një rrethim i projektit elektronik i papërshkueshëm nga uji siç është ai që gjendet këtu

- Një dizajn i printuar 3D (Ky është opsioni që doja të ndiqja, megjithatë, ishte shumë e shtrenjtë të printoja një dizajn si ky në bibliotekën time)

Hapi 8: Pini me Përgjegjësi

Pini me Përgjegjësi!
Pini me Përgjegjësi!

Pasi të keni bashkangjitur kupën tuaj në tigan dhe sensorin e ujit, jeni mirë të shkoni! Ju do ta dini se gjithçka po funksionon siç duhet kur ekrani LCD ju kërkon për gjininë dhe peshën tuaj. Një buton korrespondon me peshën, ndërsa tjetri korrespondon me seksin. Mund ta klikoni secilën për të parë se cila është para se ta etiketoni. Pasi të keni zgjedhur peshën tuaj të saktë (vlerat janë në hapat 20) dhe seksin, klikoni të dy butonat njëkohësisht. Kjo do të fillojë pjesën tjetër të programit dhe do të shihni që unaza LED të ndizet me një model ylberi. Kupa tani është gati për ju për të derdhur një pije. Ndërsa konsumoni dhe derdhni më shumë pije, programi do të përdorë tabelën BAC të diskutuar në hyrje për të përcaktuar një BAC. Ju lutemi vini re se ky program supozon një pije standarde për secilën filxhan, ju lutemi shihni foton (Universiteti i Alabamës së Jugut), ose vizitoni këtu për të parë se si përkthehet pija juaj e preferuar. Gjithashtu vini re se qëllimi i këtij projekti nuk është të inkurajojë çdo aktivitet të paligjshëm, por të promovojë pirjen e sigurt për ata që janë mjaft të rritur për të konsumuar alkool. Gjithashtu, ndërsa jam shumë i kënaqur me sa i saktë është vlerësimi i BAC duke supozuar një pije standarde, ky projekt është një mjet për t'ju ndihmuar të pini të sigurt, por nuk mban asnjë përgjegjësi nëse zgjidhni të vozitni pas konsumimit të ndonjë alkooli.

Hapi 9: (Opsionale) Zgjidhja e problemeve

(Opsionale) Zgjidhja e problemeve
(Opsionale) Zgjidhja e problemeve

- Gabimi "Problemi i ngarkimit në bord": Kur përpiqeni të përpiloni dhe ngarkoni skicën në Arduino, ky gabim do të rezultojë nëse porta juaj COM nuk është konfiguruar saktë (Shih hapin një se si të gjeni dhe vendosni portën e duhur COM) ose tuajin bordi nuk është i kyçur.

- Ekrani LCD që nuk tregon karaktere të bardha: Nëse drita blu e LCD -së tuaj është ndezur, por nuk shihni karaktere të bardha pas ngarkimit të skicës, kjo ka shumë të ngjarë të jetë për shkak të problemeve të kontrastit. Për ta rregulluar këtë, thjesht kthejeni potenciometrin tuaj në të djathtë (Kthehuni në të majtë nëse shihni blloqe të bardha me personazhet tuaj).

- Projekti nuk po numëron pijet në mënyrë korrekte: Ky gabim është një problem i sensorit të nivelit të ujit. Modulet e sensorit të nivelit të ujit gërryhen shpejt dhe njihen si shumë të pasaktë. Sidoqoftë, kjo nuk duhet t'ju shqetësojë për këtë projekt, pasi unë e trajtova sensorin si një sensor dixhital dhe jo si një analog. Shihni hapin e gjashtë se si të lidhni saktë sensorin e nivelit të ujit.

- Një modul është jashtëzakonisht i nxehtë dhe nuk dërgon vlerat e sakta: Ky është rezultat i prishjes së një lidhjeje GND ose VCC, ndoshta gjatë punës me tela të tjerë. Sigurohuni që lidhjet GND dhe VCC me sensorin të jenë të plota dhe ndiqni ato në kunjat GND dhe 5v nga komponenti, në bordin e bukës, në Arduino për të kërkuar gabime.

- Unë rastësisht e kalova peshën time: Mos u shqetësoni, pesha kthehet në 100 pas 240, kështu që ju thjesht mund të vazhdoni të rrotulloheni përmes opsioneve për t'u kthyer në peshën tuaj.

Nëse problemet vazhdojnë, lidhni kabllon nga Arduino në laptop, hapni IDE dhe ekzekutoni skicën. Ndërsa skica po funksionon, disa vlera do të shfaqen në monitorin serik, duke ju lejuar të shihni atë që nuk po funksionon siç supozohet. Për të hyrë në monitorin serik, ekzekutoni programin dhe "Tools" dhe pastaj "Serial Monitor" nga menyja rënëse.

Hapi 10: Reflektimi

Nga ana e programimit, jam shumë i kënaqur me mënyrën se si doli ky projekt. M’u desh pak kohë për të shkruar pasi jam ende fillestar, por kam qenë në gjendje të mësoj shumë biblioteka të reja dhe të arrij qëllimin e parashikimit të BAC, dhe mendoj se nuk kam marrë asnjë shkurtore në vlerësimin e BAC pasi kam përdorur të dy seksin dhe pesha (Kjo përbënte shumicën e skicës). Sidoqoftë, më duhet të miratoj modelin. Ndërsa unë nuk posedoj një printer 3d ose nuk njoh përpunimin e drurit, me të vërtetë doja që projekti im të paraqitej në një mënyrë më të mirë. Unë synoj që së shpejti të marr një Ender 3, dhe gjëja e parë që do të bëj është të kthehem sërish në të njëjtën udhëzues për të përmirësuar modelin. Si mësimi im i parë ndonjëherë, ndjej se procesi shkoi mirë dhe jam shumë i kënaqur me atë masë në të cilën ky projekt adresoi kërkesën që krijova për Sfidën e Partisë, por dizajnoni diçka që do të doja ta ktheja më vonë kur të kem burimet.

Recommended: