andretafta

Smarthome With New Blynk Cloud

Jan 12th, 2022 (edited)
1,567
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define BLYNK_TEMPLATE_ID "TMPLC6I4BDTN" //Sesuaikan dengan di blynk cloud
  2. #define BLYNK_DEVICE_NAME "Smarthome" //Sesuaikan dengan di blynk cloud
  3. #define BLYNK_AUTH_TOKEN "vD-BZi3fG6JhFy9V1eSiTqx-afcqrmL8" //Sesuaikan dengan di blynk cloud
  4. #define BLYNK_PRINT Serial
  5. #include <ESP8266WiFi.h>
  6. #include <BlynkSimpleEsp8266.h>
  7. #include <DHT.h>
  8. #include <MQUnifiedsensor.h>
  9. #include <Servo.h>
  10. #include <NewPing.h> //Library untuk HC-SR04
  11. #define Lampu D0 //Relay 1
  12. #define Kipas D1 //Relay 2
  13.  
  14. char ssid[] = "esp"; //Sesuaikan
  15. char pass[] = "12345678"; //Sesuaikan
  16.  
  17. #define DHTPIN D4
  18. #define DHTTYPE DHT11
  19. #define Board                   ("ESP8266")
  20. #define Pin                     (A0)
  21. #define Type                    ("MQ-9") //MQ9
  22. #define Voltage_Resolution      (5)
  23. #define ADC_Bit_Resolution      (10) // For arduino UNO/MEGA/NANO
  24. #define RatioMQ9CleanAir        (9.6) //RS / R0 = 60 ppm
  25. #define TRIGGER_PIN D5 //Pin Trigger HC-SR04 pada NodeMCU
  26. #define ECHO_PIN D6 //Pin Echo HC-SR04 pada NodeMCU
  27. #define MAX_DISTANCE 250 //Maksimum Pembacaan Jarak (cm)
  28.  
  29.  
  30. DHT dht(DHTPIN, DHTTYPE);
  31. MQUnifiedsensor MQ9(Board, Voltage_Resolution, ADC_Bit_Resolution, Pin, Type);
  32. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); //Aktifkan Fungsi HCSR-04 //Aktifkan fungsi HC-SR04
  33. BlynkTimer timer;
  34.  
  35. void sendSensor()
  36. {
  37.   MQ9.update();
  38.   MQ9.setA(1000.5); MQ9.setB(-2.186);
  39.   float LPG = MQ9.readSensor();
  40.   MQ9.setA(599.65); MQ9.setB(-2.244);
  41.   float CO = MQ9.readSensor();
  42.  
  43.   int jarak = sonar.ping_cm(); //Hasil Pembacaan Jarak
  44.  
  45.   float h = dht.readHumidity();
  46.   float t = dht.readTemperature();
  47.  
  48.   if (isnan(h) || isnan(t)) {
  49.     Serial.println("Failed to read from DHT sensor!");
  50.     return;
  51.   }
  52.  
  53.   Blynk.virtualWrite(V5, t);
  54.   Blynk.virtualWrite(V6, h);
  55.   Blynk.virtualWrite(V7, LPG);
  56.   Blynk.virtualWrite(V8, CO);
  57.   Blynk.virtualWrite(V9, jarak);
  58. }
  59.  
  60. void setup()
  61. {
  62.   Serial.begin(115200);
  63.   pinMode(Lampu, OUTPUT); //Set Relay 1 jadi Output
  64.   pinMode(Kipas, OUTPUT); //Set Relay 2 jadi Output
  65.   digitalWrite(Lampu, HIGH); //Set nilai Awal Relay 1
  66.   digitalWrite(Kipas, HIGH); //Set nilai Awal relay 2
  67.   Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
  68.   dht.begin();
  69.   MQ9.setRegressionMethod(1);
  70.   MQ9.init();
  71.   float calcR0 = 0;
  72.   for(int i = 1; i<=10; i ++)
  73.   {
  74.     MQ9.update();
  75.     calcR0 += MQ9.calibrate(RatioMQ9CleanAir);
  76.     Serial.print(".");
  77.   }
  78.   MQ9.setR0(calcR0/10);
  79.   timer.setInterval(1000L, sendSensor);
  80. }
  81.  
  82. void loop()
  83. {
  84.   Blynk.run();
  85.   timer.run();
  86. }
Add Comment
Please, Sign In to add comment