/**
ESP32 + DHT22 Example for Wokwi
https://wokwi.com/arduino/projects/322410731508073042
*/
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#elif defined(ESP32)
#include <WiFi.h>
#endif
#include "DHTesp.h"
#include "ThingsBoard.h"
#define CURRENT_FIRMWARE_TITLE "TEST"
#define CURRENT_FIRMWARE_VERSION "1.0.0"
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
// See https://thingsboard.io/docs/getting-started-guides/helloworld/
// to understand how to obtain an access token
#define TOKEN "5wIddwXeg9jKhyTXjf04"
#define THINGSBOARD_SERVER "thingsboard.cloud"
#define COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x])))))
const int DHT_PIN = 15;
int led = 4;
int buttonDingin = 12;
int ledDingin = 26;
int buttonPanas = 13;
int ledPanas = 27;
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
pinMode(led, OUTPUT);
digitalWrite(led, HIGH);
digitalWrite(buttonDingin, LOW);
pinMode(buttonDingin, INPUT);
pinMode(ledDingin, OUTPUT);
digitalWrite(ledDingin, LOW);
digitalWrite(buttonDingin, LOW);
pinMode(buttonPanas, INPUT);
pinMode(ledPanas, OUTPUT);
digitalWrite(ledDingin, LOW);
digitalWrite(buttonPanas, LOW);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("---");
if(data.temperature > 34) {
digitalWrite(buttonDingin, HIGH);
digitalWrite(ledDingin, HIGH);
digitalWrite(led, LOW);
Serial.println("Suhu lebih dari 35°C, menyalakan pendingin");
}if(data.temperature < 26) {
digitalWrite(buttonPanas, HIGH);
digitalWrite(ledPanas, HIGH);
digitalWrite(led, LOW);
Serial.println("Suhu kurang dari 26°C, menyalakan pemanas");
}
if(data.temperature > 26 && data.temperature <34){
digitalWrite(led, HIGH);
Serial.println("Suhu pas, mantab");
digitalWrite(buttonPanas, LOW);
digitalWrite(ledPanas, LOW);
digitalWrite(buttonDingin, LOW);
digitalWrite(ledDingin, LOW);
}
delay(1000);
}