Ho acquistato e testato il funduino water sensor un sensore di livello per arduino con cui puoi monitorare il livello d’acqua presente in un serbatoio.
Il funduino water sensor è piccolo in modo che tu possa installarlo facilmente anche in contenitori di ridotte dimensioni.
E’ un sensore analogico che puoi collegare ad arduino utilizzando uno dei 6 pin analogici ( A0 – A5 ) e leggi i dati con semplici comandi analogici che troverai nel corso di questo articolo di prova del sensore.
Specifiche del sensore Funduino water sensor
- Color: Rosso
- Power Supply: 3.3V or 5V
- Working Current: < 20mA
- Output Voltage: 0~2.3V (con il sensore completamente immerso in acqua)
- Interface Definitions: 1: pin segnale, 2: pin GND, 3: pin positivo ( +5v )
- Service Life: un anno approssimativamente
- Sensor Type: Analogico
- Weight: 8.0g
- Packaging Dimensions: 120.0 x 78.0x 10.0mm
Queste specifiche ti fanno rapidamente capire che tale sensore è stato studiato per essere utilizzato con microcontrollori come arduino accettando come alimentazione dai 3,3v ai 5v ed assorbendo meno di 20mA.
Dalle specifiche il funduino water sensor raggiunge in output i 2,3v se completamente immerso in acqua, questo significa che in termini numerici leggerai al massimo 471 come valore, nel mio test questo limite è risultato errato in quanto sono riuscito a leggere valori superiori ai 700 (vedi video sotto).
I collegamenti del water sensor
Come descritto al paragrafo precedente i collegamneti sono davvero semplici per cui ho realizzato un semplice schema:
e realizzato le foto del funduino water sensor connesso tramite tre cavi ad arduino:
Lo sketch usato per il test
I test dei sensori analogici li eseguo sempre con il minimo sforzo e per farlo preferisco partire da uno degli esempi arduino presenti nell’IDE “AnalogReadSerial” che modifico solo nell’ultima linea per incrementare il tempo tra una riga e la successiva da 1 millisecondo a 100 millisecondi:
/* AnalogReadSerial Reads an analog input on pin 0, prints the result to the serial monitor. Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground. This example code is in the public domain. */ // the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // print out the value you read: Serial.println(sensorValue); delay(100); // delay in between reads for stability }
non c’è nulla da spiegare in quanto questo esempio è così semplice che ti basta leggere le prime lezioni del mio corso on-line gratuito per trovare la descrizione dettagliata di questo sketch.
Il video del Funduino water sensor test
Ho realizzato un video in cui puoi vedere come variano i valori letti da arduino in funzione della quantità d’acqua presente nel contenitore:
Buona rilevazione !!!
44 commenti
Vai al modulo dei commenti
E’ sicuro usare un sensore di questo tipo in un serbatoio di benzina (senza piombo, “verde”)? La mia preoccupazione è che la corrente che attraversa il fluido, seppur poca (qualche mA), possa innescare qualche reazione di combustione. Qualcuno sa qualcosa a riguardo?
Autore
Ciao Giacomo, assolutamente no, la parola “water” in italiano significa acqua.
Questo sensore può misurare solo il livello di acqua in un serbatoio !!!
Avevo notato la parola ma pensavo si potesse usare più genericamente in altri fluidi, grazie mille per chiarimento e complimenti per il blog.
Autore
Ciao Giacomo, purtroppo no, so che esistono altri sensori ma non li ho mai provati.
Ciao Mauro, questo sensore può rilevare anche il livello di una cisterna profonda un metro oppure si limita a rilevare il livello di un piccolo recipiente? Grazie e complimenti per il sito.
Luca
Autore
Ciao Luca,
il sensore è piccolo ma puoi usarlo come livello dell’acqua posizionandolo in alto o usandone due per ottenere diverse misurazioni.
So che per le cisterne di grandi dimensioni esistono sensori professionali molto attendibili.
Ti chiedo la cortesia di mettere link a siti che parlano dello stesso argomento degli articoli o dei sensori proposti, altri link, pubblicitari o simili, sono costretto a cancellarli e segnalarli come spam.
Salve sono Carlo da Chioggia , ho ralizzato un piccolo progetto per il controllo di livello dell`acqua in una vasca dove sono immerse per due centimetri due piante carnivore che devono essere irrighate dal sottovaso con acqua distillata ,una volta raggiunto il livello minimo una pompa ripristina il livello al massimo. Ho utilizzato un sensore simile analogico , il problema che ho riscontrato anche andando a leggere il livello una volta all’ora la formazione di elettrolisi su gli elettrodi in acciaio inox . Ora pensavo per risolvere il problema di dare alimentazione al sensore solo per un secondo giusto il tempo di fare la lettura per limitare il fenomeno. Mi chiedevo se il sensore da lei utilizzato soffre dello stesso problema.
Saluti e complimenti
Carlo
Autore
Ciao Carlo,
non ho provato il sensore per così tanto tempo da rilevare un fenomeno come quello che segnali, tuttavia trovo la problematica molto interessante per cui penso di introdurre un sistema come quello che suggerisci per evitare l’elettrolisi.
Ciò che non capisco è perché ti si forma elettrolisi se usi acqua distillata, non dovrebbe.
Se può interessare posso documentare con foto.
Carlo
Autore
Volentieri Carlo, sempre a disposizione degli appassionati quando si tratta di articoli interessanti su arduino e l’elettronica.
Grazie !!!
buongiorno Mauro, per caso ha più implementato tale miglioria per evitare l’ossidazione del sensore?
Autore
Ciao Nicolò,
trovi una soluzione nell’articolo dedicato ai sensori EC auto costruiti da Paolo Bonelli. Cerca sempre nel Blog.
Per quanto piccola (vedi pH!) l’acqua pura ha una certa parte di ioni dissociati in grado di far avvenire il fenomeno di elettrolisi, se le correnti disponibili sono suffiecientemente elevate anche in relazione al tipo di superfici che si comportano da elettrodi.
Autore
Grazie Massimo per la precisazione 🙂
Hi Mauro,
thanks for sharing, that was a great introductory material on this sensor. On your comment about the voltages around 700-ish, i’d like to add that i did get the same behavior when i connected this to the 5v Arduino pin. on the other hand, while it was connected it to the 3.3V pin, the maximum values indeed appeared to be around 470. 🙂
I can see this sensor can be very useful in a number of applications, like for a large tank, or maybe rain detection. For my immediate application I need a sensor to quickly determine whether a small sous-vide water bath water level is too low, in which case i need to turn off a heating element to prevent it from burning.
the issue of this sensor for that particular application is that on account of surface tension even when the water goes below the desired mark, a few drops may remain over the metal contacts for a considerable time.
the alternative i have right now for this component is a cheap float switch i got online, which appear to be very reliable, but it’s a bit clumsy to attach to my sous home-made device.
maybe there is a voltage level that i could rely on to give accurate measurements (high enough to avoid false positives due to drops of remaining water, but low enough that it wouldn’t be accidentally triggered when the water is high. need to do some long running tests on that to be sure.
Thanks!
Volevo chiederti se potevi, quando hai tempo e se ti va, creare un piccolo sistema serra con acqua e monitoraggio temperatura e umidità e magari delle ventole, non sono molto forte in questi argomenti grazie per qualsiasi aiuto.
bellissimo blog buona fortuna.
Autore
Ciao Nino,
è un progetto interessante, trovi nel blog un po di articoli dedicati a questo argomento che puoi unire per realizzare tutto quello che ti occorre.
Se riesco, prima o poi, ne faccio un articolo unico con tutte le funzioni necessarie, resta importante che tu comprenda come funziona un sistema simile in quanto il bello dei progetti con arduino è che tu puoi avere esigenze differenti dalle mie e modificarti il progetto per adattarlo alla tua serra, ma devi sapere come fare.
Salve
immagino che il sensore utilizzi la corrente per “vedere” la presenza dell’acqua.
Ora le chiedo se per caso ha fatto anche prove con i tester per vedere se l’utilizzo del sensore causa una variazione
elettrica nel fluido?
Perchè le chiedo questo, perchè sto realizzando un sistema idroponico completo e dai datasheet dei sensori di misurazione di acqua/ec/ossigeno viene riportato il possibile presentarsi di problemi legati appunto all”inquinamento” del liquido dovuto ad altre apparecchiature elettrreiche ivi immerse.
In attesa di una Sua Cordiali saluti.
Autore
Ciao Sebastian,
un minimo apporto e variazione della componente chimica dell’acqua me la aspetto anche se non sono un chimico.
L’effetto dell’elettrolisi causata dalla corrente, per quanto bassa, che attraversa i conduttori è innegabile.
Se vuoi un sistema senza contatto elettrico devi progettarti un galleggiante con potenziometro oppure con contatto magnetico.
Salve Mauro,
É possibile ottenere anche i millilitri di acqua da misurare in un piccolo contenitore?
Grazie per l’informazione,
Cordiali saluti
Autore
Ciao Christian,
la linearità e precisione su bassi volumi non mi sembra fosse la peculiarità di questo componente.
Puoi fare qualche test per verificare che soddisfi la tua necessità.
Salve.
Potresti descrivermi per favore il funzionamento del sensore? (come viene rilevato il livello dell acqua e come viene inviato poi ad arduino)
Grazie in anticipo.
Autore
Ciao Luca,
sono informazioni che trovi descritte nell’articolo.
Per i dettagli e le caratteristiche tecniche puoi far riferimento al sito del produttore.
Buon giorno
Curiosando in rete alla ricerca di qualche sensore utile / interessante da abbinare ad Arduino, mi sono imbattuto in alcuni sensori di livello che misurano la pressione idrostatica del liquido, in pratica dei sensori molto sensibili di pressione.
Ti volevo chiedere se li conoscevi o se li hai usati in qualche progetto, magari con Arduino?
Autore
Ciao Antonio,
purtroppo non ne conosco.
Puoi indicarmi quali hai valutato tu?
Salve volevo chiederti come si può convertire i valori letti dal sensore in millimetri o centimetri visto che sto cercando di usarlo come pluviometro in una stazione meteo
Autore
Ciao Giorgio,
puoi farlo in modo empirico tenendo conto che questo sensore non è lineare e non viene venduto come tale.
Ciao,
probabilmente farò una domanda che potrà sembrare ridicola, ma considera che sono un perito informatico, programmatore di professione, e che quindi le mie nozioni di elettronica sono minime.
La domanda che volevo porti è la seguente:
ho una cantina che con le forti piogge tende ad allagarsi. Ho messo una pompa ad immersione che fa il suo lavoro ma il galleggiante tende a bloccarsi. Per ovviare a questo, pensavo di tenere fissa accesa la pompa e utilizzare Arduino con un water sensor in modo che faccia lui da interruttore.
Come collego la pompa ad Arduino? Sbaglio o devo metterci un relè per attivare la pompa che va alimentata a 220V?
Spero di essere stato chiaro e scusa se ho fatto domande che possono sembrare a epserti come te ovvie.
Autore
Ciao Sandro,
ti stupirà ma la tua è tra le domande meno scontate che ho letto in questo inizio 2016 🙂
Si hai bisogno di una scheda relay controllata possibilmente con optoisolatore, questo componente ti permette di gestire il relay come un led.
Unico dubbio riguarda il sistema con “water sensor” che se continuamente alimentato ed immerso in acqua garantisce poca durata a causa dell’ossidoriduzione dovuta all’elettrolisi, per questo motivo le pompe usano un interruttore tipo tilt in un contenitore stagno.
Se dovessi suggerirti una alternativa direi che un sistema con galleggiante a leva, tipo quelli presenti nella cassetta di raccolta acque del bagno connesso ad un interruttore potrebbe, nel tuo caso, essere una soluzione migliore, economica e semplice da realizzare
Ciao Mauro e complimenti per il bel tutorial.
Ho acquistato anch’io questo sensore poiché sto costruendo un modellino di galleria del vento e, per misurare la velocità del vento all’interno della galleria, ho deciso di usare un tubo di Pitot (un semplice tubo aperto nella direzione della corrente d’aria e in controcorrente, con una curva a “U” e l’altra estremità del tubo aperta. Il tubo contiene acqua, il cui livello di innalzamento vorrei misurare proprio col fonduino). Vorrei, come scritto, utilizzare tale sensore per leggere il livello di innalzamento dell’acqua nel tubo di Pitot per effetto della pressione idrodinamica del vento. Ovviamente, trattandosi di un modello in scala, la turbina da 24V e 2A non riesce a generare un vento superiore ai 60-70 km/h, corrispondenti ad un innalzamento dell’acqua del pitot di circa una ventina di millimetri. Secondo te, questo sensore, pur non essendo lineare (questo per me non è un problema…basta un buon fit dopo aver mappato i dati) ha una sensibilità tale da rilevare un singolo millimetro di innalzamento? Te lo chiedo poiché non riesco a trovare il datashit del sensore.
Grazie e ancora complimenti.
Valerio
Autore
Ciao Valerio,
se ricordo bene, il test l’ho eseguito tempo fa, la variazione rilevata è alquanto alta probabilmente 1mm riuscirai a rilevarlo.
Grazie mille per la risposta.
Testerò appena arriva il sensore.
Saluti,
Valerio
Salve sig Mauro ,
le chiedo se con questo sensore è possibile misurare il livello in un serbatoio di ritorno di Liquido raffreddamento motore ( antigelo ) diluito con differenti gradi di congelamento durante l’anno ( dai -40 inverno ai -20/-10 in estate ) Grazie in anticipo
Piero
Autore
Ciao Piero,
questo sensore è venduto per misurare acqua ( water sensor ) potresti provare se il liquido non è infiammabile e verificando che non venga compromesso dagli agenti chimici presenti nel liquido di raffreddamento.
Ciao volevo fare una domanda che probabilmente avra’ gia fatto qualcun altro… Ma questo sensore puo essere utilizzato ugualmente per misurare il livello di olio di un serbatoio?
Autore
Ciao Fabio,
chiamandosi Water sensor, comprendi che il produttore lo rilascia solo per uso in acqua, puoi provarlo per averne conferma, so che alcune persone lo hanno usato con altri liquidi non infiammabili con successo.
Ciao Mauro
io volevo realizzare un freatimetro, collegando la scheda arduino ad un led con buzzer che si attivasse quando il sensore Funduino tocca l’acqua. Premetto che non ne capisco niente e che ancora non ho acquistato niente, prima domanda, come alimento la scheda? posso collegare il sensore ad un cavo piatto? non riesco a capire le dimensioni del sensore, nelle specifiche c’è scritto 120 x78x10 mm, lunghezza ,larghezza,spessore, ma dalle foto mi pare più piccolo o ho capito male?
cosa devo acquistare volendolo realizzare?
Grazie
Autore
Ciao Clem,
prima di fare acquisti penso sia per te importante comprendere meglio come funziona arduino ed i sensori, prova a leggere il mio corso on-line arduino gratuito.
Quando avrai acquisito sufficienti conoscenze sarai in grado di organizzare l’acquisto del materiale per il tuo progetto.
Sulle dimensioni mi sembra siano superiori alle reali dimenioni, sei certo non siano quelle della confezione?
Ciao, mi puoi chiarire un dubbio? Tu scrivi “Dalle specifiche il funduino water sensor raggiunge in output i 2,3v se completamente immerso in acqua, questo significa che in termini numerici leggerai al massimo 471 come valore”, cioè i valori da 0 a 471 vanno interpretati come una discretizzazione del range 0~2.3V? Come si ottiene?
Autore
Ciao Cri,
si ha compreso il concetto. Il convertitore arduino ADC, come hai letto nella scheda tecnica e datasheet presente sul sito ufficiale, è 10bit 0-5v da cui puoi fare la proporzione per comprendere come ricavare i valori in funzione della tensione.
buonasera volevo chiederti se e possibile utilizzare questo sensore ed il relativo sketch su arduino nano
Autore
Ciao Mattia,
penso non dovresti avere problemi con l’arduino nano essendo basato sul medesimo micro controllore della uno, al massimo dovrai adattarlo.
Ciao ,
questo sensore puoò lavorare immerso?
Mi spiego meglio, ho una cisterna da mille litri, alta un metro e devo capire quando si svuota.. Posso posizionare il sensore immerso in fondo che emerge solo quando il livello è a 0?
Oppure i conttatti +; ground e segnale non devono stare immersi?
Autore
Ciao Raffaele,
come hai dedotto puoi immergere solo la parte sottostante del circuito, quella relativa al sensore.