#include <elapsedMillis.h>
elapsedMillis Millis_AlarmLED1;
elapsedMillis Millis_AlarmBUZ1;
elapsedMillis Millis_AlarmLED2;
elapsedMillis Millis_AlarmBUZ2;
const int pinFloatingSwitch1 = 2;
const int pinFloatingSwitch2 = 3;
const int pinLED1 = 4;
const int pinLED2 = 5;
const int pinBuzzer = 6;
const int pinPB_Reset1 = 7;
const int pinPB_Reset2 = 8;
bool readFS1 = 0;
bool readFS2 = 0;
bool readReset1 = 0;
bool readReset2 = 0;
bool stateLED1 = 0;
bool stateLED2 = 0;
bool stateBUZ1 = 0;
bool stateBUZ2 = 0;
bool stateBUZTotal = 0;
bool reset1 = 0;
bool reset2 = 0;
bool flag1 = 0;
bool flag2 = 0;
bool flag3 = 0;
bool flag4 = 0;
void setup() {
Serial.begin(115200);
pinMode(pinFloatingSwitch1, INPUT_PULLUP);
pinMode(pinFloatingSwitch2, INPUT_PULLUP);
pinMode(pinPB_Reset1, INPUT_PULLUP);
pinMode(pinPB_Reset2, INPUT_PULLUP);
pinMode(pinLED1, OUTPUT);
pinMode(pinLED2, OUTPUT);
pinMode(pinBuzzer, OUTPUT);
}
void loop() {
readFS1 = !digitalRead(pinFloatingSwitch1);
readFS2 = !digitalRead(pinFloatingSwitch2);
readReset1 = !digitalRead(pinPB_Reset1);
readReset2 = !digitalRead(pinPB_Reset2);
//ALGORITMA TANK 1
if(readFS1 == 1){
flag1 = 0;
if(flag3 == 0){
reset1 = 0;
reset2 = 0;
flag3 = 1;
}
stateBUZ1 = 1;
//RESET LED
if(readReset1 == 1){
reset1 = 1;
}
if(reset1 == 0){
if(Millis_AlarmLED1 >= 300){
stateLED1 = !stateLED1;
Millis_AlarmLED1 = 0;
}
}
else{
stateLED1 = 1;
Millis_AlarmLED1 = 0;
}
digitalWrite(pinLED1, stateLED1);
}
else{
stateBUZ1 = 0;
digitalWrite(pinLED1, LOW);
flag3 = 0;
if(flag1 == 0){
reset1 = 0;
reset2 = 0;
flag1 = 1;
}
}
//ALGORITMA TANK 2
if(readFS2 == 1){
flag2 = 0;
if(flag4 == 0){
reset1 = 0;
reset2 = 0;
flag4 = 1;
}
stateBUZ2 = 1;
//RESET LED
if(readReset1 == 1){
reset1 = 1;
}
if(reset1 == 0){
if(Millis_AlarmLED2 >= 300){
stateLED2 = !stateLED2;
Millis_AlarmLED2 = 0;
}
}
else{
stateLED2 = 1;
Millis_AlarmLED2 = 0;
}
digitalWrite(pinLED2, stateLED2);
}
else{
stateBUZ2 = 0;
digitalWrite(pinLED2, LOW);
flag4 = 0;
if(flag2 == 0){
reset1 = 0;
reset2 = 0;
flag2 = 1;
}
}
//RESET BUZZER
if(readReset2 == 1){
reset2 = 1;
}
if(reset2 == 0){
stateBUZTotal = stateBUZ1 + stateBUZ2;
}
else{
stateBUZTotal = 0;
}
if(stateBUZTotal > 0){
digitalWrite(pinBuzzer, HIGH);
}
else{
digitalWrite(pinBuzzer, LOW);
}
Serial.print(readFS1);Serial.print("\t");
Serial.print(readFS2);Serial.print("\t");
Serial.print(readReset1);Serial.print("\t");
Serial.print(readReset2);Serial.print("\t");
Serial.print("\t");
Serial.print(reset1);Serial.print("\t");
Serial.print(reset2);Serial.print("\t");
Serial.print(stateBUZTotal);Serial.print("\t");
Serial.println();
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
sw1:1
sw1:2
sw1:3
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
led1:A
led1:C
bz1:1
bz1:2
sw2:1
sw2:2
sw2:3
led2:A
led2:C
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
led3:A
led3:C