#define ir 21
#define trigger 18
#define echo 19
#define pir 4
float dist;
int vir; //valor de ir
int vpir;
void setup() {
Serial.begin(115200);
pinMode(ir, INPUT);
pinMode(pir, INPUT);
pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
}
void loop() {
vir = digitalRead(ir);
vpir = digitalRead(pir);
dist = Ultrasonic(trigger,echo);
boolean violado1 = false;
boolean violado2 = false;
if (vir == HIGH){
Serial.println("Nível 1 violado");
delay(1000);
boolean violado1 = true;
if (violado1 == true && dist < 20){
Serial.println("nível 1 e 2 violados");
delay(1000);
boolean violado2 = true;
boolean violado1 = false;
if (violado2 == true && vpir == 1){
Serial.println("nível 1, 2 e 3 violados");
delay(1000);
boolean violado3 = true;
boolean violado2 = false;
boolean violado1 = false;
}
}
}
}
//Bloco de programação do sensor ultrassônico
float Ultrasonic(int a, int b){
int distancia = 0;
while(distancia == 0) {
digitalWrite(a, 0);//reset do pino trigger
delayMicroseconds(5);
digitalWrite(a, 1);//set do pino trigger
delayMicroseconds(5);
float tempo = pulseIn(b,1);//
distancia = (tempo/2/29.15);
}
return distancia;
}