#include "DHT.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const int tombol_kanan = 12;
const int tombol_kiri = 13;
const int tombol_ganti = 7;
int i;
int kondisi_tombol_kanan = 0;
int kondisi_tombol_kiri = 0;
int kondisi_tombol_ganti = 0;
String daftar[20] = {"strawberry"};
int j = 0;
int cocok = 0;
void setup() {
pinMode(tombol_kanan, INPUT_PULLUP);
pinMode(tombol_kiri, INPUT_PULLUP);
pinMode(tombol_ganti, INPUT_PULLUP);
dht.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("afivah");
lcd.setCursor(0,1);
lcd.print("monitoring");
delay(3000);
lcd.clear();
}
void loop() {
cocok = 0;
int kondisi_tombol_ganti = digitalRead(tombol_ganti);
while (kondisi_tombol_ganti == 1)
{
kondisi_tombol_kanan = digitalRead(tombol_kanan);
kondisi_tombol_kiri = digitalRead(tombol_kiri);
if (kondisi_tombol_kiri == HIGH)
{
j++;
if (j>2)
{
j = 0;
}
}
if (kondisi_tombol_kanan == HIGH)
{
j--;
if (j<0)
{
j = 2;
}
}
lcd.setCursor(0,0);
lcd.print("Tanaman");
lcd.setCursor(0,2);
lcd.print(daftar[j]);
delay(1000);
lcd.clear();
kondisi_tombol_ganti = digitalRead(tombol_ganti);
if (kondisi_tombol_ganti == 0)
{
break;
}
}
lcd.setCursor(0,0);
lcd.print("monitoring");
lcd.setCursor(0,2);
lcd.print("Tanaman");
lcd.setCursor(0,3);
lcd.print(daftar[j]);
delay(2000);
lcd.clear();
for (i=0;i<3;i++)
{
float udara_temperature = dht.readTemperature();
float udara_humidity = dht.readHumidity();
float tanah_humidity = analogRead(A3);
float tanah_pH = analogRead(A2);
lcd.setCursor(0,0);
lcd.print("Udara");
lcd.setCursor(0,1);
lcd.print("Humid");
lcd.setCursor(6,1);
lcd.print(udara_humidity);
lcd.setCursor(12,1);
lcd.print("%");
lcd.setCursor(0,2);
lcd.print("Temp");
lcd.setCursor(6,2);
lcd.print(udara_temperature);
lcd.setCursor(12,2);
lcd.print("Celcius");
delay(1000);
lcd.clear();
}
for (i=0;i<3;i++)
{
float udara_temperature = dht.readTemperature();
float udara_humidity = dht.readHumidity();
float tanah_humidity = analogRead(A3);
float tanah_pH = analogRead(A2);
if (tanah_humidity > 100)
{
tanah_humidity = 100;
}
else if (tanah_humidity < 0)
{
tanah_humidity = 0;
}
if (tanah_pH > 14)
{
tanah_pH = 14;
}
else if (tanah_pH < 0)
{
tanah_pH = 0;
}
lcd.setCursor(0,0);
lcd.print("Tanah");
lcd.setCursor(0,1);
lcd.print("Humid");
lcd.setCursor(9,1);
lcd.print(tanah_humidity);
lcd.setCursor(14,1);
lcd.print("%");
lcd.setCursor(0,2);
lcd.print("pH Level");
lcd.setCursor(9,2);
lcd.print(tanah_pH);
delay(1000);
lcd.clear();
}
float udara_temperature = dht.readTemperature();
float udara_humidity = dht.readHumidity();
float tanah_humidity = analogRead(A3);
float tanah_pH = analogRead(A2);
if (daftar[j] == "strawberry")
{
if (udara_temperature>34 && udara_temperature<40)
{
if (udara_humidity>40 && udara_humidity<90)
{
if (tanah_humidity>60)
{
if (tanah_pH>=2 && tanah_pH<=6.5)
{
cocok = 1;
}
}
}
}
}
lcd.clear();
}