Sommario:

Sensore di flusso d'acqua a basso costo e display ambientale: 8 passaggi (con immagini)
Sensore di flusso d'acqua a basso costo e display ambientale: 8 passaggi (con immagini)

Video: Sensore di flusso d'acqua a basso costo e display ambientale: 8 passaggi (con immagini)

Video: Sensore di flusso d'acqua a basso costo e display ambientale: 8 passaggi (con immagini)
Video: La Smart Home più ECONOMICA - Aqara con Apple Homekit 2024, Novembre
Anonim
Sensore di flusso d'acqua a basso costo e display ambientale
Sensore di flusso d'acqua a basso costo e display ambientale

L'acqua è una risorsa preziosa. Milioni di persone non hanno accesso all'acqua potabile e fino a 4000 bambini muoiono ogni giorno per malattie contaminate dall'acqua. Tuttavia, continuiamo a sprecare le nostre risorse. L'obiettivo generale di questo progetto è motivare un uso più sostenibile dell'acqua e aumentare la consapevolezza sui problemi globali dell'acqua. Questo è un istruttivo su come rilevare grossolanamente il flusso d'acqua in un tubo e guidare un display ambientale. Sto usando un trasduttore piezoelettrico, alcuni LED e un arduino. Il dispositivo è un prototipo approssimativo di quella che alla fine diventerà una tecnologia persuasiva che motiva un comportamento sostenibile e aumenta la consapevolezza sull'uso dell'acqua. Questo è un progetto di Stacey Kuznetsov ed Eric Paulos presso il Living Environments Lab, presso lo Human Computer Interaction Institute della Carnegie Mellon University. Prodotto da Stacey [email protected]://staceyk.orgEric [email protected]://www. paulos.net/Living Environments Labhttps://www.living-environments.net Il video qui sotto illustra una versione precedente di questo progetto, in cui viene utilizzato un microfono invece di un elemento piezoelettrico per rilevare il flusso d'acqua. Otterrai prestazioni migliori quando utilizzi un trasduttore piezoelettrico, quindi questo tutorial descrive in dettaglio l'approccio piezoelettrico. Un ringraziamento speciale a Briam Lim, Bryan Pendleton, Chris Harrison e Stuart Anderson per l'aiuto con le idee e il design di questo progetto!

Passaggio 1: raccogliere materiali

Raccogli materiali
Raccogli materiali

Avrai bisogno di:- Breadboard- Microcontrollore (ho usato un Arduino)- Mastic- Piezo Transducer (https://www.radioshack.com/product/index.jsp?productId=2062402)- Alcuni LED (ho usato 2 gialli, 2 rossi, 2 verdi)- Portacandele o contenitore di dimensioni simili- Filo- Resistore da 1 Mohm (o altro valore elevato)- Resistenze da 4,7K (3)- Resistenze da 1K (1)- Resistenze di basso valore (per i LED)- Tagliare i fili - Ponticelli - Mastice - Amplificatore operazionale (LM613)

Passaggio 2: costruisci il circuito

Costruisci il circuito
Costruisci il circuito
Costruisci il circuito
Costruisci il circuito
Costruisci il circuito
Costruisci il circuito

Il circuito è costituito da un amplificatore per aumentare il segnale dal piezo e un partitore di tensione per aumentare la tensione di base. C'è un resistore di alto valore tra i due ingressi del piezo, che funge da resistore pull-down per il segnale.

Passaggio 3: testare il circuito

Prova il circuito
Prova il circuito

Collega il piezo al circuito e collega l'arduino. Il partitore di tensione imposta la tensione di base a 2,5 V, quindi le letture di base per il segnale dovrebbero essere circa 512 sul pin analogico di Arduino (a metà strada tra 0 e 1023). Il mio oscilla di +/-30 intorno a 520. Potresti vedere una certa fluttuazione intorno a questo numero.

Passaggio 4: calibra il sensore per rilevare le vibrazioni

Calibra il tuo sensore per rilevare le vibrazioni
Calibra il tuo sensore per rilevare le vibrazioni

Quando il rubinetto è aperto, le vibrazioni del tubo faranno sì che il piezo generi una corrente fluttuante. Poiché la lettura della base si riduce a circa 520, è possibile calcolare un'ampiezza attorno a questo numero per rilevare le vibrazioni. La mia soglia è impostata su 130, ma puoi aumentarla o diminuirla a seconda dei tipi di vibrazione che vuoi rilevare e della sensibilità del tuo particolare pezzo piezoelettrico. Per testare il segnale, usa il mastice per attaccare il piezo su una superficie piana. Prova a toccare o graffiare la superficie in punti diversi e con intensità diverse per vedere che tipo di letture ottieni su Arduino. Per ridurre il rumore, consiglio di calcolare una media mobile dell'input. Questo è un modo rozzo per determinare l'ampiezza dell'onda che evita falsi positivi dovuti a correnti statiche casuali. Possono essere utilizzati anche metodi più avanzati come FFT.// Sample Codeint sensor = 2; // Analog inint val =0; // Lettura corrente per pinint analogico avg; // Media corrente dell'ampiezza dell'ondaint MIDPOINT = 520; // Base readingvoid setup() { Serial.begin(9600); avg = PUNTO MEDIO; // imposta la media al punto medio} void loop() { val = analogRead(sensor); // Calcola l'ampiezza dell'onda if (val > MIDPOINT) { val = val - MIDPOINT; } else { val = PUNTO MEDIO - val; } // calcola la media corrente dell'ampiezza avg = (avg * 0.5) + (val * 0.5); if (avg > 130) { // vibrazione rilevata! Serial.println("TAP"); ritardo(100); // ritardo per garantire che la porta seriale non sia sovraccarica }}

Passaggio 5: creare un display ambientale

Crea un display ambientale
Crea un display ambientale
Crea un display ambientale
Crea un display ambientale
Crea un display ambientale
Crea un display ambientale

Se il tuo sensore funziona correttamente, puoi aggiungere un display ambientale per mostrare le informazioni. I miei LED sono accoppiati in modo tale che ogni colore sia illuminato da due LED. Per fare ciò, collegare insieme il cavo "in" (corto) di ciascun colore e utilizzare un resistore di basso valore prima di collegarsi ad Arduino. Collegare il cavo di massa (più lungo) di tutti i LED e collegarlo a terra sull'Arduino. Una volta collegati i LED, utilizzare il portacandele per alloggiare il display. Poiché il portacandele è in alluminio, potresti voler mettere un isolante come un pezzo di plastica, sul fondo del contenitore prima di inserire i LED per evitare il cortocircuito del circuito.

Passaggio 6: utilizzare i dati del sensore per pilotare il display

Usa i dati del sensore per guidare il display
Usa i dati del sensore per guidare il display

Mi ci vogliono circa 10 secondi per lavarmi le mani. Pertanto, ho programmato il display in modo che mostri una luce verde per i primi 10 secondi dopo l'apertura del rubinetto. Dopo 10 secondi, i LED gialli si accendono. Il display diventa rosso se l'acqua rimane accesa dopo 20 secondi e inizia a lampeggiare la luce rossa se il rubinetto rimane aperto per 25 secondi o più. Usa la tua immaginazione per creare display alternativi!

Passaggio 7: montare il sensore e il display su un tubo dell'acqua

Montare il sensore e il display su un tubo dell'acqua
Montare il sensore e il display su un tubo dell'acqua
Montare il sensore e il display su un tubo dell'acqua
Montare il sensore e il display su un tubo dell'acqua
Montare il sensore e il display su un tubo dell'acqua
Montare il sensore e il display su un tubo dell'acqua

Usa mastice o argilla per collegare il piezo al rubinetto e un altro strato di mastice per fissare il display sulla parte superiore. Potrebbe essere necessario regolare nuovamente l'ampiezza della soglia o "MIDPOINT" dal passaggio 4. Il segnale potrebbe anche essere leggermente influenzato dalla temperatura del tubo.

Passaggio 8: suggerimenti futuri

Suggerimenti futuri
Suggerimenti futuri

Puoi scegliere di guidare l'Arduino da una batteria. Un prossimo tutorial ti mostrerà come far funzionare questo display attingendo energia direttamente dall'acqua corrente stessa o sfruttando l'energia della luce ambientale circostante!

Consigliato: