#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void setup() {
#define PIR 4
#define Rele 17
#define RED 5
#define GREEN 6
#define Pulsante 22
#define buzzer 13
//Serial1.begin(115200);
//Serial1.println("Hello, Raspberry Pi Pico!");
pinMode(Pulsante, INPUT); // abilita il pin 22 a cui è connesso il pulsante come input
lcd.setCursor(1,0);
lcd.print("ALLARME ATTIVO");
}
void loop(){
delay(1); // Adding a delay() here speeds up the simulation
pinMode(PIR, INPUT);
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(Rele, OUTPUT);
pinMode(buzzer, OUTPUT);
while (true) // ciclo infinito
{
if (digitalRead(Pulsante) == HIGH)
{
pinMode(4, OUTPUT);
tone(buzzer, 10000, 0);
digitalWrite(4, LOW);
break; // esce dal ciclo se si preme il pulsante
}
lampeggio(); // chiama la funzione che accende e spegne il LED
}
}
void lampeggio(){
if (digitalRead(PIR)==HIGH) {
//Serial1.println("Motion Detected");
lcd.setCursor(1,0);
lcd.print("ALLARME ATTIVO INTRUSIONE");
digitalWrite(RED, HIGH);
digitalWrite(RED, LOW);
digitalWrite(Rele, HIGH);
tone(buzzer, 1000, 100);
delay(500);
}
else {
//Serial1.println("No Motion");
lcd.setCursor(1,0);
lcd.print("ALLARME ATTIVO ");
digitalWrite(GREEN, HIGH);
digitalWrite(GREEN, LOW);
delay(500);
}
}