В этом проекте Arduino считывает данные датчика влажности почвы и выводит результат на LCD-дисплей 16×2.
Датчик влажности
| Arduino Uno | Датчик |
|---|---|
| D3 | DO |
| A0 | AO |
| 5V | VCC |
| GND | GND |
LCD 1602 I2C
| Arduino Uno | LCD |
|---|---|
| A5 (SCL) | SCL |
| A4 (SDA) | SDA |
| 5V | VCC |
| GND | GND |
Схема и программный код ниже используют эти подключения.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
String str;
int oldmos=-1;
LiquidCrystal_I2C lcd(0x27,16,2); // daca aveti o alta adresa al LCD I2C decat 0x27 , schimbati cu adresa pe care o aveti (spre exemplu 0x3f)
void setup()
{
Serial.begin(9600);
pinMode(3,INPUT);
pinMode(13,OUTPUT);
lcd.init(); // initializarea LCDului
lcd.backlight();
}
void loop()
{
int soil_mos;
soil_mos=1023-analogRead(0);//obtinerea datelor de la senzor pe pinul A0
soil_mos=map(soil_mos, 0, 1023, 0, 100); //conversia datelor analogice in digitale
if (oldmos!=soil_mos) {
// afisarea pe ecran LCD
lcd.setCursor(0,0);
lcd.print("Umiditatea solului:");
lcd.print(soil_mos);
lcd.print("%");
}
}
Схема проекта
Скачать библиотеку ↓