Innehållsförteckning:

Festsäker i sommar med en Arduino blodalkoholreaktiv LED-kopp: 10 steg
Festsäker i sommar med en Arduino blodalkoholreaktiv LED-kopp: 10 steg

Video: Festsäker i sommar med en Arduino blodalkoholreaktiv LED-kopp: 10 steg

Video: Festsäker i sommar med en Arduino blodalkoholreaktiv LED-kopp: 10 steg
Video: ~6~ Actually This One Is A Party ~ Sabrina: The Teenage Witch - Spellbound (1999) ~Cyn Playthrough 2024, November
Anonim
Festsäker i sommar med en Arduino blodalkoholreaktiv LED-kopp
Festsäker i sommar med en Arduino blodalkoholreaktiv LED-kopp

Projektnivå Svårighet: Medel

Skicklighet behövs:

- Läsa och replikera ett diagram

- Lödning om du väljer att inte köpa förlödda delar

Projekt introduktion

I USA och över hela världen har alkohol utgjort allvarliga hälsorisker när de konsumeras på ett oansvarigt sätt. Dödsfall på grund av körning under påverkan och leverskada samt långtidseffekter som möjlig hjärna- och njurskada kan bero på oansvarig alkoholkonsumtion. Bara i USA förlorades 250 miljarder dollar på grund av alkoholmissbruk (NIAAA, 2010), liksom över 88 000 människor, vilket gjorde alkohol till den tredje ledande förebyggande dödsorsaken i landet. Frågan för detta projekt är som skapare, hur kan vi lösa detta problem och se till att roliga fester med alkohol som fester kan vara säkra och roliga?

Mitt svar på denna fråga var att hitta ett sätt att uppskatta och sedan visualisera användarens förutsagda BAC så att de bättre kan förstå vilket tillstånd de befann sig i. För detta projekt använde jag Arduino-mikrokontrollern med en vattennivåsensor, LED-ring och en LCD-skärm för att spåra hur många drycker en person har konsumerat och sedan för att hitta ett sätt att uppskatta blodalkoholhalten (BAC) för användaren baserat på kön och vikt. Den uppskattade BAC, beroende på vilket intervall den var i, bestämmer animationen av LED -ringen nedan. Intervallerna ligger mellan fyra olika områden: Säker, nedsatt, berusad och dödlig. Min förhoppning är att du genom att skapa detta projekt inte bara har skapat ett användbart Arduino -projekt utan också har fått en bättre förståelse för hur vi metaboliserar alkohol och eventuellt till och med lite grundläggande programmering om du väljer att titta över den kommenterade koden.

Hur vet koppen hur många drinkar jag har druckit?

Om vattennivåsensorns analoga värde överstiger 300, kommer ett booleskt värde som representerar koppen att registreras som HÖG (fullt). Om sensorns analoga värde är under 300, kommer det booleska värdet som representerar koppen att registreras som LÅGT (tomt). För att spela in en dryck som läggs till koppen måste detta booleska värde ändras från tomt till fullt.

Hur bestämde du BAC?

För att göra detta projekt så exakt som möjligt använde jag data från Saint Benedict & Saint John's University om hur mycket BAC för en individ ökade per konsumerad drink. Detta program tar inte bara hänsyn till vikt utan även användarens kön vid beräkningen av användarens BAC. Detta beror på att BAC är baserat på hur snabbt en kropp kan metabolisera alkohol, vilket är olika mellan män och kvinnor och personer med olika vikt. Diagrammen kan ses här.

Varför är BAC -intervallet olika för olika människor?

BAC -intervallet baseras direkt på data som erhållits från SBSJ University, som överväger hur mycket alkohol en användare måste ha i sitt system för att de ska vara i ett av fyra intervall:

- Säkert: Det enda säkra området att köra ett fordon i (representerat av regnbågsanimation)

- Nedsatt: Brottmålsavgifter kan uppstå om du använder ett fordon i detta intervall (representerat av orange animation)

- Berusad: Brottmålsavgifter kommer att uppstå om du använder ett fordon i detta intervall (representerat med rött ljus)

- Dödligt: Om du inte redan har svimmat är du i omedelbar medicinsk fara inom detta område (representerat av blinkande röda och vita lampor)

Men jag kan ta alkohol bra, så är den här koppen felaktig?

Hur väl du kan agera efter att ha druckit alkohol spelar ingen roll om du blåser förbi den lagliga gränsen under körning. Uppgifterna som används i detta projekt överväger vad det juridiska och medicinska intervallet för en användares BAC är, samtidigt som man tar hänsyn till användarens vikt och kön.

Tillbehör

Allmänna elektroniktillbehör för detta projekt inkluderar:

- Två tryckknappar

- Tröjor

- 10k potentiometer

- 2 10k motstånd

- 1 220 motstånd

Särskilda delar/moduler:

- En Arduino (jag använde en Uno för det här projektet, men det finns många billigare alternativ)

- En vattennivåsensor (OBS: Dessa sensorer är ofta felaktiga och korroderar snabbt, vilket var en stor frustration när jag utvecklade detta projekt. Men jag kunde hitta en lösning så att mina svårigheter med detta projekt inte översattes till dina svårigheter med detta projekt.)

- En LED -ring (12 lysdioder)

- En LCD -skärm

Verktyg:

- Lödkolv (behövs endast vid köp av LED -ring utan huvud)

- 3D -skrivare (tillval)

Steg 1: Ladda ner Arduino IDE och kopiera erforderlig kod

Ingen datorprogrammering krävs för detta projekt, allt du behöver göra är att kopiera koden härifrån och klistra in den i Arduino IDE. För att ladda ner Arduino IDE:

Ladda ner och konfigurera Arduino IDE:

- Besök Arduinos webbplats och välj nedladdning för ditt system

- När nedladdningen är klar får du COM -portnumret för Arduino. Anslut Arduino och navigera till Enhetshanteraren. Under portar, leta efter din Arduino och notera portnumret. Det ska se ut ungefär så här: COMx (där x är ett nummer 1-9)

- Använd COM -portnumret och konfigurera IDE för ditt kort och port genom att öppna Arduino IDE och välja "Verktyg" i den övre fältet. Välj "Board" och välj din modell. Välj sedan "Port" och välj porten du såg för din Arduino i Enhetshanteraren.

Skaffa projektkod

- Kopiera koden från detta steg och klistra in den i den vita delen av Arduino IDE. Se till att först ta bort allt på skissen, till exempel loop () och void () rutiner, eftersom dessa implementeras i koden du kopierar och klistrar in.

Steg 2: Ladda ner obligatoriska bibliotek från Arduino IDE

De bibliotek som används i detta projekt inkluderar "Wire", "LiquidCrystal" och "Adafruit Neopixel". Skissen behöver dessa bibliotek för att kommunicera med komponenterna som används i detta projekt. För att ladda ner dessa bibliotek:

- Välj "Sketch" i den övre fältet

- Välj "Inkludera bibliotek" från rullgardinsmenyn

- Välj "Hantera bibliotek"

- Sök efter de tre bibliotek (tråd, flytande kristall och Adafruit Neopixel) som används i detta projekt och ladda ner alla.

Observera att underlåtenhet att ladda ner dessa bibliotek kommer att resultera i ett fel medan skissen sammanställs. Efter det här steget, anslut kabeln från din Arduino till din bärbara dator och tryck på pilknappen i det övre vänstra hörnet av IDE. Detta kommer att sammanställa och ladda upp skissen till Arduino. Nu när vi är klara med alla programmeringsrelaterade steg, låt oss gå vidare till ledningar!

Steg 3: (Valfritt) Lödhuvuden på delar

Om du valde att köpa delar till det här projektet som inte redan hade huvudstiften lödda på dem måste du göra det själv. Oroa dig inte för mycket om den här delen, lödningen för detta projekt är mycket enkel.

- Skapa en ventilerad miljö att löda i, helst med en fläkt som innehåller ett filter. Om du inte har en sådan fläkt kan du göra det jag gör och öppna fönstren och slå på fläkten eller gå till garaget medan den är öppen.

- Värm upp ditt lödkolv och se till att du också har en våt svamp för att torka bort överflödigt löd.

- Ställ in rubrikerna och den del du vill fästa rubrikerna i med hjälp av en hjälpande hand eller ett annat verktyg som låter dig ordna delarna samtidigt som du kan hålla kvar lödkolven.

- Tryck på lödet mot lödkolven medan du är på anslutningen mellan huvudstiftet och den del du lödar stiften till. Ta av strykjärnet när tillräckligt löd har bildats för att säkerställa elektrisk kontakt mellan huvudstiften och delen. Torka bort allt överflödigt löd på svampen och upprepa denna process för alla stift.

- När alla stift är lödda, placera lödkolven i stativet, vrid vredet till "av" och dra ur stickkontakten. Vänta tills strykjärnet har svalnat helt för att lägga bort det.

Steg 4: Följ bild och tråd Arduino till komponenter

Följ bild och tråd Arduino till komponenter
Följ bild och tråd Arduino till komponenter

I det här steget måste du använda användarhoppstrådar för att ansluta de delar som är nödvändiga för projektet till Arduino. Jag har tillhandahållit en Fritzing -fil för att göra detta, vilket kan ses på detta steg. Vänligen se nedan för en lista med vanliga frågor som jag ställer mig själv om jag stöter på problem med ledningar:

- Är mina jord- och kraftskenor ordentligt anslutna till varandra och 5v- och GND -stiften på Arduino?

- Krånglade jag med min potentiometer om LCD -skärmen inte visas? (Försök att vrida på potentiometern för att ändra motståndet om de vita tecknen inte visas korrekt)

- Är GND och VCC korrekt anslutna till varje del till rätt stift? Används 5-voltsinställningen? (Alla sensorer och komponenter i detta projekt kommer att använda 5 volt, inte 3,3 volt.

- Var en tråd av misstag placerad en anslutning bort från där den skulle vara?

OBS: När du arbetar med elektronik, se alltid till att kretsen inte är strömförsörjd medan den ändras. I annat fall kan delar skadas och vid arbete med större spänningar kan kroppsskada uppstå

Steg 5: Montera projekt "Coaster"

Montera projekt
Montera projekt

Du kanske märker att rubrikerna på LED -ringen sticker ut och inte låter dig faktiskt placera koppen platt mot en yta. För att lösa detta problem kommer vi att fästa LED -ringen på en 3d -tryckt del som gör att ringen kan placeras platt på ett bord. 3D -filen finns i detta steg. Om du inte har en 3d -skrivare, oroa dig inte, detta tryck kostar 1,40 att göra på mitt lokala bibliotek. Om ditt lokala bibliotek inte har en 3D -skrivare, inkluderar andra alternativ häftklamrar och onlinesäljare. Det bör också noteras att den vissa delen jag har bifogat inte är den enda kompatibla, det är bara sättet att göra en modell för mig. Så om du är duktig på träbearbetning eller annat hantverk skulle det vara mer än acceptabelt!

Om du väljer att skriva ut delen för detta projekt:

- Ladda ner STL -filen för att importera till en skivare som Cura

- Mät diametern på botten på en kopp efter eget val

- Justera modellens skala (i millimeter om du använder Cura) efter din mätning

Steg 6: Fäst underlägg och sensor på koppen du väljer

Fäst underlägg och sensor på din valfria kopp
Fäst underlägg och sensor på din valfria kopp

Ta sedan din dalbana och använd lim för att fästa den på botten av koppen du mätte. Nu kommer bygelkablarna att kunna komma åt vattennivåsensorn och LED-ringen och också ligga platt på bordet. Nu måste du fästa sensorn. Det är mycket försiktigt att vara hänsynsfull när det gäller placeringen av sensorn, eftersom dessa sensorer, medan de marknadsförs som analoga, verkligen bara släpper ut två signaler- vatten eller inget vatten. Detta orsakade väldigt många problem för mig, men jag kunde hitta ett sätt att lösa det så att andra inte upplevde samma frustrationer med det här projektet. Nyckeln är att placera sensorn nära toppen av där vätskan kommer att vara när koppen är full. Detta kommer att säkerställa att sensorn kan registrera ett "tomt" tillstånd och därför kunna räkna nästa hällda dryck.

Steg 7: Försköna projekt och skydda ledningar

Försköna projekt och skydda ledningar
Försköna projekt och skydda ledningar

Vid denna tidpunkt sitter du förmodligen kvar med en klump trådar och delar som ser ut som bilden bifogad. Vad du gör för att projektet ska se bättre ut är helt upp till dig, så länge du håller dessa kriterier i åtanke:

- Du måste kunna ansluta en laddare till Arduino

- Du måste klippa ut hål eller utforma utrymmen för att användaren ska komma åt LCD-skärmen, knapparna, vattennivåsensorn och LED-ringen.

- Du måste skydda de elektroniska komponenterna från att bli blöta, eftersom detta är en möjlighet eftersom projektet fokuserar på drycker.

Några val för att bifoga projektet är:

- En skokartong eller kartong

- En vattentät elektronikprojektkapsling som den som finns här

- En 3d -tryckt design (Detta är det alternativ jag ville fortsätta, men det var för dyrt att skriva ut en design som denna på mitt bibliotek)

Steg 8: Drick ansvarsfullt

Drick ansvarsfullt!
Drick ansvarsfullt!

Efter att du har fäst din kopp på dalbanan och vattensensorn är du klar att gå! Du kommer att veta att allt fungerar som det ska när LCD -skärmen ber dig om ditt kön och din vikt. En knapp motsvarar vikt, medan den andra motsvarar sex. Du kan klicka på var och en för att se vilken det är innan du märker det. När du har valt rätt vikt (värdena är i steg om 20) och kön klickar du på båda knapparna samtidigt. Detta startar resten av programmet och du kommer att se LED -ringen blinka ett regnbågsmönster. Koppen är nu redo för dig att hälla en drink. När du konsumerar och häller mer drycker kommer programmet att använda BAC -tabellen som diskuteras i inledningen för att bestämma en BAC. Observera att detta program förutsätter en standarddryck för varje kopp, se bilden (University of South Alabama), eller besök här för att se hur din favoritdryck översätts. Observera också att målet med detta projekt inte är att uppmuntra till olaglig aktivitet, utan att främja säkert drickande för dem som är tillräckligt gamla för att konsumera alkohol. Även om jag är mycket nöjd med hur exakt BAC -uppskattningen förutsätter en standarddryck, är detta projekt ett verktyg för att hjälpa dig att dricka säkert, men har inget ansvar om du väljer att köra bil efter att du har druckit alkohol.

Steg 9: (Valfritt) Felsökning

(Valfritt) Felsökning
(Valfritt) Felsökning

- "Problem med att ladda upp till kort" -fel: När du försöker kompilera och ladda upp skissen till Arduino kommer detta fel att uppstå om din COM -port inte är korrekt konfigurerad (Se steg ett om hur du hittar och ställer in rätt COM -port) eller din kortet är inte anslutet.

- LCD -skärmen visar inga vita tecken: Om det blå ljuset på LCD -skärmen lyser men du inte ser några vita tecken efter att du har laddat upp skissen beror det troligen på kontrastproblem. För att åtgärda detta, vrid bara din potentiometer till höger (Vrid till vänster om du ser vita block med dina karaktärer).

- Projektet räknar inte drycker korrekt: Det här felet är ett problem med vattennivåsensorn. Vattennivåsensormoduler korroderar snabbt och är kända för att vara mycket felaktiga. Det bör dock inte oroa dig för det här projektet, eftersom jag behandlade sensorn som en digital sensor snarare än en analog. Se steg sex om hur du korrekt fäster din vattennivåsensor.

- En modul är extremt varm och skickar inte de korrekta värdena: Detta är resultatet av att antingen en GND- eller VCC -anslutning bryts, troligen när du arbetar med andra ledningar. Se till att GND- och VCC -anslutningarna till sensorn är fullständiga och följ dem till GND- och 5v -stiften från komponenten, till brödbrädan, till Arduino för att leta efter fel.

- Jag gick av misstag över min vikt: Oroa dig inte, viktinställningen återgår till 100 efter 240, så du kan bara fortsätta att rotera genom alternativen för att komma tillbaka till din vikt.

Om problemen kvarstår, anslut kabeln från Arduino till den bärbara datorn, öppna IDE och kör skissen. Medan skissen körs kommer flera värden att visas i seriemonitorn, så att du kan se vad som inte fungerar som det ska. För att komma åt den seriella bildskärmen, kör programmet och "Verktyg" och sedan "Seriell bildskärm" från rullgardinsmenyn.

Steg 10: Reflektion

På programmeringssidan är jag mycket nöjd med hur projektet blev. Det tog ett tag för mig att skriva eftersom jag fortfarande är nybörjare, men jag kunde lära mig många nya bibliotek och nå målet att förutsäga BAC, och jag känner att jag inte tog några genvägar för att uppskatta BAC eftersom jag använde både sex och vikt (Detta utgjorde en majoritet av skissen). Jag måste dock godkänna designen. Även om jag inte äger en 3d -skrivare eller kan träbearbetning, ville jag verkligen att mitt projekt skulle presenteras på ett bättre sätt. Jag tänker snart få en Ender 3, och det första jag kommer att göra är att komma tillbaka till samma instruerbara för att förbättra designen. Som min första instruerbara någonsin känner jag att processen gick bra och jag är mycket nöjd med i vilken utsträckning detta projekt tog itu med uppmaningen jag skapade för Party Challenge, men utforma något jag senare skulle vilja återkomma till när jag har resurser.

Rekommenderad: