Hi,
I am working on smart home project with blynk. This code running nice but after reboot, A5 pin goes LOW until blynk connection.
I am missing something I guess…
#include <UIPEthernet.h>
#include <BlynkSimpleUIPEthernet.h>
BlynkTimer timer;
byte alarmState = 0;
char auth[] = "toookeeennnnn....";
byte area1 = 9;
byte area1State;
byte area2 = 8;
byte area2State;
byte area3 = 7;
byte area3State;
byte area4 = 6;
byte area4State;
byte alarmPin = A5;
byte moveDetect = 0;
byte siren = 0;
String areaInfo;
WidgetLCD lcd(V1);
void setup()
{
pinMode(area1, INPUT_PULLUP);
pinMode(area2, INPUT_PULLUP);
pinMode(area3, INPUT_PULLUP);
pinMode(area4, INPUT);
pinMode(alarmPin, OUTPUT);
pinMode(alarmPin, HIGH);
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(A4, OUTPUT);
digitalWrite(A0, HIGH);
digitalWrite(A1, HIGH);
digitalWrite(A2, HIGH);
digitalWrite(A3, HIGH);
digitalWrite(A4, HIGH);
Blynk.begin(auth);
timer.setInterval(1000L, alarmControl);
timer.setInterval(4000L, screen1);
timer.setInterval(4000L, screen2);
timer.setInterval(15000L, notifSend);
}
void loop()
{
Blynk.run();
timer.run();
}
BLYNK_WRITE(V0) {
byte value = param.asInt();
alarmState = value;
}
void alarmControl() {
area1State = digitalRead(area1);
area2State = digitalRead(area2);
area3State = digitalRead(area3);
area4State = digitalRead(area4);
//-------------------------------------
if (area1State == HIGH) {
moveDetect = 1;
areaInfo = "Giris ";
} else if (area2State == HIGH) {
moveDetect = 1;
areaInfo = "Mutfak ";
} else if (area3State == HIGH) {
moveDetect = 1;
areaInfo = "Y.Odasi";
} else if (area4State == HIGH) {
moveDetect = 1;
areaInfo = "Sensor ";
} else {
moveDetect = 0;
areaInfo = "Yok ";
}
if (alarmState == 1) {
if (moveDetect == 1) {
digitalWrite(alarmPin, LOW);
areaInfo = "Siren! ";
siren = 1;
}
} else {
digitalWrite(alarmPin, HIGH);
siren = 0;
}
}
void screen1() {
if (alarmState == 1) {
lcd.print(0, 0, "Alarm Devrede");
} else {
lcd.print(0, 0, "Alarm Kapali ");
}
}
void screen2 () {
lcd.print(0, 1, "Hareket:");
lcd.print(8, 1, areaInfo);
}
void notifSend() {
if (siren == 1) {
Blynk.notify("Dikkat, istenmeyen durum! Alarm devreye sokuldu.");
}
}
``
on startup alarmState is 0, moveDetect is 0 but waits connection to go LOW