Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Last ned Arduino IDE og kopier nødvendig kode
- Trinn 2: Last ned nødvendige biblioteker fra Arduino IDE
- Trinn 3: (Valgfritt) Loddehoder på deler
- Trinn 4: Følg Picture and Wire Arduino til Components
- Trinn 5: Sett sammen prosjektet "Coaster"
- Trinn 6: Fest coaster og sensor til koppen du ønsker
- Trinn 7: Forbedre prosjektet og beskytt ledninger
- Trinn 8: Drikk ansvarlig
- Trinn 9: (Valgfritt) Feilsøking
- Trinn 10: Refleksjon
Video: Fest trygt i sommer med en Arduino blodalkoholreaktiv LED-kopp: 10 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
Prosjektnivå Vanskelighetsgrad: Middels
Behov for ferdigheter:
- Lese og replikere et diagram
- Lodding hvis du velger å ikke kjøpe forhåndslodde deler
Prosjekt introduksjon
I USA og over hele verden har alkohol utgjort alvorlige helsetrusler når det drikkes på en uansvarlig måte. Dødsfall på grunn av påvirkningskjøring og leverskade, samt langtidseffekter som mulig hjerneskade og nyreskade, kan skyldes ansvarlig forbruk av alkohol. Bare i USA gikk 250 milliarder dollar tapt på grunn av misbruk av alkohol (NIAAA, 2010), samt over 88 000 mennesker, noe som gjorde alkohol til den tredje ledende dødsårsaken som kan forebygges i landet. Spørsmålet for dette prosjektet er som beslutningstakere, hvordan kan vi løse dette problemet og sørge for at morsomme feiringer med alkohol som fester kan forbli trygge og morsomme?
Mitt svar på dette spørsmålet var å finne en måte å estimere og deretter visualisere den forutsagte BAC for brukeren for å la dem bedre forstå hvilken tilstand de var i. For dette prosjektet brukte jeg Arduino-mikrokontrolleren med en vannstandssensor, LED-ring og en LCD-skjerm for å spore hvor mange drinker en person har spist, og deretter finne en måte å estimere alkoholinnholdet i blod (BAC) på brukeren basert på kjønn og vekt. Den estimerte BAC, avhengig av hvilket område den var i, bestemmer animasjonen til LED -ringen nedenfor. Intervallene faller mellom fire forskjellige områder: Trygt, svekket, beruset og dødelig. Mitt håp er at ved å opprette dette prosjektet, vil du ikke bare ha opprettet et brukbart Arduino -prosjekt, men også ha fått en bedre forståelse av hvordan vi metaboliserer alkohol og muligens til og med litt grunnleggende programmering hvis du velger å se over den kommenterte koden.
Hvordan vet koppen hvor mange drinker jeg har drukket?
Hvis vannstandssensorens analoge verdi overstiger 300, blir en boolsk verdi som representerer koppen registrert som HØY (full). Hvis den analoge verdien til sensoren er under 300, blir den boolske verdien som representerer koppen registrert som LAV (tom). For å registrere en drink som tilsettes koppen, må denne boolske verdien endres fra tom til full.
Hvordan bestemte du BAC?
For å gjøre dette prosjektet så nøyaktig som mulig brukte jeg data fra Saint Benedict & Saint John's University om hvor mye BAC for en person økte per drink som ble konsumert. Dette programmet tar ikke bare hensyn til vekt, men også brukerens kjønn i beregningen av brukerens BAC. Dette er fordi BAC er basert på hvor raskt en kropp er i stand til å metabolisere alkohol, som er forskjellig mellom menn og kvinner og mennesker i forskjellige vekter. Kartene kan sees her.
Hvorfor er BAC -områdene forskjellig for forskjellige mennesker?
BAC -områdene er direkte basert på dataene hentet fra SBSJ University, som vurderer hvor mye alkohol en bruker må ha i systemet for at de skal være i ett av fire områder:
- Safe: Det eneste sikre området å kjøre et kjøretøy i (representert med regnbue -animasjon)
- Nedsatt: Det kan oppstå kriminelle siktelser hvis du bruker et kjøretøy i dette området (representert med oransje animasjon)
- Beruset: Kriminelle siktelser vil oppstå hvis du bruker et kjøretøy i dette området (representert med rødt lys)
- Dødelig: Hvis du ikke allerede har besvimt, er du i umiddelbar medisinsk fare i dette området (representert med blinkende røde og hvite lys)
Men jeg kan ta alkohol godt, så er denne koppen unøyaktig?
Hvor godt du er i stand til å handle etter å ha spist alkohol vil ikke ha så stor betydning hvis du blåser forbi lovgrensen mens du kjører. Dataene som brukes i dette prosjektet vurderer hva det juridiske og medisinske området for en brukers BAC er, samtidig som det vurderes brukerens vekt og kjønn.
Rekvisita
Generelle elektronikkforsyninger for dette prosjektet inkluderer:
- To trykknapper
- Jumper ledninger
- 10k potensiometer
- 2 10k motstander
- 1 220 motstand
Spesielle deler/moduler:
- En Arduino (jeg brukte en Uno til dette prosjektet, men det finnes mange billigere alternativer)
- En vannstandssensor (MERK: Disse sensorene er ofte unøyaktige og korroderer raskt, noe som var en stor frustrasjon ved å utvikle dette prosjektet. Imidlertid klarte jeg å finne en løsning slik at mine vanskeligheter med dette prosjektet ikke oversatte dine vanskeligheter med dette prosjektet.)
- En LED -ring (12 lysdioder)
- En LCD -skjerm
Verktøy:
- Loddejern (bare nødvendig ved kjøp av LED -ring uten hoder)
- 3d -skriver (valgfritt)
Trinn 1: Last ned Arduino IDE og kopier nødvendig kode
Ingen dataprogrammering er nødvendig for dette prosjektet, alt du trenger å gjøre er å kopiere koden herfra og lime den inn i Arduino IDE. For å laste ned Arduino IDE:
Last ned og konfigurer Arduino IDE:
- Besøk Arduino -nettstedet og velg nedlastingen for systemet ditt
- Når nedlastingen er fullført, får du COM -portnummeret for Arduino. Koble til Arduino og naviger til Enhetsbehandling. Under porter, se etter din Arduino og noter portnummeret. Det skal se slik ut: COMx (Hvor x er et tall 1-9)
- Bruk COM -portnummeret til å konfigurere IDE for brettet og porten ved å åpne Arduino IDE og velge "Verktøy" på den øverste linjen. Velg "Board" og velg din modell. Velg deretter "Port" og velg porten du så for Arduino i Enhetsbehandling.
Innhenting av prosjektkode
- Kopier koden fra dette trinnet og lim den inn i den hvite delen av Arduino IDE. Sørg for å først slette alt på skissen, for eksempel loop () og void () rutiner, da disse er implementert i koden du kopierer og limer inn.
Trinn 2: Last ned nødvendige biblioteker fra Arduino IDE
Bibliotekene som ble brukt i dette prosjektet inkluderer "Wire", "LiquidCrystal" og "Adafruit Neopixel". Skissen trenger disse bibliotekene for å kommunisere med komponentene som brukes i dette prosjektet. Slik laster du ned disse bibliotekene:
- Velg "Sketch" på den øverste linjen
- Velg "Inkluder bibliotek" fra rullegardinmenyen
- Velg "Administrer biblioteker"
- Søk etter de tre bibliotekene (Wire, liquid crystal og Adafruit Neopixel) som brukes i dette prosjektet, og last ned hver enkelt.
Vær oppmerksom på at hvis du ikke laster ned disse bibliotekene, vil det føre til en feil mens skissen blir kompilert. Etter dette trinnet, fest kabelen fra Arduino til den bærbare datamaskinen og trykk på pilknappen øverst til venstre på IDE. Dette vil kompilere og laste opp skissen til Arduino. Nå som vi er ferdige med alle programmeringsrelaterte trinn, la oss gå videre til ledninger!
Trinn 3: (Valgfritt) Loddehoder på deler
Hvis du valgte å kjøpe deler til dette prosjektet som ikke allerede hadde toppnoder loddet på dem, må du gjøre dette selv. Ikke bekymre deg for mye om denne delen, lodding for dette prosjektet er veldig grei.
- Lag et ventilert miljø for lodding, helst med en vifte som inneholder et filter. Hvis du ikke har en slik vifte, kan du gjøre det jeg gjør og åpne vinduene og slå på viften eller gå til garasjen mens den er åpen.
- Varm opp loddejernet og sørg for at du også har en våt svamp for å tørke av overflødig loddetinn.
- Sett opp hodene og delen du vil feste hodene i ved hjelp av en hjelpende hånd eller et annet verktøy som lar deg ordne delene mens du lar deg holde i loddebolten.
- Berør loddetinnet til loddejernet mens du er på forbindelsen mellom toppnålen og delen du lodder pinnene til. Ta av jernet når det er dannet nok loddetinn for å sikre elektrisk kontakt mellom toppnålene og delen. Tørk av overflødig loddetinn på svampen og gjenta denne prosessen for alle pinner.
- Etter at alle pinnene er loddet, plasser loddejernet i stativet, vri knappen til "av" og koble fra strykejernet. Vent til strykejernet er helt avkjølt for å sette det bort.
Trinn 4: Følg Picture and Wire Arduino til Components
I dette trinnet må du bruke jumper -ledninger for å koble delene som er nødvendige for prosjektet til Arduino. Jeg har levert en Fritzing -fil for å gjøre dette, som du kan se på dette trinnet. Vennligst se nedenfor for en liste over vanlige spørsmål som jeg stiller meg selv hvis jeg støter på et problem med ledninger:
- Er jord- og strømskinnene mine ordentlig koblet til hverandre og 5v- og GND -pinnene på Arduino?
- Har jeg rotet med potensiometeret mitt hvis LCD -skjermen ikke vises? (Prøv å snu potensiometeret for å endre motstanden hvis de hvite tegnene ikke vises som de skal)
- Er GND og VCC koblet til hver del riktig til riktig pinne? Brukes 5-voltsinnstillingen? (Alle sensorer og komponenter i dette prosjektet vil bruke 5 volt, ikke 3,3 volt.
- Var en ledning ved et uhell plassert en forbindelse vekk fra der den skulle være?
MERK: Når du arbeider med elektronikk, må du alltid kontrollere at kretsen ikke får strøm mens den endres. Ellers kan deler bli skadet, og når du arbeider med større spenninger, kan det føre til personskade
Trinn 5: Sett sammen prosjektet "Coaster"
Du vil kanskje legge merke til at toppene til LED -ringen stikker ut og ikke lar deg plassere koppen flatt mot en overflate. For å løse dette problemet, vil vi feste LED -ringen til en 3d -trykt del som gjør at ringen kan plasseres flatt på et bord. 3D -filen finnes på dette trinnet. Hvis du ikke har en 3d -skriver, ikke bekymre deg, denne utskriften kostet 1,40 å lage på mitt lokale bibliotek. Hvis ditt lokale bibliotek ikke har en 3D -skriver, inkluderer andre stifter og online selgere. Det skal også bemerkes at den bestemte delen jeg har vedlagt ikke er den eneste kompatible, det er bare måten å lage en modell for meg. Så hvis du er flink med trearbeid eller annet håndverk, ville det være mer enn akseptabelt!
Hvis du velger å skrive ut delen for dette prosjektet:
- Last ned STL -filen for å importere til en skiver som Cura
- Mål diameteren på bunnen av en kopp du ønsker
- Juster skalaen til modellen (i millimeter hvis du bruker Cura) til din måling
Trinn 6: Fest coaster og sensor til koppen du ønsker
Ta deretter coaster og bruk lim for å feste den til bunnen av koppen du målte. Nå vil hoppetrådene få tilgang til vannstandssensoren og LED-ringen, og også ligge flatt på bordet. Nå må du feste sensoren. Det er veldig forsiktig å være hensynsfull om plasseringen av sensoren, ettersom disse sensorene, mens de markedsføres som analoge, egentlig bare gir ut to signaler- vann eller ikke vann. Dette forårsaket veldig mange problemer for meg, men jeg klarte å finne en måte å løse det på slik at andre ikke opplevde de samme frustrasjonene med dette prosjektet. Nøkkelen er å plassere sensoren nær toppen av hvor væsken vil være når koppen er full. Dette vil sikre at sensoren er i stand til å registrere en "tom" tilstand og derfor kunne telle den neste helle drikke.
Trinn 7: Forbedre prosjektet og beskytt ledninger
På dette tidspunktet sitter du sannsynligvis igjen med en klump ledninger og deler som ser ut som bildet vedlagt. Hva du gjør for å få prosjektet til å se bedre ut, er helt opp til deg, så lenge du har disse kriteriene i bakhodet:
- Du må kunne koble en lader til strømmen til Arduino
- Du må kutte ut hull eller designe mellomrom for at brukeren skal få tilgang til LCD-skjermen, knapper, vannstandssensoren og LED-ringen.
- Du må beskytte de elektroniske komponentene mot å bli våte, da dette er en mulighet siden prosjektet fokuserer på drikke.
Noen valg for vedlegg av prosjektet er:
- En skokasse eller eske
- Et vanntett elektronikkprosjektkapsling som det som finnes her
- En 3D -trykt design (Dette er alternativet jeg ønsket å forfølge, men det var for dyrt å skrive ut et design som dette på biblioteket mitt)
Trinn 8: Drikk ansvarlig
Etter å ha festet koppen din til dalbanen og vannsensoren, er du i gang! Du vil vite at alt fungerer som det skal når LCD -skjermen ber deg om kjønn og vekt. Den ene knappen tilsvarer vekt, mens den andre tilsvarer sex. Du kan klikke på hver enkelt for å se hvilken det er før du merker det. Etter å ha valgt riktig vekt (verdiene er i trinn på 20) og kjønn, klikker du på begge knappene samtidig. Dette starter resten av programmet, og du vil se LED -ringen blinke med et regnbuemønster. Koppen er nå klar til å helle en drink. Etter hvert som du spiser og heller mer drikke, vil programmet bruke BAC -tabellen som er omtalt i innledningen for å bestemme en BAC. Vær oppmerksom på at dette programmet forutsetter en standard drink for hver kopp, se bildet (University of South Alabama), eller besøk her for å se hvordan din favorittdrink oversetter. Vær også oppmerksom på at målet med dette prosjektet ikke er å oppmuntre til ulovlig aktivitet, men å fremme trygt drikke for de som er gamle nok til å drikke alkohol. Selv om jeg er veldig fornøyd med hvor nøyaktig BAC -estimeringen forutsetter en standard drink, er dette prosjektet et verktøy for å hjelpe deg med å drikke trygt, men har ikke noe ansvar hvis du velger å kjøre bil etter inntak av alkohol.
Trinn 9: (Valgfritt) Feilsøking
- "Problem med opplasting til brett" -feil: Når du prøver å kompilere og laste opp skissen til Arduino, vil denne feilen oppstå hvis COM -porten ikke er riktig konfigurert (se trinn ett om hvordan du finner og angir riktig COM -port) eller din kortet er ikke plugget inn.
- LCD -skjermen viser ikke hvite tegn: Hvis det blå lyset på LCD -skjermen er på, men du ikke ser noen hvite tegn etter at du har lastet opp skissen, skyldes dette mest sannsynlig kontrastproblemer. For å fikse dette, bare vri potensiometeret til høyre (Sving til venstre hvis du ser hvite blokker med tegnene dine).
- Prosjektet teller ikke drikker riktig: Denne feilen er et vannstandssensorproblem. Vannivå sensormoduler tærer raskt og er kjent for å være veldig unøyaktige. Det bør imidlertid ikke bekymre deg for dette prosjektet, ettersom jeg behandlet sensoren som en digital sensor i stedet for en analog. Se trinn seks om hvordan du fester vannstandssensoren korrekt.
- En modul er ekstremt varm og sender ikke de riktige verdiene: Dette er resultatet av enten en GND- eller VCC -tilkobling som er brutt, sannsynligvis mens du arbeider med andre ledninger. Sørg for at GND- og VCC -tilkoblingene til sensoren er fullførte, og følg dem til GND- og 5v -pinnene fra komponenten, til brødbrettet, til Arduino for å se etter feil.
- Jeg gikk tilfeldigvis over vekten min: Ikke bekymre deg, vektinnstillingen går tilbake til 100 etter 240, så du kan bare fortsette å rotere gjennom alternativene for å komme tilbake til vekten din.
Hvis problemene vedvarer, kobler du kabelen fra Arduino til den bærbare datamaskinen, åpner IDE og kjører skissen. Mens skissen er i gang, vil flere verdier vises på den serielle skjermen, slik at du kan se hva som ikke fungerer som det skal. For å få tilgang til den serielle skjermen, kjør programmet og "Verktøy" og deretter "Seriell skjerm" fra rullegardinmenyen.
Trinn 10: Refleksjon
På programmeringssiden er jeg veldig fornøyd med hvordan dette prosjektet ble. Det tok en stund før jeg skrev siden jeg fortsatt er nybegynner, men jeg var i stand til å lære mange nye biblioteker og nå målet om å forutsi BAC, og jeg føler at jeg ikke tok noen snarveier i å estimere BAC da jeg brukte både sex og vekt (Dette utgjorde et flertall av skissen). Imidlertid må jeg godkjenne designet. Selv om jeg ikke eier en 3d -skriver eller kjenner trebearbeiding, ønsket jeg virkelig at prosjektet mitt skulle bli presentert på en bedre måte. Jeg har tenkt å snart få en Ender 3, og det første jeg vil gjøre er å komme tilbake til den samme instruksen for å forbedre designet. Som min første instruerbare noensinne, føler jeg at prosessen gikk bra, og jeg er veldig fornøyd med i hvor stor grad dette prosjektet tok for seg spørringen jeg skapte for Party Challenge, men design noe jeg gjerne vil komme tilbake til senere når jeg har ressurser.
Anbefalt:
Hvordan lage et trygt skap med RFID -lås: 5 trinn
Hvordan lage et trygt skap med RFID -lås: Lær hvordan du lager et safe med RFID -lås hjemme ved hjelp av Arduino og svært grunnleggende elektroniske komponenter. La oss lage et trygt skap med RFID -lås ved hjelp av Arduino og Rfid Scanner
Hvordan du trygt kan avolde elektroniske komponenter for gjenbruk: 9 trinn (med bilder)
How to Safe Desolder Electronic Components for Reuse: Hei! Jeg er en elektronikknerd, så jeg elsker å leke med forskjellige elektroniske komponenter i prosjektene mine. Imidlertid har jeg kanskje ikke alltid komponentene jeg trenger for å få jobben min utført. Noen ganger er det lettere å trekke komponentene jeg trenger fra en gammel elektronisk
Fest brutt bryterkort til smart berøringsbryter med temperaturovervåking: 4 trinn
Løsne ødelagte bryterkort i smart berøringsbryter med temperaturovervåking: Jeg vet at dere alle står overfor dette problemet, minst ett i livet ditt, ble bryterkortet ødelagt ved kontinuerlig bruk. De fleste mekaniske brytere blir ødelagt på grunn av å slå den på og av mye tid enten blir fjæren inne i bryteren forskjøvet eller m
Arduino luftmonitorskjerm. Lev i et trygt miljø .: 5 trinn (med bilder)
Arduino luftmonitorskjerm. Lev i et trygt miljø .: Hei, I denne instruksjonen skal jeg lage et luftovervåkingsskjerm for arduino. Som kan kjenne LPG -lekkasje og CO2 -konsentrasjon i atmosfæren. Og også piper en summer på LED og avtrekksvifte når LPG oppdages eller konsentratet
Fest en fastpiksel på en LCD -skjerm: 5 trinn (med bilder)
Fest en fastpiksel på en LCD -skjerm: Hvis du likte denne instruksen, vil du sannsynligvis like de andre tingene på nettstedet mitt her … Annullere garantier OPPDATERING: Denne instruksen var på Engadget! http://www.engadget.com/2007/12/24/how-to-guide-details-fix-for-stuck-pixels/Jeg skal