Sommario:

Festa sicura quest'estate con una tazza LED reattiva per alcol etilico Arduino: 10 passaggi
Festa sicura quest'estate con una tazza LED reattiva per alcol etilico Arduino: 10 passaggi

Video: Festa sicura quest'estate con una tazza LED reattiva per alcol etilico Arduino: 10 passaggi

Video: Festa sicura quest'estate con una tazza LED reattiva per alcol etilico Arduino: 10 passaggi
Video: Brain Fog, Stress and Hydration: What Research Tells Us Webinar 2024, Novembre
Anonim
Festa sicura quest'estate con una tazza LED reattiva per alcol etilico Arduino
Festa sicura quest'estate con una tazza LED reattiva per alcol etilico Arduino

Difficoltà del livello di progetto: Intermedia

Competenze necessarie:

- Leggere e replicare un diagramma

- Saldatura se si sceglie di non acquistare parti pre-saldate

Introduzione al progetto

Negli Stati Uniti e in tutto il mondo, l'alcol ha posto gravi minacce alla salute se consumato in modo irresponsabile. I decessi dovuti alla guida in stato di ebrezza e danni al fegato, nonché effetti a lungo termine come possibili danni cerebrali e renali, possono derivare dal consumo irresponsabile di alcol. Solo negli Stati Uniti, 250 miliardi di dollari sono stati persi a causa dell'abuso di alcol (NIAAA, 2010) e oltre 88.000 persone, rendendo l'alcol la terza causa di morte prevenibile nel paese. La domanda per questo progetto è come creatori, come possiamo affrontare questo problema e assicurarci che feste divertenti con alcol come le feste possano rimanere sicure e divertenti?

La mia risposta a questa domanda è stata quella di trovare un modo per stimare e quindi visualizzare il BAC previsto dell'utente per consentirgli di capire meglio in che stato si trovava. Per questo progetto, ho utilizzato il microcontrollore Arduino con un sensore del livello dell'acqua, un anello LED e uno schermo LCD per tenere traccia di quante bevande ha consumato una persona e quindi per trovare un modo per stimare il contenuto di alcol nel sangue (BAC) di l'utente in base al sesso e al peso. Il BAC stimato, a seconda dell'intervallo in cui si trovava, determina l'animazione dell'anello LED sottostante. Le gamme rientrano tra quattro aree distinte: sicuro, alterato, intossicato e mortale. La mia speranza è che creando questo progetto, non solo avrai creato un progetto Arduino utilizzabile, ma avrai anche acquisito una migliore comprensione di come metabolizziamo l'alcol e forse anche una programmazione di base se scegli di guardare il codice commentato.

Come fa la tazza a sapere quante bevande ho bevuto?

Se il valore analogico del sensore di livello dell'acqua supera 300, un valore booleano che rappresenta la tazza verrà registrato come ALTO (pieno). Se il valore analogico del sensore è inferiore a 300, il valore booleano che rappresenta la tazza verrà registrato come LOW (vuoto). Per registrare una bevanda che viene aggiunta alla tazza, questo valore booleano deve cambiare da vuoto a pieno.

Come hai determinato BAC?

Per rendere questo progetto il più accurato possibile, ho utilizzato i dati della Saint Benedict & Saint John's University su quanto aumentasse il BAC di un individuo per bevanda consumata. Questo programma non considera solo il peso ma anche il sesso dell'utente nel calcolo del BAC dell'utente. Questo perché il BAC si basa sulla velocità con cui un corpo è in grado di metabolizzare l'alcol, che è diverso tra uomini e donne e persone di peso diverso. I grafici possono essere visti qui.

Perché le gamme BAC sono diverse per persone diverse?

Gli intervalli BAC si basano direttamente sui dati ottenuti dall'Università SBSJ, che considera la quantità di alcol che un utente deve avere nel proprio sistema per rientrare in uno dei quattro intervalli:

- Sicuro: l'unico raggio sicuro in cui operare un veicolo (rappresentato dall'animazione arcobaleno)

- Indebolito: se si utilizza un veicolo in questa gamma (rappresentato da un'animazione arancione) possono derivare accuse penali.

- Intossicato: risulterà un'accusa penale se si utilizza un veicolo in questa gamma (rappresentato da luci rosse)

- Letale: se non sei già svenuto, sei in pericolo medico immediato in questo intervallo (rappresentato da luci lampeggianti rosse e bianche)

Ma posso prendere bene l'alcol, quindi questa tazza è imprecisa?

Quanto bene sarai in grado di comportarti dopo aver consumato alcolici non avrà molta importanza se superi il limite legale durante la guida. I dati utilizzati in questo progetto considerano quali sono le gamme legali e mediche del BAC di un utente, considerando anche il peso e il sesso dell'utente.

Forniture

Le forniture di elettronica generale per questo progetto includono:

- Due pulsanti

- Ponticelli

- Potenziometro 10k

- 2 resistori da 10k

- 1 resistenza da 220

Parti/moduli speciali:

- Un Arduino (ho usato uno Uno per questo progetto, ma esistono molte alternative più economiche)

- Un sensore del livello dell'acqua (NOTA: questi sensori sono spesso imprecisi e si corrodono rapidamente, il che è stata una grande frustrazione nello sviluppo di questo progetto. Tuttavia, sono riuscito a trovare una soluzione in modo che le mie difficoltà con questo progetto non si traducano nelle tue difficoltà con questo progetto.)

- Un anello LED (12 LED)

- Uno schermo LCD

Utensili:

- Saldatore (necessario solo se si acquista un anello LED senza intestazioni)

- Stampante 3D (Opzionale)

Passaggio 1: scarica l'IDE Arduino e copia il codice richiesto

Non è richiesta alcuna programmazione del computer per questo progetto, tutto ciò che devi fare è copiare il codice da qui e incollarlo nell'IDE di Arduino. Per scaricare l'IDE Arduino:

Download e configurazione dell'IDE Arduino:

- Visita il sito Arduino e scegli il download per il tuo sistema

- Una volta completato il download, ottenere il numero della porta COM per Arduino. Collega Arduino e vai a Gestione dispositivi. Sotto le porte, cerca il tuo Arduino e prendi nota del numero di porta. Dovrebbe assomigliare a questo: COMx (dove x è un numero 1-9)

- Usando il numero della porta COM, configura l'IDE per la tua scheda e porta aprendo l'IDE di Arduino e selezionando "Strumenti" nella barra in alto. Seleziona "Board" e scegli il tuo modello. Quindi, scegli "Porta" e seleziona la porta che hai visto per il tuo Arduino in Gestione dispositivi.

Ottenere il codice del progetto

- Copia il codice da questo passaggio e incollalo nella sezione bianca dell'IDE di Arduino. Assicurati di eliminare prima tutto sullo schizzo, come le routine loop() e void(), poiché queste sono implementate nel codice che stai copiando e incollando.

Passaggio 2: scarica le librerie richieste dall'IDE Arduino

Le librerie utilizzate in questo progetto includono "Wire", "LiquidCrystal" e "Adafruit Neopixel". Lo schizzo necessita di queste librerie per comunicare con i componenti utilizzati in questo progetto. Per scaricare queste librerie:

- Seleziona "Schizzo" nella barra in alto

- Seleziona "Includi libreria" dal menu a discesa

- Seleziona "Gestisci librerie"

- Cerca le tre librerie (Wire, liquid crystal e Adafruit Neopixel) utilizzate in questo progetto e scaricale ciascuna.

Tieni presente che il mancato download di queste librerie comporterà un errore durante la compilazione dello schizzo. Dopo questo passaggio, collega il cavo dal tuo Arduino al tuo laptop e premi il pulsante freccia nell'angolo in alto a sinistra dell'IDE. Questo compilerà e caricherà lo schizzo su Arduino. Ora che abbiamo finito con tutti i passaggi relativi alla programmazione, passiamo al cablaggio!

Passaggio 3: (opzionale) saldare le intestazioni sulle parti

Se hai scelto di acquistare parti per questo progetto che non avevano già i pin di intestazione saldati su di esse, dovrai farlo tu stesso. Non preoccuparti troppo di questa parte, la saldatura per questo progetto è molto semplice.

- Creare un ambiente ventilato dove saldare, preferibilmente con una ventola contenente un filtro. Se non hai un ventilatore del genere, puoi fare quello che faccio io e aprire le finestre e accendere il ventilatore o andare in garage mentre è aperto.

- Riscalda il saldatore e assicurati di avere anche una spugna bagnata per pulire la saldatura in eccesso.

- Imposta le intestazioni e la parte in cui desideri collegare le intestazioni utilizzando una mano o un altro strumento che ti permetta di sistemare le parti mentre ti consente di tenere il saldatore.

- Tocca la saldatura al saldatore mentre sei sulla connessione tra il pin dell'intestazione e la parte a cui stai saldando i pin. Togli il ferro quando si è formata una quantità sufficiente di saldatura per garantire il contatto elettrico tra i pin dell'intestazione e la parte. Pulisci la saldatura in eccesso sulla spugna e ripeti questo processo per tutti i pin.

- Dopo aver saldato tutti i pin, posizionare il saldatore nel supporto, ruotare la manopola su "off" e scollegare il saldatore. Attendi che il ferro si sia completamente raffreddato per riporlo.

Passaggio 4: seguire l'immagine e collegare Arduino ai componenti

Segui l'immagine e collega Arduino ai componenti
Segui l'immagine e collega Arduino ai componenti

In questo passaggio, sarà necessario utilizzare i cavi dei ponticelli per collegare le parti necessarie per il progetto ad Arduino. Ho fornito un file Fritzing per farlo, che può essere visto in questo passaggio. Vedi sotto per un elenco di domande comuni che mi pongo se incontro un problema con il cablaggio:

- I miei binari di terra e alimentazione sono collegati correttamente tra loro e i pin 5v e GND dell'Arduino?

- Ho pasticciato con il mio potenziometro se il display LCD non viene visualizzato? (Prova a girare il potenziometro per cambiare la resistenza se i caratteri bianchi non appaiono correttamente)

- GND e VCC sono collegati correttamente a ciascuna parte al pin corretto? Viene utilizzata l'impostazione a 5 volt? (Tutti i sensori e i componenti in questo progetto utilizzeranno 5 volt, non 3,3 volt.

- Un cavo è stato posizionato accidentalmente a una connessione lontana da dove avrebbe dovuto essere?

NOTA: Quando si lavora con l'elettronica, assicurarsi sempre che il circuito non sia alimentato durante la sostituzione. In caso contrario, le parti potrebbero danneggiarsi e quando si lavora con tensioni maggiori, potrebbero verificarsi lesioni personali

Passaggio 5: Assemblare il progetto "Sottobicchiere"

Assemblare progetto
Assemblare progetto

Potresti notare che le intestazioni dell'anello LED sporgono e non ti consentono di posizionare effettivamente la tazza contro una superficie. Per risolvere questo problema, attaccheremo l'anello LED a una parte stampata in 3D che consentirà di posizionare l'anello piatto su un tavolo. Il file 3d può essere trovato in questo passaggio. Se non hai una stampante 3D, non preoccuparti, questa stampa costa 1,40 da fare nella mia biblioteca locale. Se la tua biblioteca locale non ha una stampante 3D, altre opzioni includono Staples e venditori online. Va anche notato che la parte certa che ho allegato non è l'unica compatibile, è solo il modo per creare un modello per me. Quindi, se sei bravo con la lavorazione del legno o altri mestieri, sarebbero più che accettabili!

Se scegli di stampare la parte per questo progetto:

- Scarica il file STL da importare in un'affettatrice come Cura

- Misura il diametro del fondo di una tazza a tua scelta

- Regola la scala del modello (in millimetri se usi Cura) alla tua misura

Passaggio 6: collegare il sottobicchiere e il sensore alla tazza di tua scelta

Attacca il sottobicchiere e il sensore alla tazza di tua scelta
Attacca il sottobicchiere e il sensore alla tazza di tua scelta

Quindi, prendi il sottobicchiere e usa l'adesivo per attaccarlo al fondo della tazza che hai misurato. Ora, i cavi dei ponticelli saranno in grado di accedere al sensore del livello dell'acqua e all'anello LED e potranno anche essere appiattiti sul tavolo. Ora devi collegare il sensore. È molto attento a prestare attenzione al posizionamento del sensore, poiché questi sensori, sebbene commercializzati come analogici, in realtà emettono solo due segnali: acqua o assenza di acqua. Questo mi ha causato moltissimi problemi, ma sono riuscito a trovare un modo per risolverlo in modo che altri non provassero le stesse frustrazioni con questo progetto. La chiave è posizionare il sensore vicino alla parte superiore di dove sarà il liquido quando la tazza è piena. Questo farà in modo che il sensore sia in grado di registrare uno stato "vuoto" e quindi in grado di contare la successiva bevanda versata.

Passaggio 7: abbellire il progetto e proteggere i cavi

Abbellisci il progetto e proteggi i cavi
Abbellisci il progetto e proteggi i cavi

A questo punto, probabilmente rimarrai con un gruppo di fili e parti che assomiglia alla foto allegata. Quello che fai per migliorare l'aspetto del progetto dipende completamente da te, a patto di tenere a mente questi criteri:

- Devi essere in grado di collegare un caricabatterie all'alimentazione di Arduino

- È necessario ritagliare fori o progettare spazi per consentire all'utente di accedere allo schermo LCD, ai pulsanti, al sensore del livello dell'acqua e all'anello LED.

- È necessario proteggere i componenti elettronici dall'umidità, poiché questa è una possibilità poiché il progetto si concentra sulle bevande.

Alcune scelte per allegare il progetto sono:

- Una scatola da scarpe o un cartone

- Una custodia per progetti di elettronica impermeabile come quella che si trova qui

- Un design stampato in 3D (questa è l'opzione che volevo perseguire, tuttavia era troppo costoso stampare un design come questo nella mia libreria)

Step 8: Bevi responsabilmente

Bevi responsabilmente!
Bevi responsabilmente!

Dopo aver attaccato la tua tazza al sottobicchiere e al sensore dell'acqua, sei a posto! Saprai che tutto funziona correttamente quando lo schermo LCD ti chiederà il tuo sesso e peso. Un bottone corrisponde al peso, mentre l'altro corrisponde al sesso. Puoi fare clic su ciascuno per vedere quale è prima di etichettarlo. Dopo aver selezionato il peso corretto (i valori sono in passi di 20) e il sesso, fare clic su entrambi i pulsanti contemporaneamente. Questo avvierà il resto del programma e vedrai l'anello LED lampeggiare con uno schema arcobaleno. La tazza è ora pronta per essere versata da bere. Man mano che si consumano e si versano più bevande, il programma utilizzerà la tabella BAC discussa nell'introduzione per determinare un BAC. Si prega di notare che questo programma presuppone una bevanda standard per ogni tazza, si prega di vedere l'immagine (University of South Alabama), o visitare qui per vedere come si traduce la vostra bevanda preferita. Si noti inoltre che l'obiettivo di questo progetto non è incoraggiare alcuna attività illegale, ma promuovere il bere sicuro per coloro che sono abbastanza grandi da consumare alcolici. Inoltre, mentre sono molto contento di quanto sia accurata la stima del BAC assumendo una bevanda standard, questo progetto è uno strumento per aiutarti a bere in sicurezza, ma non ha alcuna responsabilità se scegli di guidare dopo aver consumato alcolici.

Passaggio 9: risoluzione dei problemi (opzionale)

(Opzionale) Risoluzione dei problemi
(Opzionale) Risoluzione dei problemi

- Errore "Problema durante il caricamento sulla scheda": quando si tenta di compilare e caricare lo schizzo su Arduino, questo errore si verifica se la porta COM non è configurata correttamente (vedere il passaggio uno su come trovare e impostare la porta COM corretta) o la scheda non è collegata.

- Schermo LCD che non mostra caratteri bianchi: se la luce blu del tuo LCD è accesa ma non vedi caratteri bianchi dopo aver caricato lo schizzo, è molto probabile che ciò sia dovuto a problemi di contrasto. Per risolvere questo problema, gira semplicemente il potenziometro a destra (gira a sinistra se vedi blocchi bianchi con i tuoi personaggi).

- Il progetto non conta correttamente le bevande: questo errore è un problema del sensore del livello dell'acqua. I moduli dei sensori del livello dell'acqua si corrodono rapidamente e sono noti per essere molto imprecisi. Tuttavia, questo non dovrebbe interessarti per questo progetto, poiché ho trattato il sensore come un sensore digitale anziché analogico. Vedere il passaggio sei su come collegare correttamente il sensore del livello dell'acqua.

- Un modulo è estremamente caldo e non invia i valori corretti: questo è il risultato dell'interruzione di una connessione GND o VCC, probabilmente mentre si lavora con altri cavi. Assicurati che le connessioni GND e VCC al sensore siano complete e seguile fino ai pin GND e 5v dal componente, alla breadboard, all'Arduino per cercare errori.

- Ho accidentalmente superato il mio peso: non preoccuparti, l'impostazione del peso torna a 100 dopo 240, quindi puoi semplicemente continuare a ruotare le opzioni per tornare al tuo peso.

Se i problemi persistono, collega il cavo da Arduino al laptop, apri l'IDE ed esegui lo schizzo. Durante l'esecuzione dello schizzo, verranno visualizzati diversi valori nel monitor seriale, consentendo di vedere cosa non funziona come dovrebbe. Per accedere al monitor seriale, eseguire il programma e "Strumenti" e poi "Monitor seriale" dal menu a discesa.

Passaggio 10: riflessione

Per quanto riguarda la programmazione, sono molto contento di come è venuto fuori questo progetto. Mi ci è voluto un po' di tempo per scrivere poiché sono ancora un principiante, ma sono stato in grado di imparare molte nuove librerie e raggiungere l'obiettivo di prevedere il BAC, e sento di non aver preso scorciatoie nella stima del BAC poiché ho usato sia il sesso che peso (questo costituiva la maggior parte dello schizzo). Tuttavia, devo approvare il progetto. Sebbene non possieda una stampante 3D o conosca la lavorazione del legno, volevo davvero che il mio progetto fosse presentato in un modo migliore. Ho intenzione di ottenere presto un Ender 3, e la prima cosa che farò è tornare subito a questa stessa istruzione per migliorare il design. Essendo il mio primo istruttore in assoluto, sento che il processo è andato bene e sono molto contento della misura in cui questo progetto ha affrontato il prompt che ho creato per la Party Challenge, ma progetta qualcosa su cui vorrei tornare in seguito quando avrò le risorse.

Consigliato: