Come si è potuto ben evincere nei tutorial precedenti, nel mondo Arduino vi è data la possibilità di utilizzare tantissimi sensori per costruire una moltitudine di progetti. In questo articolo sarà spiegato il funzionamento di un sensore di pioggia.
Tramite la lettura effettuata dal sensore sarà possibile capire se sta piovendo o meno. Il sensore è composto da due parti: una base la quale è esposta alla pioggia e un modulo su cui è montato un potenziometro.
Il funzionamento del sensore di pioggia è molto semplice. Il pad di rilevamento è costituita da una serpentina in rame , che agisce come resistenza variabile. La resistenza varia a seconda della quantità di acqua presente sulla superficie.
Il valore della resistenza è inversamente proporzionale alla quantità di acqua. Maggiore è la quantità di acqua, minore è il valore della resistenza. Minore è la quantità di acqua, maggiore è il valore della resistenza.
Il sensore produrrà un valore di tensione in uscita in base al valore della resistenza (legge di ohm). Tramite tale misurazione sarà possibile determinare se piove o meno.
Il modulo collegato al pad di rilevamento, converte l’uscita analogica in uscita digitale. Il modulo è composto dal comparatore LM393. Se il valore della tensione è inferiore al valore di soglia del trimmer, il valore della tensione sarà impostata su LOW. Se il valore della tensione è superiore al valore di soglia del trimmer, il valore della tensione sarà impostata su HIGH.
Il modulo possiede 4 pin (CC, GND, D0, A0) da collegare alla board di Arduino, e altri 2 pin da collegare al pad di rilevamento.
L’output digitale occorre quando colleghi un apparato e vuoi farlo “scattare” al raggiungimento della soglia (100 mA max). Il pin A0 serve invece per monitorare il valore in uscita.
Tale dispositivo possiede due LED. Il power LED ci permette di capire se il modulo è alimentato o meno. Lo status LED si accenderà nel momento in cui il valore di tensione in uscita è LOW.
In poche parole, il pad di rilevamento rileva la quantità di acqua piovana poggiata sulla superficie. Tramite questa quantità sarà possibile ricavare il valore della resistenza. Dal valore della resistenza sarà possibile determinare il valore analogico della tensione in uscita. Il modulo effettua un controllo e un confronto con il valore di soglia (impostato dall’utente tramite il potenziometro).
I materiali da utilizzare sono i seguenti:
- Sensore di pioggia
- Board di Arduino UNO o compatibili
- 6x jumper
Il diagramma di collegamento è il seguente:
Il codice per realizzare tale progetto è riportato qui sotto:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#define rainpin = A1 void setup() { pinMode(rainpin,INPUT); //Impostiamo il pin A1 in modalità input Serial.begin(9600); //Inizializza il monitor seriale } void loop() { valore=analogRead(rainpin); //Legge il valore dal pin A1 e lo assegna alla variabile valore Serial.println(valore); //Visualizza il valore tramite monitor seriale delay(1000); //Aggiunge un po' di attesa per consentire la lettura del valore } |
Per visualizzare il valore letto dal sensore bisogna aprire il monitor seriale. Il valore indicherà 1024 quando l’acqua non è presente, e diminuirà fino a 0 in base alla quantità di acqua presente.
Per acquistare il sensore clicca sul seguente link.
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano
Seguici per non perdere le prossime novità!