andretafta

Blynk + MQ135

Aug 25th, 2020 (edited)
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define BLYNK_PRINT Serial //Untuk Komunikasi Serial Blynk
  2. #include <ESP8266WiFi.h> //Untuk Library NodeMCU WiFi
  3. #include <BlynkSimpleEsp8266.h> //Untuk Konek Blynk dan NodeMCU
  4. #include <MQUnifiedsensor.h> //Library MQ
  5.  
  6.  
  7. char auth[] = "Y9EFRSYS6ccaV6WXLooIQYrZizge2eGq"; //Token Blynk
  8. char ssid[] = "KILLUA"; //SSID Wi-Fi
  9. char pass[] = "nada124@"; //Password Wi-Fi
  10.  
  11.  
  12. #define Board ("ESP8266")
  13. #define Pin (A0) //Pin MQ-9 di NodeMCU
  14. #define Type ("MQ-9") //MQ9
  15. #define Voltage_Resolution (5) //Tegangan yang digunakan
  16. #define ADC_Bit_Resolution (10) //Nilai Bit ADC NodeMCU
  17. #define RatioMQ9CleanAir (9.6) //Parameter
  18.  
  19.  
  20. MQUnifiedsensor MQ9(Board, Voltage_Resolution, ADC_Bit_Resolution, Pin, Type); //Identifikasi MQ dan Aktifkan fungsi MQ
  21. BlynkTimer timer; //Blynk Timer
  22.  
  23.  
  24. //Untuk melakukan pembacaan sensor
  25. void sendSensor()
  26. {
  27. //Untuk melakukan pembacaan nilai LPG dan CO
  28. MQ9.update();
  29. MQ9.setA(1000.5); MQ9.setB(-2.186);
  30. float LPG = MQ9.readSensor();
  31. MQ9.setA(599.65); MQ9.setB(-2.244);
  32. float CO = MQ9.readSensor();
  33.  
  34. //Mengirimkan nilai ke Blynk
  35. Blynk.virtualWrite(V7, LPG);
  36. Blynk.virtualWrite(V8, CO);
  37. }
  38.  
  39.  
  40. void setup()
  41. {
  42. Serial.begin(115200); //Komunikasi Serial Baudrate 115200
  43. Blynk.begin(auth, ssid, pass); //Komunikasi ke Wifi dan Blynk
  44. MQ9.setRegressionMethod(1); //Mengatur Metode Kalibrasi MQ
  45. MQ9.init(); //Memulai aktif MQ
  46.  
  47. //Kalkulasi untuk Kalibrasi MQ-9
  48. float calcR0 = 0;
  49. for(int i = 1; i<=10; i ++)
  50. {
  51. MQ9.update();
  52. calcR0 += MQ9.calibrate(RatioMQ9CleanAir);
  53. Serial.print(".");
  54. }
  55. MQ9.setR0(calcR0/10);
  56. //Timer untuk interval pengiriman hasil pembacaan sensor ke Blynk
  57. timer.setInterval(1000L, sendSensor);
  58. }
  59.  
  60. void loop()
  61. {
  62. Blynk.run(); //Menjalankan Blynk
  63. timer.run(); //Mengaktifkan fungsi Timer
  64. }
Add Comment
Please, Sign In to add comment