Ciao!
Caricate questo codice per testare il contatto:
Un cavo andrà collegato al collettore del transistor, l'altro cavo all'emettitore.
int CALL_PHONE =12;
nel post di oggi vedremo come realizzare un piccolo e semplice impianto
antifurto con la possibilità di chiamare ad un numero predefinito riciclando
materiale che abbiamo in casa.
Questo progetto è stato realizzato da Ferruccio Giri (https://www.feroxos.it), che ringrazio per avermi permesso di condividerlo con voi.
Questo progetto è stato realizzato da Ferruccio Giri (https://www.feroxos.it), che ringrazio per avermi permesso di condividerlo con voi.
Evitando una lunga serie di codici, evitando di
interfacciare smartphone ad arduino propongo un ottimo sistema per riutilizzare
telefoni di vecchia data.
Materiale necessario:
1 x Controllore Arduino
1 x Transistor , in questo caso utilizzato (BC 337 40)
1 o 2 Altoparlanti interni di un qualsiasi computer
1 Vecchio Telefono con tastierino numerico senza touch
screen, per interndesi tipo NOKIA 3310
1 Batteria 9v o simile per alimentazione Arduino
1 Sim con del credito disponibile
Cavi, stagno e pazienza.
Gli antifurto hanno 4-5 sistemi principali, a pressione, a
rilevamento , a contatto e altri ancora.
Noi entriamo nella branca del sistema a contatto, ovvero , disponiamo un
contatto nel nostro accesso, che se non presente si attiverà il nostro allarme e la
chiamata al proprietario di casa.
Impostando una linea di distribuzione di un ipotetico segnale, in questo caso la 3,3V di Arduino con dei resistori per diminuire la tensione ancora di più si dispongono dei pin per verificare che vi sia tensione nell'apposito cavo di ritorno da un accesso.
Impostando una linea di distribuzione di un ipotetico segnale, in questo caso la 3,3V di Arduino con dei resistori per diminuire la tensione ancora di più si dispongono dei pin per verificare che vi sia tensione nell'apposito cavo di ritorno da un accesso.
Caricate questo codice per testare il contatto:
- void setup() {
- pintMode(13,OUTPUT);//SEGNALE ACUSTICO A BASSA INTENSITA
- pinMode(2,INPUT);//SEGNALE DEL CONTATTO DELL'ACCESSO
- }
- void loop(){
- if(digitalRead(2)==LOW){
- SEGNALE_ACUSTICO();
- //CHIAMATA
- }
- }
- void SEGNALE_ACUSTICO(){
- digitalWrite(13,HIGH);}
Vediamo ora come implementare la chiamata ad un numero
prefissato.
I telefoni con tastierino hanno una particolarità ovvero, il pulsante non è altro che una piccola lamiera
ricurva che, una volta pressata al centro si appiattisce facendo fare il
contatto ai due poli nella scheda che
sono posti in forma circo centrica uno all'interno dell'altro.
Attraverso un transistor noi andremo a controllare solo ed
esclusivamente il pulsante di chiamata, di modo di poter dare l'input di
effettuare una chiamata, all'ultimo numero chiamato.
Così
viene risolto il nodo della chiamata al proprietario di casa,senza utilizzare
codici complessi per invio di sms o chiamate attraverso connettori comuni e
rispondendo si può sentire
quello che avviene in casa.
Con due righe di codice e qualche accortezza nella
disposizione della strumentazione si può
ottenere un valido antifurto che all'istante ti informa se qualcuno è entrato in casa.
Innanzitutto bisognerà avere un telefono cellulare vecchio modello a tastierino numerico con sim e credito.
Innanzitutto bisognerà avere un telefono cellulare vecchio modello a tastierino numerico con sim e credito.
Aprilo e arrivare alla scheda madre, poi collegare due
fili, uno all'anello del pulsante chiamata, uno al cerchio interno all'anello
facendo molta attenzione.
Sadatura dei cavi sui contatti, ci scusiamo per la qualità del prodotto e delle saldature.
Un cavo andrà collegato al collettore del transistor, l'altro cavo all'emettitore.
In questo caso il GND è il contatto centrale che arriverà al transistor e da li partirà una seconda connessione al GND di Arduino.
Si sceglierà poi un pin da arduino, dedito alla attivazione del transistor e quindi la pressione del pulsante chiama.
La caratteristica di questi telefoni è che, per quasi tutti, la doppia pressione del pulsante chiamata, “tasto verde”, porta ad effettuare una chiamata all'ultimo numero chiamato.
Quindi effettuando una chiamata o uno squillo, alla prima attivazione del telefono, al numero prefissato che si dovrà chiamare in caso di attivazione dell'allarme, si setterà automaticamente il numero predefinito.
Si sceglierà poi un pin da arduino, dedito alla attivazione del transistor e quindi la pressione del pulsante chiama.
La caratteristica di questi telefoni è che, per quasi tutti, la doppia pressione del pulsante chiamata, “tasto verde”, porta ad effettuare una chiamata all'ultimo numero chiamato.
Quindi effettuando una chiamata o uno squillo, alla prima attivazione del telefono, al numero prefissato che si dovrà chiamare in caso di attivazione dell'allarme, si setterà automaticamente il numero predefinito.
L'accortezza da prendere a questo punto è quella di far scattare
l'allarme in un istante e proseguire con il suono dell'allarme periodicamente,
avviare all'istante in cui scatta l'allarme anche la chiamata una sola volta
importando un paio di variabili, alarms, e in_call.
Il Circuito :
è consigliata una resistenza da 1k prima della base del transistor (interrompendo il filo giallo).
Verificate l'assorbimento degli altoparlanti, se superiori a 40mA è necessario un driver (basta un semplice transistor).
è consigliata una resistenza da 1k prima della base del transistor (interrompendo il filo giallo).
Verificate l'assorbimento degli altoparlanti, se superiori a 40mA è necessario un driver (basta un semplice transistor).
- int Porta1 = 2; //PIN DI RILEVAMENTO DEL SEGNALE PORTA
- int speaker = 11; //PIN SPEAKER
- int CALL_PHONE =12; //PIN TASTO CHIAMATA
- int alarms=0; //PIN L'ALLARME E' IN STATO DI ALLARME O IN STATO DI ATTESA
- int in_call = 0; //LA CHIAMATA E' STATA EFFETTUATA
- void setup() {
- pinMode(Porta1,INPUT);
- pinMode(speaker,OUTPUT);
- pinMode(CALL_PHONE,OUTPUT);
- alarms=0;
- }
- void loop() {
- if(alarms==0){
- if(digitalRead(Porta1)==LOW){alarms=1;}
- }else{
- if(in_call==0){
- calling();
- calling();
- in_call=1;
- }
- sounding();
- sounding();
- }
- }
- /*
- Il ciclo controlla se l'allarme è attivo.
- Se non è attivo verifica lo stato dei segnali degli accessi e se uno risulta sconnesso attiva l'allarme.
- Se l'allarme è attivo, allo verifico se la chiamata è partita ed eventualmente la faccio partire, comunque suono l'allarme due volte.
- */
- void sounding(){
- analogWrite(speaker,100);
- delay(500);
- analogWrite(speaker,254);
- delay(500);
- }
- void calling(){
- digitalWrite(CALL_PHONE,HIGH);
- delay(250);
- digitalWrite(CALL_PHONE,LOW);
- delay(250);
- }
int CALL_PHONE =12;
void calling(){
digitalWrite(CALL_PHONE,HIGH);
delay(250);
digitalWrite(CALL_PHONE,LOW);
delay(250);
}
L'evento calling equivale alla pressione del tasto verde con intervallo di ¼ di secondo.
Calling();
Calling();
Equivale alla doppia pressione.
A questo punto manca da vedere come attivare il l'allarme
una volta fuori di casa, con lo smartphone che abbiamo ormai quasi tutti, e un
connettore bluetooth, ma per questo, ne esistono parecchie di guide online, e
basterà una volta chiusa la porta
inviare un testo ad un modulo bluetooth (ad esempio un modulo HC-06) ed in base al testo ricevuto attivare o
disattivare l'allarme.
Il codice Bluetooth è particolarmente difficile da evadere, in ogni caso possono essere inseriti blocchi di controllo e si può far scattare l'allarme per casi di brute forcing di qualche folle a livelli astronomici.
E' possibile utilizzare il metodo che abbiamo visto per connettere il pulsante anche per altri tasti, quindi potremmo utilizzare lo stesso metodo anche per attivare o disattivare l'allarme.
Infine vediamo le ultime accortezze che abbiamo deciso di prendere.
Arduino deve essere collegato ad una batteria e non alla corrente di casa.
Necessaria la batteria in quanto se collegato a corrente “di casa” questa potrebbe venir meno proprio tagliata dai malintenzionati.
Il codice Bluetooth è particolarmente difficile da evadere, in ogni caso possono essere inseriti blocchi di controllo e si può far scattare l'allarme per casi di brute forcing di qualche folle a livelli astronomici.
E' possibile utilizzare il metodo che abbiamo visto per connettere il pulsante anche per altri tasti, quindi potremmo utilizzare lo stesso metodo anche per attivare o disattivare l'allarme.
Infine vediamo le ultime accortezze che abbiamo deciso di prendere.
Arduino deve essere collegato ad una batteria e non alla corrente di casa.
Necessaria la batteria in quanto se collegato a corrente “di casa” questa potrebbe venir meno proprio tagliata dai malintenzionati.
Il telefono con il caricabatterie può restare sempre connesso alla corrente di casa, in questo modo si avrà comunque la carica sufficiente per far partire la chiamata.
Ecco una foto globale del progetto,
dato che non ho potuto testare personalmente codice e schema per qualsiasi info vi rimando all'autore del progetto, Ferruccio Giri (https://www.feroxos.it)
Buon divertimento!
Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!
Ecco una foto globale del progetto,
dato che non ho potuto testare personalmente codice e schema per qualsiasi info vi rimando all'autore del progetto, Ferruccio Giri (https://www.feroxos.it)
Buon divertimento!
Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!
Nessun commento:
Posta un commento
Lascia un commento qui sotto, ti risponderò il prima possibile!