Sistema di allarme


ciao tutti e perdonatemi se sbaglio qualcosa visto che sono nuovo :)
avrei bisogno di qualche dritta per realizzare un sistema d'allarme, composto da quattro fotocellule.
quando un sensore rileva qualcosa, si accende il led rispettivo, parte la sirena(cicalino) e viene visualizzato sul display lcd il sensore attivo. ho visto in rete, che per disinserire l'allarme viene usato un sensore pir con l'annessa tessera; non disponendo di tale componente, vorrei inserire una password sul display usando dei bottoni(ad esempio premi 2 volte il centrale), ma purtroppo non come fare. spero ci sia qualcuno così gentile da aiutarmi  :)

il codice:

#include <liquidcrystal.h> // include la libreria del display

#define la 22 // dichiaro la variabile
#define lb 23 // dichiaro la variabile
#define lc 24 // dichiaro la variabile
#define ld 25 // dichiaro la variabile
#define sa 32 // dichiaro la variabile
#define sb 33 // dichiaro la variabile
#define sc 34 // dichiaro la variabile
#define sd 35 // dichiaro la variabile
#define buzzer 53 // dichiaro la variabile

boolean la = low; // dichiaro la variabile
boolean lb = low; // dichiaro la variabile
boolean lc = low; // dichiaro la variabile
boolean ld = low; // dichiaro la variabile

 
liquidcrystal lcd(12, 11, 5, 4, 3, 2); // viene creata l'istanza dell'oggetto liquidcrystal chiamata lcd in cui sono indicati pin dell'lcd collegati alle uscite digitali di arduino
                                         
 
void setup() { 
   
  pinmode(la, output);  // imposta il pin digitale come output
  pinmode(lb, output);  // imposta il pin digitale come output
  pinmode(lc, output);  // imposta il pin digitale come output
  pinmode(ld, output);  // imposta il pin digitale come output   
  pinmode (buzzer, output); // imposta il pin digitale come output
 
  pinmode(sa, input); // imposta il pin digitale come input
  pinmode(sb, input); // imposta il pin digitale come input
  pinmode(sc, input); // imposta il pin digitale come input
  pinmode(sd, input); // imposta il pin digitale come input
 
  lcd.begin(16, 2); // numero di colonne ed il numero di righe dell'lcd
  lcd.print("zona sicura"); // stampa il messaggio sul display

 
void loop() { 

  boolean statosa = digitalread(sa); // memorizza lo stato del sensore
  boolean statosb = digitalread(sb); // memorizza lo stato del sensore
  boolean statosc = digitalread(sc); // memorizza lo stato del sensore
  boolean statosd = digitalread(sd); // memorizza lo stato del sensore
 
  lcd.setcursor(0, 0); // posiziona il cursore in colonna 0 e linea 0
 
  if (statosa != low); // se il sensore rileva movimento
  {
  (la = high); // accende il led
  lcd.setcursor(6, 1); // posiziona il cursore in colonna 6 e linea 1
  serial.print("a"); // stampa il messaggio sul display
  }
  else (statosa == low); // se il sensore non è attivo
  {
  (la = low); // spegne il led
  }
 
  if (statosb != low); // se il sensore rileva movimento
  {
  (lb = high); // accende il led
  lcd.setcursor(7, 1); // posiziona il cursore in colonna 7 e linea 1
  serial.print(",b"); // stampa il messaggio sul display
  }
  else (statosb == low); // se il sensore non è attivo
  {
  (lb = low); // spegne il led
  }
 
  if (statosc != low); // se il sensore rileva movimento
  {
  (lc = high); // accende il led
  lcd.setcursor(9, 1); // posiziona il cursore in colonna 9 e linea 1
  serial.print(",c"); // stampa il messaggio sul display
  }
  else (statosc == low); // se il sensore non è attivo
  {
  (lc = low); // spegne il led
  }
 
  if (statosd != low); // se il sensore rileva movimento
  {
  (ld = high); // accende il led
  lcd.setcursor(11, 1); // posiziona il cursore in colonna 11 e linea 1
  serial.print(",d"); // stampa il messaggio sul display
  }
  else (statosd == low); // se il sensore non è attivo
  {
  (ld = low); // spegne il led
  }
 
  if (statosa != low || statosb != low || statosc != low || statosd != low); // se almeno un sensore è attivo
  serial.printl("intruso"); // stampa il messaggio sul display
  serial.println("zona:"); // stampa il messaggio sul display
  allarme(); // attiva la sirena
  } 

  void allarme() {
 
  (i = 0; < 3; i++); // ripete il ciclo tre volte
   {
    tone(buzzer, 400); // accende il buzzer
   delay(500); // attende 0,5s
   tone(buzzer, 200);
   delay(500); // attende 0,5s
   } 
  }

ciao tutti e perdonatemi se sbaglio qualcosa visto che sono nuovo :)
allora ...

1. non ti sei presentato qui (spiegando quali conoscenze hai di elettronica e di programmazione)

2. non hai letto il regolamento (... e non hai racchiuso il codice tra tag code)

3. ... ma peggio di tutti ... stai scrivendo in un area riservata ... e si che, come primo post dell'area c'è, in grassetto, questo

ora un moderatore dovrà spostare la tua discussione ...

guglielmo


Arduino Forum > International > Italiano > Software (Moderator: leo72) > Sistema di allarme


arduino

Comments

Popular posts from this blog

invalid use of void expresion in FlexiTimer2 library

error: a function-definition is not allowed here before '{' token

LED Strip Code