INHOUDSOPGAWE:

Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: 10 stappe
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: 10 stappe

Video: Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: 10 stappe

Video: Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker: 10 stappe
Video: Die Antwoord - Baita Jou Sabela feat. Slagysta (Official Video) 2024, November
Anonim
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker
Partytjie veilig hierdie somer met 'n Arduino bloed-alkohol reaktiewe LED-beker

Probleemvlak Probleem: Intermediêr

Vereiste vaardighede:

- Lees en herhaal 'n diagram

- Soldeer as u besluit om nie vooraf gesoldeerde onderdele te koop nie

Inleiding van die projek

In die Verenigde State en oor die hele wêreld het alkohol ernstige gesondheidsbedreigings ingehou as dit op 'n onverantwoordelike manier gebruik word. Sterftes weens bestuur onder die invloed en lewerskade, sowel as langtermyn-effekte soos moontlike brein- en nierskade, kan die gevolg wees van die onverantwoordelike gebruik van alkohol. Net in die Verenigde State is 250 miljard dollar verlore weens alkoholmisbruik (NIAAA, 2010), sowel as meer as 88 000 mense, wat alkohol die derde grootste voorkombare oorsaak van dood in die land maak. Die vraag vir hierdie projek is as vervaardigers, hoe kan ons hierdie probleem aanspreek en seker maak dat pretvieringe met alkohol, soos partytjies, veilig en lekker kan bly?

My antwoord op hierdie vraag was om 'n manier te vind om die voorspelde BAC van die gebruiker te skat en dan te visualiseer sodat hulle beter kan verstaan in watter toestand hulle is. Vir hierdie projek het ek die Arduino-mikrokontroleerder met 'n watervlak-sensor, LED-ring en 'n LCD-skerm gebruik om op te spoor hoeveel drankies 'n persoon gedrink het, en dan 'n manier te vind om die bloed-alkoholinhoud (BAC) van die gebruiker gebaseer op seks en gewig. Die beraamde BAC, afhangende van watter reeks dit was, bepaal die animasie van die LED -ring hieronder. Die reekse val in vier verskillende gebiede: veilig, verswak, dronk en dodelik. My hoop is dat u deur hierdie projek nie net 'n bruikbare Arduino -projek te skep nie, maar ook 'n beter begrip gekry het van hoe ons alkohol metaboliseer en moontlik selfs basiese programmering as u kies om oor die kode te kyk.

Hoe weet die beker hoeveel drankies ek gedrink het?

As die analoog waarde van die watervlak sensor 300 oorskry, word 'n Booleaanse waarde wat die beker verteenwoordig, as HOOG (vol) aangeteken. As die analoge waarde van die sensor onder 300 is, word die booleaanse waarde wat die beker verteenwoordig, as LAAG (leeg) aangeteken. Om 'n drankie wat by die beker gevoeg word, op te neem, moet hierdie booleaanse waarde van leeg na vol verander.

Hoe het u BAC bepaal?

Om hierdie projek so akkuraat as moontlik te maak, het ek data van die Saint Benedict & Saint John's University gebruik oor hoeveel die BAC van 'n individu toegeneem het per drankie wat verbruik word. Hierdie program neem nie net die gewig in ag nie, maar ook die geslag van die gebruiker by die berekening van die BAC van die gebruiker. Dit is omdat BAC gebaseer is op hoe vinnig 'n liggaam alkohol kan metaboliseer, wat verskil tussen mans en vroue en mense met verskillende gewigte. Die kaarte kan hier gesien word.

Waarom is die BAC -reekse vir verskillende mense anders?

Die BAC -reekse is direk gebaseer op die data van die SBSJ Universiteit, wat oorweeg hoeveel alkohol 'n gebruiker in hul stelsel moet hê om in een van die vier reekse te wees:

- Veilig: die enigste veilige reeks om 'n voertuig in te bestuur (verteenwoordig deur reënboog -animasie)

- Benadeel: strafregtelike aanklagte kan ontstaan as u 'n voertuig in hierdie reeks bestuur (aangedui deur oranje animasie)

- Dronk: daar sal strafregtelike aanklagte ontstaan as u 'n voertuig in hierdie reeks bestuur (aangedui deur rooi ligte)

- Dodelik: as u nog nie flou geword het nie, loop u onmiddellik mediese gevaar in hierdie reeks (verteenwoordig deur flikkerende rooi en wit ligte)

Maar ek kan alkohol goed inneem, so is hierdie beker onakkuraat?

Hoe goed jy kan optree nadat jy alkohol gedrink het, sal nie veel saak maak as jy by die wettige perk waai terwyl jy bestuur nie. Die data wat in hierdie projek gebruik word, oorweeg wat die wettige en mediese omvang van 'n gebruiker se BAC is, terwyl dit ook die gewig en geslag van die gebruiker in ag neem.

Voorrade

Algemene elektroniese voorrade vir hierdie projek sluit in:

- Twee drukknoppies

- Springdrade

- 10k potensiometer

- 2 10k weerstande

- 1 220 weerstand

Spesiale onderdele/modules:

- 'n Arduino (ek het 'n Uno vir hierdie projek gebruik, maar daar is baie goedkoper alternatiewe)

- 'n Watervlak-sensor (LET WEL: hierdie sensors is dikwels onakkuraat en korrodeer vinnig, wat 'n groot frustrasie was tydens die ontwikkeling van hierdie projek. Ek kon egter 'n oplossing vind sodat my probleme met hierdie projek nie in u probleme kon lei nie. met hierdie projek.)

- 'n LED -ring (12 LED's)

- 'n LCD -skerm

Gereedskap:

- Soldeerbout (slegs nodig as u 'n LED -ring sonder kopstukke koop)

- 3D -drukker (opsioneel)

Stap 1: Laai Arduino IDE af en kopieer die vereiste kode

Geen rekenaarprogrammering is nodig vir hierdie projek nie; u hoef net die kode hiervan te kopieer en in die Arduino IDE te plak. Om die Arduino IDE af te laai:

Laai en konfigureer Arduino IDE:

- Besoek die Arduino -webwerf en kies die aflaai vir u stelsel

- Sodra die aflaai voltooi is, kry die COM -poortnommer vir die Arduino. Koppel die Arduino aan en navigeer na u toestelbestuurder. Soek onder u poorte na u Arduino en let op die poortnommer. Dit moet so lyk: COMx (Waar x 'n getal 1-9 is)

- Gebruik die COM -poortnommer om die IDE vir u bord en poort op te stel deur die Arduino IDE oop te maak en "Tools" in die boonste balk te kies. Kies 'Board' en kies u model. Kies vervolgens 'Poort' en kies die poort wat u vir u Arduino in Device Manager gesien het.

Verkry projekkode

- Kopieer kode van hierdie stap en plak dit in die wit gedeelte van die Arduino IDE. Maak seker dat u eers alles op die skets, soos die loop () en void () roetines, verwyder, aangesien dit geïmplementeer word in die kode wat u kopieer en plak.

Stap 2: Laai die vereiste biblioteke af van Arduino IDE

Die biblioteke wat in hierdie projek gebruik word, sluit in "Wire", "LiquidCrystal" en "Adafruit Neopixel". Die skets het hierdie biblioteke nodig om te kommunikeer met die komponente wat in hierdie projek gebruik word. Om hierdie biblioteke af te laai:

- Kies 'Skets' in die boonste balk

- Kies 'Sluit biblioteek in' in die keuselys

- Kies 'Bestuur biblioteke'

- Soek die drie biblioteke (draad, vloeibare kristal en Adafruit Neopixel) wat in hierdie projek gebruik word en laai elkeen af.

Let asseblief daarop dat die mislukking van die aflaai van hierdie biblioteke 'n fout kan veroorsaak terwyl die skets saamgestel word. Na hierdie stap, koppel die kabel van u Arduino aan u skootrekenaar en druk die pyltjie in die linker boonste hoek van die IDE. Dit sal die skets saamstel en oplaai na die Arduino. Noudat ons klaar is met al die programme-verwante stappe, laat ons aan die bedrading gaan!

Stap 3: (opsioneel) soldeerkoppe op onderdele

As u gekies het om onderdele vir hierdie projek aan te skaf wat nog nie kopstukke gehad het nie, moet u dit self doen. Moenie te veel bekommerd wees oor hierdie deel nie, die soldeer vir hierdie projek is baie eenvoudig.

- Skep 'n geventileerde omgewing om in te soldeer, verkieslik met 'n waaier wat 'n filter bevat. As u nie so 'n waaier het nie, kan u doen wat ek doen, die vensters oopmaak en die waaier aanskakel of na die motorhuis gaan terwyl dit oop is.

- Verhit u soldeerbout en maak seker dat u ook 'n nat spons het om oortollige soldeersel af te vee.

- Stel die koppe en die deel waarin u die koppe wil heg, op met 'n helpende hand of 'n ander hulpmiddel waarmee u die dele kan rangskik terwyl u die soldeerbout kan hou.

- Raak die soldeersel aan die soldeerbout terwyl u op die verbinding tussen die koppen en die deel waaraan u die penne soldeer. Haal die yster af wanneer genoeg soldeer gevorm is om elektriese kontak tussen die koppenne en die onderdeel te verseker. Vee die oortollige soldeer van die spons af en herhaal hierdie proses vir alle penne.

- Nadat alle penne gesoldeer is, plaas die soldeerbout in die staander, draai die knop na "af" en trek die stekker uit die stekker. Wag totdat die yster heeltemal afgekoel het om dit weg te sit.

Stap 4: Volg Picture and Wire Arduino na Components

Volg Picture and Wire Arduino na Components
Volg Picture and Wire Arduino na Components

In hierdie stap moet u jumperdrade gebruik om die nodige dele vir die projek aan die Arduino te koppel. Ek het 'n Fritzing -lêer verskaf om dit te kan doen, wat op hierdie stap gesien kan word. Kyk hieronder vir 'n lys met algemene vrae wat ek myself afvra as ek 'n probleem met bedrading ondervind:

- Is my grond- en kragrails behoorlik met mekaar verbind en die 5v- en GND -penne van die Arduino?

- Het ek met my potensiometer gemors as die LCD -skerm nie verskyn nie? (Probeer die potensiometer omdraai om die weerstand te verander as die wit karakters nie behoorlik verskyn nie)

- Is die GND en VCC korrek aan elke onderdeel gekoppel aan die regte pen? Word die 5-volt-instelling gebruik? (Alle sensors en komponente in hierdie projek gebruik 5 volt, nie 3,3 volt nie.

- Was 'n draad per ongeluk een verbinding weg van waar dit veronderstel was om te wees?

LET WEL: As u met elektronika werk, moet u altyd seker maak dat die stroombaan nie aangeskakel word terwyl dit verander word nie. Anders kan onderdele beskadig word, en as u met groter spanning werk, kan u liggaamlike skade veroorsaak

Stap 5: Monteer die projek "Coaster"

Versamel projek
Versamel projek

U sal dalk agterkom dat die kopstukke van die LED -ring uitsteek en u nie in staat stel om die beker plat teen 'n oppervlak te plaas nie. Om hierdie probleem op te los, heg ons die LED -ring aan 'n 3D -gedrukte deel waarmee u die ring plat op 'n tafel kan plaas. Die 3d -lêer kan op hierdie stap gevind word. As u nie 'n 3D -drukker het nie, moenie bekommerd wees nie; hierdie afdruk kos 1,40 by my plaaslike biblioteek. As u plaaslike biblioteek nie 'n 3D -drukker het nie, sluit ander opsies Staples en aanlynverkopers in. Daar moet ook op gelet word dat die sekere deel wat ek aangeheg het, nie die enigste versoenbare deel is nie; dit is net die manier om 'n model vir my te maak. As u goed is met houtwerk of ander handwerk, is dit meer as aanvaarbaar!

As u kies om die deel vir hierdie projek te druk:

- Laai die STL -lêer af om na 'n snyer soos Cura in te voer

- Meet die deursnee van die onderkant van 'n koppie van u keuse

- Pas die skaal van die model aan (in millimeter as u Cura gebruik) volgens u meting

Stap 6: Bevestig onderlegger en sensor aan die koppie van u keuse

Bevestig onderlegger en sensor aan die koppie van u keuse
Bevestig onderlegger en sensor aan die koppie van u keuse

Neem dan u onderlegger en gebruik kleefmiddel om dit aan die onderkant van die beker wat u gemeet het, vas te maak. Nou kan die draaddrade toegang tot die watervlaksensor en die LED-ring verkry, en ook plat op die tafel lê. Nou moet u die sensor aanheg. Dit is baie versigtig om bedag te wees op die plasing van die sensor, aangesien hierdie sensors, hoewel dit as analoog bemark word, eintlik net twee seine gee- water of geen water. Dit het baie probleme vir my veroorsaak, maar ek kon 'n manier vind om dit op te los sodat ander nie dieselfde frustrasies met hierdie projek ondervind nie. Die sleutel is om die sensor naby die bokant van die plek te plaas waar die vloeistof sal wees as die beker vol is. Dit sal verseker dat die sensor 'n "leë" toestand kan registreer en dus die volgende drank kan tel.

Stap 7: Verfraai projek en beskerm drade

Verfraai die projek en beskerm die drade
Verfraai die projek en beskerm die drade

Op hierdie stadium het u waarskynlik 'n klomp drade en dele wat soos die aangehegte foto lyk. Wat u doen om die projek beter te laat lyk, is heeltemal aan u, solank u hierdie kriteria in gedagte hou:

- U moet 'n laaier aan die Arduino kan koppel

- U moet gate uitknip of spasies ontwerp sodat die gebruiker toegang kan kry tot die LCD-skerm, knoppies, die watervlaksensor en die LED-ring.

- U moet die elektroniese komponente beskerm teen nat word, aangesien dit moontlik is, aangesien die projek op drankies fokus.

Enkele keuses om die projek te sluit is:

- 'n Skoenboks of karton

- 'n Waterdigte elektroniese projekomhulsel, soos die hier

- 'n 3D -gedrukte ontwerp (dit is die opsie wat ek wou volg, maar dit was te duur om 'n ontwerp soos hierdie in my biblioteek te druk)

Stap 8: Drink verantwoordelik

Drink verantwoordelik!
Drink verantwoordelik!

Nadat u u koppie aan die onderlegger en die watersensor geheg het, is u gereed! U sal weet dat alles behoorlik werk as die LCD -skerm u vra oor u geslag en gewig. Die een knoppie stem ooreen met die gewig, terwyl die ander met die seks ooreenstem. U kan op elkeen klik om te sien watter dit is voordat u dit etiketteer. Nadat u die korrekte gewig (waardes in stappe van 20) en geslag gekies het, klik gelyktydig op beide knoppies. Dit sal die res van die program begin, en u sal sien dat die LED -ring 'n reënboogpatroon flits. Die beker is nou gereed om 'n drankie te gooi. Namate u meer drank drink en drink, gebruik die program die BAC -tabel wat in die inleiding bespreek is, om 'n BAC te bepaal. Let daarop dat hierdie program een standaard drankie vir elke beker veronderstel. Sien die prentjie (Universiteit van Suid -Alabama), of besoek hier om te sien hoe u gunsteling drankie vertaal word. Let ook daarop dat die doel van hierdie projek nie is om enige onwettige aktiwiteite aan te moedig nie, maar om veilig te drink vir diegene wat oud genoeg is om alkohol te drink. Alhoewel ek baie tevrede is met die akkuraatheid van die BAC -skatting as 'n standaard drankie, is hierdie projek 'n hulpmiddel om u veilig te drink, maar is dit nie aanspreeklik as u besluit om te ry nadat u alkohol gedrink het nie.

Stap 9: (opsioneel) Probleemoplossing

(Opsioneel) Probleemoplossing
(Opsioneel) Probleemoplossing

- Fout met 'oplaai na bord': as u die skets na die Arduino wil opstel en oplaai, sal hierdie fout ontstaan as u COM -poort nie korrek gekonfigureer is nie (sien stap een oor hoe u die korrekte COM -poort kan vind en instel) of u die bord is nie ingeprop nie.

- LCD -skerm sonder wit karakters: as die blou lig van u LCD aan is, maar u sien geen wit karakters nadat u die skets opgelaai het nie, is dit waarskynlik as gevolg van kontrasprobleme. Om dit reg te stel, draai u potensiometer regs (draai links as u wit blokkies met u karakters sien).

- Die projek tel drankies nie reg nie: hierdie fout is 'n watervlakprobleem. Sensormodules op watervlak korrodeer vinnig en staan bekend as baie onakkuraat. Dit behoort u egter nie te bekommer oor hierdie projek nie, aangesien ek die sensor eerder as 'n digitale sensor as 'n analoog behandel het. Sien stap ses oor hoe u u watervlak-sensor korrek kan aanheg.

- 'n Module is baie warm en stuur nie die korrekte waardes nie: dit is die gevolg van die verbreking van 'n GND- of VCC -verbinding, waarskynlik terwyl u met ander drade werk. Maak seker dat die GND- en VCC -verbindings met die sensor voltooi is en volg dit na die GND- en 5v -penne van die komponent, na die broodbord, na die Arduino om foute te soek.

- Ek het per ongeluk my gewig oorskry: moenie bekommerd wees nie, die gewiginstelling keer na 100 weer terug na 100, sodat u net deur die opsies kan draai om terug te keer na u gewig.

As probleme voortduur, koppel die kabel van die Arduino aan die skootrekenaar, maak die IDE oop en voer die skets uit. Terwyl die skets aan die gang is, word verskeie waardes in die seriële monitor vertoon, sodat u kan sien wat nie werk soos dit moet nie. Om toegang tot die seriële monitor te verkry, voer die program en "Tools" en dan "Serial Monitor" uit die keuselys uit.

Stap 10: Besinning

Aan die programmeringskant is ek baie tevrede met die manier waarop hierdie projek verloop het. Dit het 'n rukkie geneem voordat ek geskryf het, aangesien ek nog 'n beginner is, maar ek kon baie nuwe biblioteke leer en die doel bereik om BAC te voorspel. gewig (dit was 'n meerderheid van die skets). Ek moet die ontwerp egter goedkeur. Alhoewel ek nie 'n 3D -drukker besit of houtwerk ken nie, wou ek graag hê dat my projek op 'n beter manier aangebied word. Ek is van plan om binnekort 'n Ender 3 te kry, en die eerste ding wat ek sal doen, is om terug te keer na dieselfde instruksie om die ontwerp te verbeter. As my eerste opdrag ooit, voel ek dat die proses goed verloop het, en ek is baie tevrede met die mate waarin hierdie projek die opdrag wat ek vir die Party -uitdaging geskep het, aangespreek het, maar ek ontwerp iets waarna ek later wil terugkeer as ek die nodige hulpbronne het.

Aanbeveel: