Cand auzi termenul de gradina smart, unul din primele lucruri care iti vin in minte este un sistem care monitorizeaza nivelul de umiditate a solului. Daca si tu ai de gand sa construiesti o astfel de gradina , sigur ai nevoie de un senzor de umiditate a solului, higrometru. In acest tutorial vei invata cum sa folosesti acest senzor cu Arduino.
Un senzor de umiditate a solului, higrometru este alcatuit din doua componente:
- Sonda, in forma de furca cu doi conductori expusi care este introdusa in sol sau in locul unde se doreste masurarea continutului de umiditate.
- Modulul, care conecteaza sonda la Arduino, genereaza o tensiune de iesire in functie de rezistenta sondei, care este disponibila la un pin de iesire analogic.
Cum functioneaza senzorul de umiditate a solului ?
Sonda in forma de furca cu doi conductori expusi actioneaza ca o rezistenta variabila (similara cu un potentiometru) a carei rezistenta variaza in functie de continutul de umiditate al solului.
Aceasta rezistenta variaza in mod invers proportional cu umiditatea solului:
- Cu cat exista mai multa apa in sol, cu atat este mai buna conductivitatea si cu atat mai mica este rezistenta.
- Cu cat exista mai putina apa in sol, cu atat este mai slaba conductivitatea si, in consecinta, cu atat mai mare este rezistenta.
Senzorul produce o tensiune de iesire in functie de rezistenta, si prin masurarea acesteia putem determina nivelul de umiditate al solului.
Componente necesare
In continuare, pentru a putea construi acest proiect vei avea nevoie de:
- 1 x senzor de umiditate a solului, higrometru
- 1 x LED rosu 5 mm
- 1 x rezistor 220Ω
- 1 x placa de dezvoltare compatibila Arduino Uno R3
- 1 x breadboard 400 puncte
- 5 x fire tata-tata
Acum ca ai aflat care sunt componentele necesare, te vei ghida dupa schema de conectare de mai jos.
Schema conectare senzor de umiditate a solului, higrometru
Se conecteaza GND si 5V de pe Arduino pe breadboard.
Senzorul de umiditate a solului se conecteaza astfel : pinul AO se conecteaza la portul analogic A0 Arduino
pinul GND se conecteaza la GND de pe breadboard
pinul VCC se conecteaza la 5V de pe Arduino
LED: pinul + se conecteaza la portul digital 6 Arduino
pinul - se conecteaza la rezistorul de 220 Ω, capatul caruia se conecteaza la GND de pe breadboard
Exemplu cod
Dupa ce ai realizat circuitul, deschide mediul de dezvoltare Arduino IDE si introdu codul furnizat mai jos. Apoi conecteaza placa Arduino la computer prin intermediul portului USB, selecteaza tipul de placa si portul serial (din meniul Tools/ Instrumente selecteaza pentru optiunea Board/ Placa si Port ceea ce utilizezi). Pentru a incarca codul pe placa, apasa butonul Upload/Incarcare (simbolul de sageata catre dreapta). In partea de jos a ferestrei vei putea urmari mesajele de stare : Compiling Sketch/Compilez schita, Uploading/Incarcare si Done/Incarcare finalizata . Dupa finalizarea cu succes a incarcarii, placa Arduino va rula codul pe care l-ai incarcat.
const int sensor_pin = A0;
const int led_pin = 6;
void setup() {
Serial.begin(9600);
pinMode(led_pin, OUTPUT);
}
void loop() {
float moisture_percentage;
int sensor_analog;
sensor_analog = analogRead(sensor_pin);
moisture_percentage = (100 - ((sensor_analog / 1023.00) * 100));
Serial.print("Procent umiditate = ");
Serial.print(moisture_percentage);
Serial.print("%nn");
if (moisture_percentage >= 0 && moisture_percentage < 60) {
digitalWrite(led_pin, HIGH);
} else {
digitalWrite(led_pin, LOW);
}
delay(1000);
}