
Un antifurto è un sistema elettronico che ha come scopo di impedire intrusioni eseguite da utenti di terze parti. Per tale scopo possono si impiegare più sensori, che possono essere in comunicazione tra loro tramite cablaggi o in connettività wireless. La comunicazione ad infrarossi (IR) è una tecnologia wireless ampiamente utilizzata.
In questo articolo presenteremo un tutorial riguardante il funzionamento approssimato di un antifurto su Arduino.
Il materiale da utilizzare per realizzare tale progetto è il seguente:
- 1x board Arduino UNO (o compatibili)
- 1x telecomando
- 1x ricevitore a infrarossi
- 1x display LCD
- 1x potenziometro 10 K
- 1x led rosso
- 1x led verde
- 2x resistori 220 ohm
- 1x buzzer attivo
- 25x jumper M-M;
Troverete tutti i componenti necessari nel kit Elegoo Advanced Starter Kit.
Il diagramma di collegamento è il seguente:
Ecco un video che illustra il progetto:
Per quanto riguarda la stesura del codice si deve tener conto dell’architettura di un ricevitore a infrarossi. I rilevatori di infrarossi sono piccoli microchips con una fotocellula sensibile alla luce infrarossa. Questi sensori sono quasi sempre utilizzati per il controllo remoto . All’interno dei telecomandi è presente il led ad infrarossi che emette pulsazioni alla giusta frequenza di luce che comanda al televisore di accendersi, spegnersi o cambiare canale. La luce ad infrarossi non è visibile agi occhi umani. Questo significa che il sensore necessita di un po’ di test prima di essere impostato correttamente.
La radiazione elettromagnetica IR viene emessa da molte fonti (sole, dalle lampadine e da qualsiasi altra fonte di calore). Queste ultime possono disturbare la comunicazione tra i nostri dispositivi IR. Per evitare che accada tutto ciò viene utilizzata la tecnica della modulazione.
Nel momento in cui si preme uno dei pulsanti verrà emessa tramite l’ausilio del LED IR una sequenza di accensioni e spegnimenti del LED IR alla frequenza tipica di 38 kHz. Ad ogni pulsante è associato uno schema (detti pattern) specifico di 0 ed 1. Ad ogni stato logico è associata la frequenza di 0 Hz nel caso si voglia inviare uno 0 logico ed una frequenza di 38 kHz nel caso si voglia inviare un 1 logico. Gli schemi sono in genere costituiti da sequenze 12 o 32 bit.
La comunicazione IR richiede che tra trasmettitore e ricevitore non vi siano ostacoli, si devono trovare in condizione di visibilità reciproca, non sarà quindi possibile trasmettere attraverso ostacoli, come i muri, come invece risulta possibile per la comunicazione WiFi o Bluetooth.
Quindi ogni telecomando genera pulsazioni di luce infrarossa differente, e per tale motivo ciascun utente di Arduino deve provvedere a impostare correttamente il proprio telecomando. Per farlo basta utilizzare questo piccolo sketch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <IRremote.h> //libreria per utilizzare tutte le potenzialità che offre il telecomandio int RECV_PIN = 11;//Pin in cui è collegato il ricevitore infrarossi IRrecv irrecv(RECV_PIN); // crea l'istanza 'irrecv' decode_results results; // salva il risultato ricevuto dal ricevitore IR void setup() { Serial.begin(9600); //si abilita l'utilizzo del monitor seriale irrecv.enableIRIn(); //il ricevitore è attivo } void loop() { if (irrecv.decode(&results)) { // vero se si riceve un risultato Serial.println(String(results.value, HEX)); // stampa il valore esadecimale del tasto corrispondente irrecv.resume(); // ricezione del successivo valore } } |
Tramite l’ausilio del monitor seriale è possibile associare per ogni tasto il valore esadecimale corrispondente. In questo modo è stato possibile “mappare” il telecomando tasto per tasto.
Ora è possibile procedere per la realizzazione del programma che simula un sistema antifurto. Il link del code in questione commentato riga per riga è presente su GitHub nel seguente link: Moreware_sistema_allarme
Una volta effettuati questi passaggi basta caricare lo sketch sulla propria board di Arduino e cimentarvi nei diversi tentativi di inserire i PIN.
sono giovane alle prime armi, mandami un codice già fatto. abbiamo lo stesso telecomando
Ciao Marco, grazie per il messaggio!
Il codice è già disponibile: segui il link Moreware_sistema_allarme presente verso la fine dell’articolo, poi clicca su “download”. Buon divertimento!