#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <OneWire.h>
#include <Wire.h>
#include <DallasTemperature.h>
int ldrPin = A1;
//int potPin = A1;
int potValue = 6.4;
int ledPin = 7;
int pumpPin = 6;
int DhtPin = 10;
const float GAMMA = 0.7;
const float RL10 = 50;
OneWire onewire(DhtPin);
//DallasTemperature sensor (&oneWire);
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
pinMode(ldrPin, INPUT);
pinMode(DhtPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(pumpPin, OUTPUT);
//pinMode(potPin, A1);
//rtc.begin();
//sensor.begin();
lcd.init();
lcd.backlight();
}
void loop() {
lcd.setCursor(15, 1);
lcd.print("pH:");
//lcd.Value = analogRead(potPin);
lcd.print(potValue);
//sensor.requestTemperatures();
//float tempC = sensor.getTempCByIndex(0);
lcd.setCursor(0, 1);
lcd.print("Suhu: ");
//lcd.print(tempC);
lcd.print((char)223);
lcd.print("C ");
if (pumpPin < 35) {
digitalWrite(pumpPin, HIGH);
lcd.setCursor(10, 3);
lcd.print("Pump: OFF");
} else {
digitalWrite(pumpPin, LOW);
lcd.setCursor(10, 3);
lcd.print("Pump: ON");
}
int ldrValue = analogRead(ldrPin);
ldrValue = map(ldrValue, 0, 1023, 0,255);
float voltase = ldrValue / 1024. * 5;
float resistansi = 2000 * voltase / (1-voltase / 5);
float kecerahan = pow(RL10 * 1e3 * pow(10, GAMMA) / resistansi, (1/GAMMA));
if (ldrValue < 140) {
digitalWrite(ledPin, LOW);
lcd.setCursor(0, 3);
lcd.print("Lamp: ON");
} else {
digitalWrite(ledPin, HIGH);
lcd.setCursor(0, 3);
lcd.print("Lamp: OFF");
}
lcd.setCursor(0, 2);
lcd.print("Lux: ");
lcd.print(ldrValue);
lcd.print(" ");
delay(100);
}