- Materials necessaris
- Sensor de pluja
- Funcionament del sensor de pluja
- Esquema de connexions
- Explicació del codi
- Funcionament del sistema de detecció de pluja basat en Arduino
Es pot construir fàcilment un sistema senzill de detecció de pluja mitjançant la interfície d’un Arduino amb un sensor de pluja. El sensor detectarà les precipitacions que hi caiguin i la placa Arduino la detectarà i podrà realitzar les accions necessàries. Un sistema com aquest es pot utilitzar en molts camps diferents, com ara l’agricultura i l’automòbil. La detecció de precipitacions es pot utilitzar per regular automàticament el procés de reg. A més, dades de precipitacions contínuespot ajudar els agricultors a utilitzar aquest sistema intel·ligent per regar automàticament el cultiu només quan sigui absolutament necessari. De la mateixa manera, al sector de l'automòbil els netejadors de parabrises es poden fer totalment automàtics mitjançant el sistema de detecció de pluja. I els sistemes domòtics també poden utilitzar la detecció de pluja per tancar automàticament les finestres i ajustar la temperatura ambient. En aquest tutorial, crearem un sensor bàsic de pluja mitjançant Arduino amb un brunzidor. A continuació, podeu utilitzar aquesta configuració per construir tot allò que vulgueu. Així mateix, cal destacar que el mòdul sensor de pluja també es coneix com un sensor de gota de pluja o sensor mesurador de pluja o sensor d'aigua de pluja en funció de l'ús, però tots ells es refereixen a el mateix sensor utilitzat en aquest projecte i tots treballen en el mateix principi.
També hem creat una alarma de pluja senzilla i un netejador automàtic de cotxes només utilitzant el temporitzador 555, és possible que vulgueu comprovar-ho també si no voleu utilitzar un Arduino. Dit això, tornem a aquest projecte i comencem a construir el nostre pluviòmetre Arduino.
Materials necessaris
- Arduino UNO
- Sensor de pluja
- Zumbador
- Taula de pa
- Connexió de cables
Sensor de pluja
El mòdul Raindrops consta de dues plaques, a saber, Rain Board i Control Board.
El mòdul Rain Board consta de dues pistes de coure, dissenyades de manera que en condicions de secà proporcionin una alta resistència a la tensió d’alimentació, i aquesta tensió de sortida d’aquest mòdul serà de 5 V. La resistència d’aquest mòdul disminueix gradualment respecte a un augment de la humitat del tauler. A mesura que disminueix la resistència, la seva tensió de sortida també disminueix respecte a la humitat del mòdul. El mòdul Rain Board consta de dos pins que s’utilitzen per connectar-se a la placa de control, tal com es mostra a continuació.

El mòdul de la placa de control controla la sensibilitat i converteix la sortida analògica en sortida digital. Si el valor analògic és inferior al valor llindar de la placa de control, la sortida és digital baixa i, si el valor analògic és superior al valor llindar, la sortida és digital alta. Per a aquesta comparació i conversió, s’utilitza un comparador OP-Amp LM393. Un comparador Op-Amp és un circuit interessant que es pot utilitzar per comparar dos valors de voltatge diferents, ja que hem utilitzat en aquest circuit en molts projectes com Smart Electronic Candle, Alarmes de seguretat làser, Line Follower Robot i molt més.
El mòdul de control de pluja que es mostra a continuació consta de 4 pins per connectar l'Arduino, és a dir, VCC, GND, D0, A0 i dos pins més per connectar el mòdul de pluja. En resum, el mòdul de la placa de pluja detecta l'aigua de pluja i el mòdul de la placa de control s'utilitza per controlar la sensibilitat i comparar i convertir els valors analògics a valors digitals.

Funcionament del sensor de pluja
El funcionament del mòdul del sensor de pluja és senzill d’entendre. Durant un dia assolellat, a causa de la sequedat del mòdul de taulers de pluja, ofereix una alta resistència a la tensió d’alimentació. Aquest voltatge apareix al pin de sortida del mòdul Rain Rain com a 5V. Aquest 5V es llegeix com a 1023 si el llegeix un pin analògic de l’Arduino. Durant la pluja, l'aigua de pluja provoca un augment de la humitat a la placa de pluja, que al seu torn provoca la disminució de la resistència que s'ofereix per al subministrament. A mesura que la resistència disminueix gradualment, la tensió de sortida comença a disminuir.
Quan la placa de pluja estigui completament humida i la resistència que ofereix sigui mínima, la tensió de sortida serà el més baixa possible (aprox. 0). Aquest 0V es llegeix com a valor 0 si el llegeix un pin analògic de l'Arduino. Si el mòdul Rainboard està parcialment humit, la sortida d’aquest mòdul Rain Rain serà respecte a la resistència que ofereix. Si la resistència que ofereix el mòdul Rainboard és de tal manera que la sortida és de 3V, el valor analògic llegit serà 613. La fórmula per trobar ADC pot ser donada per, ADC = (valor de tensió analògica X 1023) / 5. Utilitzant aquesta fórmula podeu convertir qualsevol voltatge analògic a t valor de lectura analògic Arduino.
Esquema de connexions
El diagrama de circuits següent us mostra les connexions del circuit del sensor de pluja amb Arduino. El disseny es fa mitjançant proteus, els mòduls físics són similars als mòduls que es mostren al diagrama del circuit.

El mòdul de pluviòmetre, que es mostra al diagrama del circuit, està connectat a la placa de control. El pin VCC de la placa de control està connectat al subministrament de 5 V. El pas de terra està connectat a terra. Si cal, el pin D0 està connectat a qualsevol pin digital de l'Arduino i s'ha de declarar com a pin de sortida al programa. El problema que tenim amb el pin D0 és que no podem obtenir el valor exacte del voltatge de sortida. Si la sortida creua el voltatge llindar, el mòdul de control pot detectar el canvi de la sortida. Hem de fer funcionar el brunzidor, fins i tot si hi ha un canvi considerable en la tensió de sortida del mòdul de pluja. Per aquestes raons, el pin A0 està connectat al pin analògic d'Arduino, cosa que facilita el control del canvi de sortida. El brunzidor, que s’utilitza com a senyal per a l’usuari,es pot connectar a qualsevol pin digital de l'Arduino. Si el brunzidor necessita més de 5 V, intenteu connectar un circuit de relé o un transistor i connectar-hi la càrrega.
Explicació del codi
El codi Arduino per al sensor de pluja s'ha escrit mitjançant l'IDE Arduino. El codi complet d’aquest projecte es dóna al final de la pàgina.
#define precipitacions A0 #define buzzer 5 int value; int set = 10;
Definint el pin A0 com a pluja i el pin 5 com a brunzidor i declarant la variable “valor” i “conjunt” com a enters i establint el seu valor de conjunt variable a 10. Aquest valor es pot canviar segons el nivell d’operació requerit. Si voleu que s'activi el brunzidor, fins i tot quan hi hagi poca pluja, configureu-lo com a mínim
configuració nul·la () {Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (precipitacions, INPUT); }
Inicialització de la comunicació en sèrie i configuració del brunzidor. Configuració del pin de pluja com a pin de sortida i pin d'entrada.
bucle buit () {valor = analogRead (precipitacions); Serial.println (valor); valor = mapa (valor, 0,1023,225,0);
la funció analogRead llegeix el valor del sensor de pluja. El mapa de funcions assigna el valor del sensor de pluja des del pin de sortida i assigna un valor a la variable, que oscil·la entre 0 i 225.
if (valor> = set) {Serial.println ("pluja detectada"); digitalWrite (buzzer, HIGH);
Si el valor del sensor de lectura és superior al valor establert, el programa entra al bucle, imprimeix el missatge al monitor sèrie i engega el brunzidor
else {digitalWrite (brunzidor, BAIX);
El programa entra a la funció else només quan el valor és inferior al valor establert. Aquesta funció apagarà el brunzidor quan el valor establert sigui superior al valor del sensor, cosa que indica que no hi ha pluja.
Funcionament del sistema de detecció de pluja basat en Arduino
Aquest sistema funciona de manera que, quan hi ha pluja, l’aigua de pluja actua com un gatell que encén el brunzidor. Al Codi Arduino del sensor de gota de pluja vam definir que els pins 5 i A0 són brunzidors i precipitacions. En fer-ho, podem canviar els pins de la part definida de la funció i la part restant del codi quedarà intacta. Això farà que el programador editi els pins fàcilment.

Al bucle buit, l' ordre analogRead llegeix el valor del sensor. A la línia següent, l'ordre Serial.println (valor), imprimeix el valor al monitor sèrie. Això serà útil durant la depuració. La funció de mapa assigna el valor entrant entre 0 -225. El format de la funció per al mapa és un mapa (valor, valor mínim, valor màxim, valor que cal assignar per obtenir el valor mínim, valor que cal assignar per obtenir el valor màxim). El brunzidor s’encendrà o s’apagarà, en funció del valor establert i de la sortida del sensor. Aquest valor es compara a la funció if, amb el valor establert. Si el valor és superior al valor establert, activarà el brunzidor. Si el valor és inferior al valor establert, el brunzidor s'apagarà.
El funcionament complet es pot trobar al vídeo enllaçat a continuació. Aquesta és una aplicació entre moltes, el mateix principi es veurà en els netejadors de parabrises, altres sistemes domòtics, agricultura, etc. Espero que hagueu entès el projecte i us hagi agradat construir alguna cosa útil. Si teniu cap pregunta, utilitzeu la secció de comentaris a continuació o utilitzeu els nostres fòrums per a altres qüestions tècniques.
