please help me I am newbie.
-I use arduino uno and esp-01s to receive wifi
-I had already AT firmware and change baudrate to 9600
-I had use separate power supply to esp-01s and connect gnd together
-I has use separate fuction represent void lopp.
-I didn’t add sever on blynk application
-the issue is another void doesn’t work only void setup is run
-It can connect to wifi and disconnect suddenly
CODE:
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
char auth[] = "CgPPXBuq9JAk08H_YqGA8c_Bg97oHw6Z";
char ssid[] = "true_homeppp9";
char pass[] = "08182854039";
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX
#define ESP8266_BAUD 9600
ESP8266 wifi(&EspSerial);
BlynkTimer timer;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#define Fan 4
WidgetLED led0(V0);
WidgetLED led2(V2);
WidgetLED led1(V1);
int ledPinR = 13; // MQ135
int ledPinG = 12; // MQ2
int ledPinY = 8; // MQ7
int analogPin = 0; // MQ135
int analogPin1 = 1; // MQ2
int analogPin2 = 2; // MQ7
int Relay1 = 6;// IN1(BUZZER)
int Relay2 = 5;// IN2(SOLENOID VALVE)
int val = 0; // MQ135
int MQ2 = 0; // MQ2
int MQ7 = 0; // MQ7
void sensorDataSend()
{
val = analogRead(A0);
MQ2 = analogRead(A1);
MQ7 = analogRead(A2);// reading sensor from analog pin
Blynk.virtualWrite(V3, val);
Blynk.virtualWrite(V4, MQ2);
Blynk.virtualWrite(V5, MQ7);// sending sensor value to Blynk app
if ((val > 45) && (MQ2 >50 ) && (MQ7 > 30)) {
led0.on();
led1.on();
led2.on();
}
else if ((MQ2 >50 ) && (MQ7 > 30) && (val < 45)) {
led1.on();
led2.on();
led0.off();
}
else if ((val > 45) && (MQ7 > 30) && (MQ2 < 50)) {
led0.on();
led2.on();
led1.off();
}
else if ((val > 45) && (MQ2 > 50) && (MQ7 < 30)) {
led0.on();
led1.on();
led2.off();
}
else if ((val > 45) && (MQ2 < 50) && (MQ7 < 30)) {
led0.on();
led2.off();
led1.off();
}
else if ((val < 45) && (MQ2 > 50) && (MQ7 < 30)) {
led1.on();
led2.off();
led0.off();
}
else if ((MQ7 > 30) && (MQ2 < 50) && (val < 45)) {
led2.on();
led1.off();
led0.off();
}
else
{
led0.off();
led1.off();
led2.off();
}
}
void myScale()
{
int val = map(analogRead(0), 0, 1000, 0, 100);
int MQ2 = map(analogRead(1), 0, 1000, 0, 100);
int MQ7 = map(analogRead(2), 0, 600, 0, 100);
Serial.print("val = ");
Serial.println(val);
Serial.print("MQ2 = ");
Serial.println(MQ2);
Serial.print("MQ7 = ");
Serial.println(MQ7);
lcd.print("GL:");
lcd.print(val);
lcd.print(" ");
lcd.print(MQ2);
lcd.print(" ");
lcd.print(MQ7);
lcd.print(" ");
}
void myTimerEvent()
{
if ((val > 45) && (MQ2 >50 ) && (MQ7 > 30)) {
digitalWrite(ledPinR, HIGH);
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinY, HIGH);
digitalWrite(Fan , LOW);
delay(1000);
digitalWrite(Relay1, LOW);// do no
digitalWrite(Relay2, LOW);// do no
lcd.setCursor(3,1);
lcd.print("ALL SENSOR");
delay(500);
lcd.clear();
}
else if ((MQ2 >50 ) && (MQ7 > 30) && (val < 45)) {
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinY, HIGH);
digitalWrite(Fan , LOW);
delay(1000);
digitalWrite(Relay1, LOW);// do no
digitalWrite(Relay2, LOW);// do no
lcd.setCursor(0,1);
lcd.print("GAS MQ2andMQ7");
delay(500);
lcd.clear();
}
else if ((val > 45) && (MQ7 > 30) && (MQ2 < 50)) {
digitalWrite(ledPinR, HIGH);// สั่งให้ LED ติดสว่าง
digitalWrite(ledPinY, HIGH);
digitalWrite(Fan , LOW);
delay(1000);
digitalWrite(Relay1, LOW);// do no
digitalWrite(Relay2, LOW);// do no
lcd.setCursor(0,1);
lcd.print("GAS MQ135andMQ7");
delay(500);
lcd.clear();
}
else if ((val > 45) && (MQ2 > 50) && (MQ7 < 30)) {
digitalWrite(ledPinR, HIGH);
digitalWrite(ledPinG, HIGH);
digitalWrite(Fan , LOW);
delay(1000);
digitalWrite(Relay1, LOW);// do no
digitalWrite(Relay2, LOW);// do no
lcd.setCursor(0,1);
lcd.print("GAS MQ135andMQ2");
delay(500);
lcd.clear();
}
else if ((val > 45) && (MQ2 < 50) && (MQ7 < 30)) {
digitalWrite(ledPinR, HIGH);
digitalWrite(Fan , LOW);
delay(1000);
digitalWrite(Relay1, LOW);// do no
digitalWrite(Relay2, LOW);// do no
lcd.setCursor(3,1);
lcd.print("GAS MQ135");
delay(500);
lcd.clear();
}
else if ((val < 45) && (MQ2 > 50) && (MQ7 < 30)) {
digitalWrite(ledPinG, HIGH);
digitalWrite(Fan , LOW);
delay(1000);
digitalWrite(Relay1, LOW);// do no
digitalWrite(Relay2, LOW);// do no
lcd.setCursor(4,1);
lcd.print("GAS MQ2");
delay(500);
lcd.clear();
}
else if ((MQ7 > 30) && (MQ2 < 50) && (val < 45)) {
digitalWrite(ledPinY, HIGH);
digitalWrite(Fan , LOW);
delay(1000);
digitalWrite(Relay1, LOW);// do no
digitalWrite(Relay2, LOW);// do no
lcd.setCursor(4,1);
lcd.print("GAS MQ7");
delay(500);
lcd.clear();
}
else
{
digitalWrite(ledPinR, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinY, LOW);
digitalWrite(Fan , HIGH);
delay(1000);
digitalWrite(Relay1, HIGH); // do nc
digitalWrite(Relay2, HIGH); // do nc
lcd.setCursor(5,1);
lcd.print("NORMAL");
delay(3000);
lcd.clear();
}
delay(100);
}
void setup()
{
Serial.begin(9600);
lcd.init();// initialize the lcd
lcd.init();// Print a message to the LCD.
lcd.setBacklight(0);
lcd.setCursor(4,0);
lcd.print("SYSTEM ON");
delay(1000);
lcd.clear();
lcd.print("GL=GAS LEVEL");
delay(500);
lcd.setCursor(0,1);
lcd.print("GL=MQ135 MQ2 MQ7");
delay(1000);
lcd.clear();
lcd.setCursor(0,1);
lcd.print("READY...........");
delay(1000);
lcd.clear();
pinMode(analogPin, INPUT);
pinMode(analogPin1, INPUT);
pinMode(analogPin2, INPUT);
pinMode(ledPinR, OUTPUT);
pinMode(ledPinG,OUTPUT);
pinMode(ledPinY, OUTPUT);// sets the pin as output
pinMode(Relay1,OUTPUT);
pinMode(Relay2,OUTPUT);
pinMode(Fan, OUTPUT);
digitalWrite(Fan , HIGH);
digitalWrite(Relay1, LOW);// do no
digitalWrite(Relay2, HIGH);// do nc
EspSerial.begin(ESP8266_BAUD);
delay(10);
Blynk.begin(auth, wifi, ssid, pass);
// Setup a function to be called every second
timer.setInterval(1000L, myScale);
timer.setInterval(1000L, myTimerEvent);
timer.setInterval(1000L, sensorDataSend);
}
void loop()
{
Blynk.run();
timer.run(); // Initiates BlynkTimer
}```