#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define BUTTON_PIN0 4
#define BUTTON_PIN4 16
#define BUTTON_PIN5 17
const int led1 = 0;
const int led2 = 2;
const int led3 = 15;
Adafruit_SSD1306 display= Adafruit_SSD1306(128,64,&Wire);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(BUTTON_PIN0,INPUT_PULLUP);
pinMode(BUTTON_PIN4,INPUT_PULLUP);
pinMode(BUTTON_PIN5,INPUT_PULLUP);
Serial.println("THANAPHON KHANYA");
Serial.println("64046651101");
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.setCursor(5,8);
display.print("THANAPHON");
display.setCursor(12,25);
display.print("POYM7T");
display.display();
delay(300);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(1);
display.setCursor(7,15);
display.print("LED1->>");
display.setCursor(30,15);
display.print(" OFF ");
display.setCursor(7,25);
display.print("LED2->>");
display.setCursor(30,25);
display.print(" OFF ");
display.setCursor(7,35);
display.print("LED3->>");
display.setCursor(30,35);
display.print(" OFF ");
display.display();
delay(10);
}
int laststate = HIGH;
int laststate7 = HIGH;
int laststate9 = HIGH;
void loop() {
serson_A ();
Blynk.run();
// put your main code here, to run repeatedly:
/*delay(10); // this speeds up the simulation
digitalWrite(led0, HIGH);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(500);
digitalWrite(led0, LOW);
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
delay(500);*/
int value=digitalRead((BUTTON_PIN0));
if(laststate!=value){
laststate=value;
if(value==HIGH){
Serial.println(("off\n"));
digitalWrite(led2, LOW);
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.setCursor(7,25);
display.print("LED2->>");
display.setCursor(30,25);
display.print(" OFF ");
display.display();
delay(10);
}
if (value==LOW){
Serial.println("On\n");
digitalWrite(led2, HIGH);
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.setCursor(7,25);
display.print("LED2->>");
display.setCursor(30,25);
display.print(" ON ");
display.display();
delay(10);
}
}
int value7=digitalRead((BUTTON_PIN4));
if (laststate7!=value7){
laststate7=value7;
if (value7==HIGH){
Serial.println("off\n");
digitalWrite(led1, LOW);
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.setCursor(7,15);
display.print("LED1->>");
display.setCursor(30,15);
display.print(" OFF ");
display.display();
delay(10);
}
if (value7==LOW){
Serial.println("On\n");
digitalWrite(led1, HIGH);
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.setCursor(7,15);
display.print("LED1->>");
display.setCursor(30,15);
display.print(" ON ");
display.display();
delay(10);
}
}
int value9=digitalRead((BUTTON_PIN5));
if (laststate9!=value9){
laststate9=value9;
if (value9==HIGH){
Serial.println("off\n");
digitalWrite(led3, LOW);
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.setCursor(7,35);
display.print("LED3->>");
display.setCursor(30,35);
display.print(" OFF ");
display.display();
delay(10);
}
if (value9==LOW){
Serial.println("On\n");
digitalWrite(led3, HIGH);
display.setTextSize(1);
display.setTextColor(WHITE,BLACK);
display.setCursor(7,35);
display.print("LED3->>");
display.setCursor(30,35);
display.print(" ON ");
display.display();
delay(10);
}
}
void serson_A ();
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F(" C "));
Serial.print(f);
Serial.print(F(" F Heat index: "));
Serial.print(hic);
Serial.print(F(" C "));
Serial.print(hif);
Serial.println(F(" F"));
}
}