In acest proiect, am utilizat un senzor masurare nivel apa, o placa de dezvoltare compatibila Arduino si un ecran LCD1602 pentru a realiza un sistem de monitorizare a apei din acvariu.
Senzorul utilizat in acest tutorial este compatibil cu Arduino si functioneaza pe baza masurarii rezistentei, fiind posibil de a controla adancimea apei si a preveni revarsarea acesteia .
Daca doresti sa afli mai multe informatii despre senzor masurare nivel apa, ii poti accesa datasheetul aici.
Cum functioneaza senzorul masurare nivel apa ?
Acest senzor se bazeaza pe modificarea rezistentei electrice. Pe acesta, exista linii paralele de conductivitate care sunt conectate la terminalul de masa (Ground), reprezentand de fapt calea curentului electric. Apa este un bun conductor, astfel ca atunci cand aceste linii intra in contact cu apa, ele sunt scurtcircuitate, ceea ce determina scaderea rezistentei senzorului.
Prin fixarea modulului in acvariu, rezistenta variabila se regleaza la o valoare specifica in functie de nivelul apei. Modulul masoara rezistenta analogica si o transmite catre Arduino, prin intermediul caruia pe LCD va aparea valoarea acesteia.
Componente necesare
In continuare, pentru a putea construi acest proiect vei avea nevoie de:
- 1 x senzor masurare nivel apa, compatibil Arduino
- 1 x ecran LCD1602 cu modul I2C/IIC
- 1 x placa de dezvoltare compatibila Arduino Uno R3
- 1 x breadboard
- 2 x fire tata-tata
- 7 x fire tata-mama
Acum ca ai aflat care sunt componentele necesare te vei ghida dupa schema de conectare de mai jos.
Schema conectare senzor masurare nivel apa, compatibil Arduino
Senzorul de masurare nivel apa se conecteaza astfel: pinul - la GND de pe breadboard, + la 5V de pe breadboard si S la portul digital 3 Arduino.
Ecranul LCD1602 cu modul I2C se conecteaza astfel : pinul GND la GND de pe breadboard, pinul VCC la 5V de pe breadboard, pinul SDA la portul analogic A4 Arduino si pinul SCL la portul analogic A5 Arduino.
Exemplu cod
In acest proiect va trebui sa folosesti biblioteca LiquidCrystal_I2C (pentru ecranul LCD) pe care o poti descarca aici.
Pentru a adăuga o bibliotecă în mediul de dezvoltare Arduino IDE, deschide Arduino IDE si din meniul Sketch/Schita acceseaza Include Library/Incarcare biblioteca si apoi selecteaza Add .zip Library/ Adauga biblioteca.zip. Aici va trebui sa gasesti si sa selectezi fisierul .zip al bibliotecii LiquidCrystal_I2C . Dupa ce ai deschis fisierul .zip si cand procesul de instalare s-a terminat cu succes, va aparea un mesaj in partea de jos a ferestre care iti va confirma ca fisierul a fost adaugat in biblioteca.
Dupa ce ai realizat circuitul si ai descarcat cu succes biblioteca LiquidCrystal_I2C, 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.
#include < LiquidCrystal_I2C.h >
LiquidCrystal_I2C lcd(0x27, 16, 2);
int resval = 0;
int respin = A0;
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Nivel apa: ");
}
void loop() {
lcd.setCursor(0, 1);
resval = analogRead(respin);
if (resval <= 100) {
lcd.print("0 ");
} else if (resval > 100 && resval <= 300) {
lcd.print("Scazut ");
} else if (resval > 300 && resval <= 310) {
lcd.print("Mediu ");
} else if (resval > 310) {
lcd.print("Ridicat ");
}
delay(1000);
}