#include "thingProperties.h"
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
#define DHTPIN 14
#define DHTTYPE DHT22
LiquidCrystal_I2C lcd(0x27,16,2);
DHT dht (DHTPIN,DHTTYPE);
const int potPin =34;
const int pinled =12;
int potValue =0;
void setup() {
Serial.begin(9600);
delay(500);
dht.begin();
pinMode (pinled,OUTPUT);
lcd.init();
initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}
void loop() {
ArduinoCloud.update();
onhumidityChange();
onVoltageChange();
onMyLedChange();
Serial.print(F("Kelembaban: "));
Serial.print(humidity);
Serial.print(F("% Suhu: "));
Serial.print(temperatur);
Serial.print(F("°C "));
Serial.print("Tegangan=");
Serial.print(voltage);
Serial.print("V");
Serial.print("Potensio(ADC)=");
Serial.print(potValue);
Serial.print(" LED=");
Serial.println(my_led);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("H:");
lcd.print(humidity);
lcd.print("%");
lcd.setCursor(9, 0);
lcd.print("T:");
lcd.print(temperatur);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("V:");
lcd.print(voltage);
lcd.print("V");
lcd.setCursor(8, 1);
if(my_led==HIGH)
lcd.print("Led ON");
else
lcd.print("Led OFF");
}
void onhumidityChange() {
float t = dht.readTemperature();
float h = dht.readHumidity();
if (isnan(h) || isnan(t)) {
Serial.println(F("Gagal membaca data sensor"));
return;
}
temperatur = t;
humidity = h;
delay(500);
}
void onVoltageChange() {
potValue = analogRead(potPin);
float v = potValue * (5.0/4096.0);
voltage = v;
delay(500);
}
void onMyLedChange() {
if(my_led==HIGH)
digitalWrite(pinled, HIGH);
else
digitalWrite(pinled, LOW);
}