- Materiali richiesti
- Sensore di pioggia
- Funzionamento del sensore pioggia
- Schema elettrico
- Spiegazione del codice
- Funzionamento del sistema di rilevamento della pioggia basato su Arduino
Un semplice sistema di rilevamento pioggia può essere facilmente costruito interfacciando un Arduino con sensore pioggia. Il sensore rileverà la pioggia che cade su di esso e la scheda Arduino la rileverà e potrà eseguire le azioni richieste. Un sistema come questo può essere utilizzato in molti campi diversi, come l'agricoltura e il settore automobilistico. Il rilevamento delle precipitazioni può essere utilizzato per regolare automaticamente il processo di irrigazione. Inoltre, dati sulle precipitazioni continuepuò aiutare gli agricoltori a utilizzare questo sistema intelligente per innaffiare automaticamente il raccolto solo quando assolutamente necessario. Analogamente, nel settore automobilistico i tergicristalli possono essere resi completamente automatici utilizzando il sistema di rilevamento pioggia. E i sistemi di automazione domestica possono anche utilizzare il rilevamento della pioggia per chiudere automaticamente le finestre e regolare la temperatura della stanza. In questo tutorial, costruiremo un sensore pioggia di base utilizzando Arduino con un cicalino. È quindi possibile utilizzare questa configurazione per creare tutto ciò che desideri sopra di essa. Inoltre, si noti che il modulo sensore pioggia è anche indicato come sensore goccia di pioggia o sensore pluviometro o sensore acqua piovana in base all'utilizzo, ma si riferiscono tutti allo stesso sensore utilizzato in questo progetto e funzionano tutti secondo lo stesso principio.
Abbiamo anche costruito un semplice allarme pioggia e un tergicristallo automatico per auto usando solo il timer 555, potresti voler controllare anche quello se non vuoi usare un Arduino. Detto questo, torniamo a questo progetto e iniziamo a costruire il nostro pluviometro Arduino.
Materiali richiesti
- Arduino UNO
- Sensore di pioggia
- Cicalino
- Breadboard
- Cavi di collegamento
Sensore di pioggia
Il modulo Gocce di pioggia è costituito da due schede, vale a dire Rain Board e Control Board.
Il modulo della scheda Rain è costituito da due binari in rame, progettati in modo tale che in condizioni di asciutto forniscano un'elevata resistenza alla tensione di alimentazione e questa tensione di uscita di questo modulo sarà di 5V. La resistenza di questo modulo diminuisce gradualmente rispetto ad un aumento dell'umidità sulla tavola. Al diminuire della resistenza, diminuisce anche la sua tensione di uscita rispetto all'umidità del modulo. Il modulo della scheda Rain è costituito da due pin utilizzati per il collegamento alla scheda di controllo come mostrato di seguito.
Il modulo della scheda di controllo controlla la sensibilità e converte l'uscita analogica in uscita digitale. Se il valore analogico è inferiore al valore di soglia della scheda di controllo, l'uscita è digitale bassa e se il valore analogico è superiore al valore di soglia, l'uscita è digitale alta. Per questo confronto e conversione, viene utilizzato un comparatore OP-Amp LM393. Un comparatore Op-Amp è un circuito interessante che può essere utilizzato per confrontare due diversi valori di tensione, abbiamo già utilizzato in questo circuito in molti progetti come Smart Electronic Candle, Laser Security Alarm, Line Follower Robot e molto altro.
Il modulo di controllo della pioggia mostrato di seguito è costituito da 4 pin per collegare Arduino, ovvero VCC, GND, D0, A0 e altri due pin per collegare il modulo della scheda della pioggia. In sintesi, il modulo della scheda della pioggia rileva l'acqua piovana e il modulo della scheda di controllo viene utilizzato per controllare la sensibilità e confrontare e convertire i valori analogici in valori digitali.
Funzionamento del sensore pioggia
Il funzionamento del modulo sensore pioggia è semplice da capire. Durante una giornata di sole, a causa della secchezza del modulo pluviale, offre un'elevata resistenza alla tensione di alimentazione. Questa tensione appare sul pin di uscita del modulo della scheda antipioggia come 5V. Questo 5V viene letto come 1023 se letto da un pin analogico di Arduino. Durante la pioggia, l'acqua piovana provoca un aumento dell'umidità sul pannello antipioggia, che a sua volta si traduce in una diminuzione della resistenza offerta per la fornitura. Quando la resistenza diminuisce gradualmente, la tensione di uscita inizia a diminuire.
Quando il pannello antipioggia è completamente bagnato e la resistenza da esso offerta è minima, la tensione di uscita sarà la più bassa possibile (circa 0). Questo 0V viene letto come valore 0 se letto da un pin analogico di Arduino. Se il modulo della scheda della pioggia è parzialmente bagnato, l'uscita di questo modulo della scheda della pioggia sarà rispetto alla resistenza che offre. Se la resistenza offerta dal modulo rain board è in modo tale che l'uscita sia 3V, il valore analogico letto sarà 613. La formula per trovare l'ADC può essere data da, ADC = (valore tensione analogica X 1023) / 5. Utilizzando questa formula è possibile convertire qualsiasi tensione analogica in t valore di lettura analogico di Arduino.
Schema elettrico
Lo schema del circuito seguente mostra le connessioni del circuito per il sensore di pioggia con Arduino. La progettazione viene eseguita utilizzando proteus, i moduli fisici sono simili ai moduli mostrati nello schema del circuito.
Il modulo pluviometro, mostrato nello schema elettrico, è collegato alla scheda di controllo. Il pin VCC della scheda di controllo è collegato all'alimentazione 5V. Il pin di terra è collegato a terra. Se necessario, il pin D0 è collegato a qualsiasi pin digitale di Arduino e quel pin deve essere dichiarato come pin di uscita nel programma. Il problema che dobbiamo affrontare con il pin D0 è che non possiamo ottenere il valore esatto della tensione di uscita. Se l'uscita supera la tensione di soglia, il modulo di controllo può rilevare il cambiamento nell'uscita. Dobbiamo azionare il cicalino, anche se c'è una variazione considerevole nella tensione di uscita nel modulo della scheda antipioggia. Per questi motivi, il pin A0 è collegato al pin analogico di Arduino, il che semplifica il monitoraggio del cambio di uscita. Il buzzer, che viene utilizzato come segnale per l'utente,può essere collegato a qualsiasi pin digitale di Arduino. Se il cicalino necessita di più di 5 V, provare a collegare un circuito relè o un transistor e quindi collegare il carico ad esso.
Spiegazione del codice
Il codice Arduino per il sensore pioggia è stato scritto utilizzando l'IDE di Arduino. Il codice completo per questo progetto è fornito alla fine della pagina.
#define precipitazioni A0 #define buzzer 5 valore int; int set = 10;
Definendo il pin A0 come pioggia e il pin 5 come un cicalino e dichiarando la variabile "valore" e "set" come numeri interi e impostando il valore di impostazione della variabile su 10. Questo valore può essere modificato in base al livello di funzionamento richiesto. Se vuoi che il buzzer si attivi, anche in caso di poca pioggia impostalo al minimo
void setup () {Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (pioggia, INPUT); }
Inizializzazione della comunicazione seriale e impostazione del buzzer. Impostazione del pin di pioggia come pin di uscita e pin di ingresso.
void loop () {value = analogRead (pioggia); Serial.println (valore); valore = mappa (valore, 0,1023,225,0);
la funzione analogRead legge il valore del sensore pioggia. La funzione mappa mappa il valore del sensore pioggia dal pin di uscita e assegna un valore alla variabile, compreso tra 0 e 225.
if (valore> = impostato) {Serial.println ("pioggia rilevata"); digitalWrite (buzzer, HIGH);
Se il valore del sensore letto è maggiore del valore impostato allora il programma entra nel loop, stampa il messaggio sul monitor seriale e accende il buzzer
altro {digitalWrite (buzzer, LOW);
Il programma entra nella funzione else solo quando il valore è minore del valore impostato. Questa funzione spegnerà il buzzer quando il valore impostato è maggiore del valore del sensore, che segnala che non c'è pioggia.
Funzionamento del sistema di rilevamento della pioggia basato su Arduino
Questo sistema funziona in modo che, in caso di pioggia, l'acqua piovana funga da grilletto, che attiva il cicalino. Nel codice Arduino del sensore di caduta di pioggia, abbiamo definito che i pin 5 e A0 sono cicalino e pioggia. In questo modo, possiamo cambiare i pin nella parte definita della funzione e la parte rimanente del codice non verrà toccata. Ciò consentirà al programmatore di modificare facilmente i pin.
Nel loop void, il comando analogRead legge il valore dal sensore. Nella riga successiva, il comando Serial.println (valore), stampa il valore sul monitor seriale. Ciò sarà utile durante il debug. La funzione map mappa il valore in ingresso compreso tra 0 e 225. Il formato della funzione per la mappa è una mappa (valore, valore minimo, valore massimo, valore da mappare per valore minimo, valore da mappare per valore massimo). Il buzzer verrà attivato o disattivato, a seconda del valore impostato e dell'uscita del sensore. Questo valore viene confrontato nella funzione if, con il valore impostato. Se il valore è maggiore del valore impostato attiverà il buzzer. Se il valore è inferiore al valore impostato, il buzzer verrà spento.
La lavorazione completa la trovate nel video linkato di seguito. Questa è un'applicazione tra le tante, lo stesso principio si vedrà nei tergicristalli, in altri settori della domotica, dell'agricoltura, ecc. Spero che abbiate capito il progetto e vi siate divertiti a costruire qualcosa di utile. In caso di domande, utilizzare la sezione commenti di seguito o utilizzare i nostri forum per altre domande tecniche.