#include <ESP8266WiFi.h>
#define WIFI_SSID "IoT"
#define WIFI_PASSWORD "1234567890"
#define SERIAL_DEBUG_BAUD 9600
#define pinBuzzer D6
#include "DHTesp.h"
#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#include <Fonts/FreeSerif9pt7b.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
const int DHT_PIN = D7;
DHTesp dhtSensor;
int status = WL_IDLE_STATUS;
void InitWiFi()
{
Serial.println("Connecting to AP ...");
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected to AP");
}
void reconnect() {
status = WiFi.status();
if ( status != WL_CONNECTED) {
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected to AP");
}
}
void setup(){
Serial.begin(SERIAL_DEBUG_BAUD);
delay(100);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
Serial.println("Challenge Minggu 2");
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.println("IOT MASTER CLASS");
display.setTextSize(1);
display.setTextColor(WHITE);
display.println("CHALLENGE MINGGU 2");
display.setTextSize(1);
display.setTextColor(WHITE);
display.print("Harun Zein");
display.display();
delay(5000);
}
void loop(){
float h = dhtSensor.getHumidity();
float t = dhtSensor.getTemperature();
if (isnan(h)|| isnan(t))
{
Serial.println("Failed to read from DHT sensor");
return;
}
Serial.print("Temperature : ");
Serial.println(t);
Serial.print("Humidity : ");
Serial.println(h);
delay(1000);
if( t >= 40){
tone(pinBuzzer, 1000);
delay(200);
tone(pinBuzzer, 500);
delay(200);
}
else{
noTone(pinBuzzer);
}
display.clearDisplay();
display.setTextSize(1);
display.setCursor(0,0);
display.setTextColor(WHITE);
display.println("Temperature:");
display.setTextSize(2);
display.setTextColor(WHITE);
display.print(t);
display.println(" 'C");
display.setTextSize(1);
display.println("Humidity:");
display.setTextSize(2);
display.setTextColor(WHITE);
display.print(h);
display.display();
delay(500);
}