antifurto casa domotica

Salve! Mi sono imbattuto nella progettazione di un antifurto per la mia casetta domotica che presenterò al mio esame di maturità.
ho realizzato il mio sistema di allarme con un contatto magnetico reed un buzzer ed un led rgb che mi riproduce la sirena della polizia quando il contatto si stacca dalla porta.
Ho aggiunto inoltre un ricevitore tsop1838 per la recezione di segnali ir da un telecomando e la mia idea era di attivare e disattivare l’ allarme… mi spiego meglio. Avevo intenzione di premere un tasto di disattivazione allarme e quando la porta si apriva non mi scattava nulla e quando premevo un tasto esi attivava l’ allarme e quando si apriva mi suonava il tutto, solo che sto trovando difficoltà nel compilare il codice per quest’ ultima parte perchè nella creazione del contatto ed il resto mi funziona tutto … posto codice con tentativo…solo che non ho messo i led per semplicità per capire il funzionamento

Code:
int buzzer=9;
int bottone=12;
#include <IRremote.h> // use the library
int receiver = 11; // pin 1 of IR receiver to Arduino digital pin 11
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results;


void setup() {
pinMode(buzzer,OUTPUT);
pinMode(bottone, INPUT);
Serial.begin(9600); 
  irrecv.enableIRIn();
}


void loop() {
int leggiBottone=digitalRead(bottone);
 if (irrecv.decode(&results)) // have we received an IR signal?
  {
    Serial.println(results.value, HEX); // display it on serial monitor in hexadecimal
    irrecv.resume();// receive the next value
  }
   if ( results.value == 0xDF807F &&leggiBottone==1){ //tasto 6 sul telecomando
    digitalWrite(buzzer, HIGH);   // set the LED on
  } 
 if ( results.value == 0xDF40BF&&leggiBottone==1){ //tasto 4 sul telecomando
    digitalWrite(buzzer, LOW);   // set the LED 0ff
  }  
}

forse l' idea sarebb quella di crerare un pin a 4 cifre per disattivarlo?? in tal caso come si effettua?? grz

Ti serve una di quelle tastierine a 12 oppure 16 pulsanti. Poi devi scriverti il codice per leggere i tasti premuti e confrontare il codice immesso con uno memorizzato. Sul forum ci sono diverse discussioni sull'argomento, non ho i link sottomano ma se cerchi trovi qualcosa.

grazie leo per la risposta... ho visto su youtube che era possibile farlo anche tramite un telecomando della televisione attivare e disattivare , mi sono munito di ricevitore e telecomando ma non so come deve essere strutturato il codice per fare questa funzione linko il video per farti vedere il progetto con questa funzione... Maqueta de una casa Domótica (Automatizada) - YouTube

sto progettando questo antifurto metto anche il codice… ma ho un problema quando apreo il contatto e premo il tasto non si disattiva l’ antifurto ma si disattiva quando chiudo il contatto… ecco codice

int buzzer=9; //buzzer
int rosso=13; //led rgb
int blu=10;      //led rgb
int bottone=12;  //contatto magnetico
#include <IRremote.h>
int receiver = 11; //pin ricevitore ir
IRrecv irrecv(receiver);
decode_results results;






void setup() {
pinMode(rosso,OUTPUT);
pinMode (blu,OUTPUT);
pinMode(bottone, INPUT);
pinMode (buzzer,OUTPUT);

Serial.begin(9600);
irrecv.enableIRIn();
}


void loop() {
int val=digitalRead(bottone);
if (irrecv.decode(&results)) // have we received an IR signal?
  {
 Serial.println(results.value, HEX); // display it on serial monitor in hexadecimal
    irrecv.resume();// receive the next value
 }

 

 if ( results.value == 0xFFA25D){ //se il risultato del telecomando è uguale a OxFFA25D
  digitalWrite(rosso, LOW);
  noTone (buzzer);
  digitalWrite (blu,LOW);
   
}  



if (val==LOW){       // se il valore del contatto è basso
tone (buzzer,2000);   
digitalWrite (rosso,HIGH);
digitalWrite (blu,LOW);
delay(500);
tone (buzzer,1000);
digitalWrite (rosso,LOW);
digitalWrite (blu, HIGH);
delay(500);

}
}

MOV026.3gp (3.93 MB)

ho allegato video sotto il codice

Perchè non hai continuato il treadh antifurto casa domotica - Software - Arduino Forum
Uno che arriva oggi e legge questo da quello che hai scritto cosa può capirci? nel codice mancano le descrizioni e commenti .... cosa sono quel rosso blu high low ecc?
Premi un tasto? che tasto?
Cosa deve fare il programma?

ciao

scasate sono nuovo sto facendo un macello...... l' ho ripostato perchè è diverso da quello che avevo messo stamattina... diciamo che sono stato tutta la mattinata a lavorare su sta cosa..... ho allegato il video che spiega il tutto... cmq....
rosso e blu sono i colori dell' rgb che quando il sesore magnetico si stacca della porta insieme al buzzer mi simula la sirena ed il lampeggiante della polizia. il problema è che ho utilizzato anche un ricevitore ir con un telecomando per disattivare l' antifurto ma me lo disattiva solo quando i contatti ritornano insieme quindi quando la porta è chiusa.... io vorrei che premendo il tasto del telecomando per la disattivazione si staccasse anche quando la porta è aperta e non quando la porta sta chiusa!!!
poi mi farebbe piacere fare 2 comandi con 2 tasti uno per attivare l' antifurto, l' altro per disattivarlo così in modo da aprire la porta senza farlo suonare!

mi scuso ankora per la confusione nel forum!

deagon:
grazie leo per la risposta... ho visto su youtube che era possibile farlo anche tramite un telecomando della televisione attivare e disattivare , mi sono munito di ricevitore e telecomando ma non so come deve essere strutturato il codice per fare questa funzione

Ti serve la libreria per decodificare i comandi del telecomando. é la IRremote

A questa pagina c'è anche spiegato come usarla. Ovviamente il tuo telecomando dev'essere supportato dalla lib (c'è l'elenco).

Ecco, ho riunito la cosa.

ho inserito la libreria infrarosso come puoi vedere dallo schetch... il problema mio è quello di creare una codifica di attivazione e disattivazione dell' antifurto. ovvero quando premo un pulsante sarà attivo e solo allora quando la porta si aprirà scatterà il tutto..... se premo l' altro pulsante me lo disattiverà e quando la prta sarà aperta l' antifurtò non sarà innescato...