Sistema di allarme wireless basato su Arduino. Sistema di sicurezza GSM per la casa basato su Arduino

Negli ultimi dieci anni, i furti d'auto hanno occupato uno dei posti più significativi nella struttura dei crimini commessi nel mondo. Ciò è dovuto non tanto alla gravità specifica di questa categoria di furti rispetto al numero totale dei reati, ma all'entità dei danni causati dall'elevato costo delle auto. La scarsa efficacia delle misure adottate nel campo della lotta ai furti di veicoli ha portato, alla fine degli anni '90, alla creazione di gruppi stabili specializzati nella commissione di questi reati e nel possesso di caratteristiche distintive crimine organizzato; Probabilmente hai sentito il termine "business automobilistico nero". Ogni anno nel parco auto dei paesi europei manca ≈ il 2% di auto che diventano oggetto di attacchi criminali. Pertanto, mi è venuta l'idea di attivare un allarme GSM per la mia auto Basato su Arduino Uno.

Cominciamo!

Da cosa raccoglieremo?

Dobbiamo scegliere il cuore del nostro sistema. Secondo me per questo tipo di segnalazione non c'è niente di meglio di Arduino Uno. Il criterio principale è un numero sufficiente di "pin" e il prezzo.


Caratteristiche principali di Arduino Uno

Microcontrollore-ATmega328
Tensione operativa - 5 V
Voltaggio in ingresso (consigliato) - 7-12 V
Tensione in ingresso (limite) - 6-20 V
Ingressi/uscite digitali: 14 (6 dei quali possono essere utilizzati come uscite PWM)
Ingressi analogici - 6
Corrente CC attraverso ingresso/uscita - 40 mA
Corrente costante per uscita 3,3 V - 50 mA
Memoria flash - 32 KB (ATmega328) di cui 0,5 KB utilizzati per il bootloader
RAM - 2KB (ATmega328)
EEPROM - 1KB (ATmega328)
Frequenza dell'orologio - 16 MHz


Si adatta!

Ora devi selezionare un modulo GSM, perché il nostro sistema di allarme deve essere in grado di avvisare il proprietario dell'auto. Quindi, devi "Google"... Ecco, un eccellente sensore: SIM800L, le dimensioni sono semplicemente meravigliose.


Ho pensato e ordinato dalla Cina. Tuttavia, tutto si è rivelato non così roseo. Il sensore si è semplicemente rifiutato di registrare la carta SIM sulla rete. È stato provato tutto il possibile: il risultato è stato zero.
Ci sono state persone gentili che mi hanno fornito una cosa interessante: Sim900 Shield. Ora questa è una cosa seria. Lo Shield ha sia un microfono che un jack per le cuffie, rendendolo un telefono a tutti gli effetti.


Caratteristiche principali di Sim900 Shield

4 standard di frequenza operativa 850/ 900/ 1800/ 1900 MHz
GPRS multislot classe 10/8
Stazione mobile GPRS classe B
Conforme alla fase GSM 2/2+
Classe 4 (2 W a 850/900 MHz)
Classe 1 (1 W a 1800/1900 MHz)
Controllo tramite comandi AT (comandi AT estesi GSM 07.07, 07.05 e SIMCOM)
Basso consumo energetico: 1,5 mA (modalità sospensione)
Intervallo di temperatura operativa: da -40°C a +85°C


Si adatta!

Ok, ma devi prendere le letture da alcuni sensori per avvisare il proprietario. Se l'auto viene rimorchiata, la sua posizione cambierà ovviamente nello spazio. Prendiamo un accelerometro e un giroscopio. Grande. Ok, ora stiamo cercando un sensore.

Penso che il GY-521 MPU6050 andrà sicuramente bene. Si è scoperto che ha anche un sensore di temperatura. Dovremmo usarlo anche noi, ci sarà una tale “funzione killer”. Supponiamo che il proprietario dell'auto l'abbia parcheggiata sotto casa e se ne sia andato. La temperatura all'interno dell'auto cambierà “senza intoppi”. Cosa succede se un intruso tenta di entrare nell'auto? Ad esempio, potrà aprire la porta. La temperatura nell'auto inizierà a cambiare rapidamente man mano che l'aria nell'abitacolo inizierà a mescolarsi con l'aria ambiente. Penso che funzionerà.


Caratteristiche principali di GY-521 MPU6050

Giroscopio a 3 assi + modulo accelerometro a 3 assi GY-521 su chip MPU-6050. Consente di determinare la posizione e il movimento di un oggetto nello spazio, la velocità angolare durante la rotazione. Ha anche un sensore di temperatura integrato. Viene utilizzato in vari elicotteri e modelli di aerei; è anche possibile assemblare un sistema di cattura del movimento basato su questi sensori.

Chip-MPU-6050
Tensione di alimentazione - da 3,5 V a 6 V (CC);
Gamma giroscopio: ±250 500 1000 2000°/s
Gamma dell'accelerometro: ±2±4±8±16g
Interfaccia di comunicazione - I2C
Dimensioni: 15x20 mm.
Peso: 5 g


Si adatta!

Anche un sensore di vibrazione tornerà utile. All'improvviso tentano di aprire l'auto con la “forza bruta”, oppure nel parcheggio un'altra macchina colpisce la tua macchina. Prendiamo il sensore di vibrazione SW-420 (regolabile).


Caratteristiche principali dell'SW-420

Tensione di alimentazione - 3,3 - 5 V
Segnale di uscita: digitale alto/basso (normalmente chiuso)
Sensore utilizzato: SW-420
Il comparatore utilizzato è LM393
Dimensioni: 32x14 mm
Inoltre: è presente un resistore di regolazione.


Si adatta!

Avvitare il modulo della scheda di memoria SD. Scriveremo anche un file di registro.


Caratteristiche principali del modulo della scheda di memoria SD

Il modulo consente di memorizzare, leggere e scrivere su una scheda SD i dati necessari per il funzionamento di un dispositivo basato su un microcontrollore. L'utilizzo del dispositivo è rilevante quando si archiviano file da decine di megabyte a due gigabyte. La scheda contiene un contenitore per la scheda SD, uno stabilizzatore di potenza della scheda e un connettore per l'interfaccia e le linee di alimentazione. Se devi lavorare con audio, video o altri dati su larga scala, ad esempio per registrare eventi, dati di sensori o memorizzare informazioni sul server web, il modulo della scheda di memoria SD per Arduino consentirà di utilizzare una scheda SD per questi scopi. Utilizzando il modulo, puoi studiare le funzionalità della scheda SD.
Tensione di alimentazione: 5 o 3,3 V
Capacità di memoria della scheda SD: fino a 2 GB
Dimensioni: 46 x 30 mm


Si adatta!

E aggiungiamo un servoazionamento; quando i sensori vengono attivati, il servoazionamento con il videoregistratore girerà e girerà un video dell'incidente. Prendiamo il servoazionamento MG996R.


Caratteristiche principali del servoazionamento MG996R

Stabile e protezione affidabile da danni
- Azionamento in metallo
- Cuscinetto a doppia corona di sfere
- Lunghezza filo 300 mm
- Dimensioni 40x19x43 mm
- Peso 55 g
- Angolo di rotazione: 120 gradi.
- Velocità operativa: 0,17 sec/60 gradi (4,8 V senza carico)
- Velocità operativa: 0,13 sec/60 gradi (6 V senza carico)
- Coppia di spunto: 9,4 kg/cm con alimentazione a 4,8 V
- Coppia di spunto: 11kg/cm con alimentazione 6V
- Voltaggio operativo: 4,8 - 7,2 V
- Tutte le parti della trasmissione sono in metallo


Si adatta!

Raccogliamo

Su Google è disponibile un numero enorme di articoli sulla connessione di ciascun sensore. E non ho voglia di inventare nuove biciclette, quindi lascerò collegamenti a opzioni semplici e funzionanti.

Buon pomeriggio Ancora una volta una multi-recensione di componenti elettronici cinesi, come al solito un po' di tutto, cercherò di essere breve, ma funzionerà? Quindi, incontra il sistema di allarme GSM che costa fino a 700 ₽. Interessante? Per favore usa "taglia"!

Iniziamo! Prima di iniziare consiglio di dare un'occhiata a questo, meno componenti e maggiore autonomia. Quindi le “specifiche tecniche”, i requisiti fondamentali per la segnalazione:

1) Notifica quando i sensori vengono attivati.
2) In caso di interruzione di corrente, deve essere garantita una certa autonomia.
3) Gestione allarmi tramite SMS e chiamate.

Poiché il processo di creazione dell'allarme ha richiesto diversi mesi e alcuni venditori non vendono più i componenti acquistati da loro, i collegamenti verranno aggiornati ai prodotti di altri venditori che hanno il numero massimo o vicino al numero massimo di vendite di prodotti E miglior prezzo. I prezzi nella recensione sono aggiornati alla data in cui è stata scritta.

Elenco di ciò di cui avrai bisogno:

Elenco delle modifiche

GSM_03_12_2016-14-38.hex- corretto il funzionamento del dispositivo con il modem M590.
GSM_05_12_2016-13-45.hex- aggiunto il comando console memtest, ottimizzando l'utilizzo della RAM.
GSM_2016_12_06-15-43.hex- aggiunto l'output dei risultati dei comandi alla console, ottimizzazione della memoria. Occupato: 49% SRAM.
GSM_2016_12_07-10-59.hex- ora i numeri di telefono vengono aggiunti e rimossi correttamente. Occupato: 49% SRAM, 74% memoria flash.
GSM_2016_12_07-15-38.hex- aggiunta la possibilità di collegare un sensore di movimento, collegarlo al pin A0 (in in questo caso il pin A0 è utilizzato come digitale). Aggiunti comandi SMS PIRON, PIROff. Occupato: 48% SRAM, 76% memoria flash.
GSM_2016_12_08-13-53.hex- Ora, dopo aver eseguito con successo un comando che non invia un messaggio SMS in risposta, il dispositivo fa lampeggiare una volta il LED blu. Ora, dopo un'errata esecuzione di un comando che non invia un messaggio SMS in risposta, il dispositivo lampeggia due volte il LED blu. Ora, dopo aver inizializzato i parametri del dispositivo, se è abilitata la modalità “silenzioso” (SendSms = 0), il dispositivo lampeggia frequentemente il LED blu per 2 secondi. Risolto un bug per cui non sempre il numero veniva cancellato dalla memoria utilizzando il comando EliminaTelefono. Occupato: 48% SRAM, 78% memoria flash.
GSM_2016_12_11-09-12.hex- Aggiunti comandi da console AddPhone e DeletePhone, la sintassi è simile ai comandi SMS. Ottimizzazione della memoria. Occupato: 43% SRAM, 79% memoria flash.
GSM_2017_01_03-22-51.hex- È stato implementato il supporto per espansori di porte I/O simili sul chip PCF8574, per il collegamento di ulteriori 8 sensori, inclusi interruttori reed. Ricerca automatica degli indirizzi e configurazione automatica dei moduli. I nomi standard dei sensori e il livello logico della loro risposta vengono modificati utilizzando il comando ModificaSensore. Il contenuto dell'SMS di allarme per il sensore principale (pin D0) è stato modificato: “Allarme! Sensore principale! e sensore di movimento (pin A0) “Allarme! Sensore PIR! Aggiunti i comandi EditSensor e I2CScan. Occupato: 66% SRAM, 92% memoria flash.
GSM_2017_01_15-23-26.hex- Supporto per modem A6_Mini. Monitoraggio della presenza di alimentazione esterna (pin D7). Aggiunti comandi SMS WatchPowerOn, WatchPowerOff. Aggiunti comandi della console ListConfig, ListSensor. Ora il comando SMS EditSensor funziona correttamente. L'output delle informazioni di debug sul monitor della porta è stato leggermente ridotto. Occupato: 66% SRAM, 95% memoria Flash.
GSM_2017_01_16-23-54.hex- Ora nel messaggio di risposta al comando SMS “Info” viene riportato anche lo stato del sensore di movimento. Risolto un bug a causa del quale talvolta venivano inviati SMS di risposta vuoti. Ora il dispositivo avvisa non solo dello spegnimento, ma anche della ripresa dell'alimentazione esterna. Tutti i modem hanno iniziato a vibrare meno e ora il monitor della porta è un po' più pulito. Occupato: 66% SRAM, 95% memoria Flash.
GSM_2017_02_04-20-23.hex- Risolto l'errore "Guarda l'accensione". Ora, dopo il disinserimento, il “pin di allarme” è disattivato. Ora, dopo aver eliminato un numero, nella console vengono visualizzate le informazioni corrette. Forse risolto un bug a causa del quale talvolta venivano inviati SMS di risposta vuoti. Occupato: 66% SRAM, 90% memoria flash.
GSM_2017_02_14-00-03.hex- Ora i messaggi SMS vengono inviati per impostazione predefinita, il parametro SendSms è nuovamente uguale a 1. Ora, quando i contatti del sensore reed principale sono chiusi (chiusura della porta), il dispositivo lampeggia con un LED blu per 2 secondi, indicando il normale funzionamento del sensore. Occupato: 66% SRAM, 90% memoria flash.
GSM_2017_03_01-23-37.hex- Il comando WatchPowerOn è stato rimosso. Aggiunto comando da console WatchPowerOff, identico al comando SMS. Aggiunti i comandi WatchPowerOn1, WatchPowerOn2. WatchPowerOn1: il monitoraggio dell'alimentazione esterna è abilitato se il sistema di allarme è inserito, WatchPowerOn2: il monitoraggio dell'alimentazione esterna è sempre abilitato. A questo scopo viene implementata la funzione di inserimento e disinserimento tramite dispositivi esterni; L'allarme si attiva/disattiva quando appare sul pin A1(D15) alto livello+5V o al pin A2(D16) basso livello TERRA. Il pin A1(D15) è collegato a GND, il pin A2(D16) è collegato a +5V tramite resistori da 20 (10) kOhm. Aggiunti i comandi GuardButtonOn e GuardButtonOff. Ora, dopo l'inserimento, il LED rosso lampeggia finché non viene verificata l'integrità del circuito dell'interruttore reed principale. Se il circuito è intatto, il LED rosso si accende. Occupato: 66% SRAM, 95% memoria Flash.
GSM_2017_03_12-20-04.hex- Ora la console è diventata ancora più pulita, ma se la modalità di test "TestOn" è abilitata, nella console vengono visualizzate informazioni aggiuntive. Il bug "Inviati!" è stato corretto; le informazioni sull'invio dei messaggi ora vengono visualizzate correttamente nella console. Risolto il problema delle "false chiamate ripetute". Ora la richiesta del saldo dovrebbe funzionare correttamente su tutti i modem. Occupato: 67% SRAM, 95% memoria Flash.
GSM_2017_04_16-12-00.hex- Corretto. Ora i comandi Info e Money invieranno sempre un SMS di risposta. Il comando GuardButtonOn è stato sostituito dai comandi GuardButtonOn1 e GuardButtonOn2. Occupato: 67% SRAM, 99% memoria Flash.
GSM_2017_04_21-09-43.hex - utilizzo non consigliato, solo a scopo di test, grazie per l'identificazione degli errori :) - Ora il parametro sendsms non influisce sull'invio di messaggi SMS per il monitoraggio della rete elettrica. Aggiunto comando SMS DelayBeforeGuard responsabile del ritardo nell'inserimento, il valore non può superare i 255 secondi. Aggiunto il comando SMS DelayBeforeAlarm, che è responsabile del ritardo dell'invio delle notifiche e dell'attivazione del “pin di allarme” quando i sensori vengono attivati, il valore non può superare i 255 secondi; I comandi ClearSMS sono stati rimossi, i messaggi ora vengono eliminati automaticamente alla ricezione. Occupato: 68% SRAM, 100% memoria Flash.
GSM_2017_04_22-20-42.hex- Risolti diversi bug. I comandi ClearSMS sono nuovamente presenti nel firmware. Ottimizzazione della memoria. Occupato: 68% SRAM, 98% memoria flash.
GSM_2017_04_23-17-50.hex- Ora la richiesta del saldo dovrebbe funzionare correttamente su tutti i modem. L'inserimento e il disinserimento con dispositivi esterni ora funzionano correttamente. I messaggi di risposta SMS dal comando Info non devono essere vuoti. Ottimizzazione della memoria. Occupato: 68% SRAM, 98% memoria flash.
GSM_2017_04_24-13-22.hex- Ora invio comandi della console a Modulo GSM viene eseguito solo se la modalità test è abilitata. Ora non c'è più distinzione tra comandi SMS e comandi da console; tutti i comandi esistenti possono essere trasmessi sia via SMS che tramite console. Potrebbe essere stato corretto un bug con il comando Info. Ottimizzazione della memoria. Occupato: 68% SRAM, 94% memoria flash.
GSM_2017_04_25-20-54.hex- Risolto un bug in cui il comando ListConfig modificava il valore dell'ultimo evento. Ora, quando si immettono comandi tramite la console, non vengono inviati messaggi SMS non necessari. Potrebbe essere stato corretto un bug con il comando Info. Ottimizzazione della memoria. Occupato: 66% SRAM, 94% memoria Flash.
GSM_2017_04_30-12-57.hex- Abilitato temporaneamente l'output di informazioni aggiuntive sulla console durante l'invio di messaggi SMS e la generazione di una risposta al comando Info. Potrebbe essere stato corretto un bug con il comando Info. Ottimizzazione della memoria. Occupato: 66% SRAM, 92% memoria flash.
GSM_2017_05_06-11-52.hex- Risolto il problema con la funzione DelayBeforeAlarm. Occupato: 66% SRAM, 93% memoria flash.
GSM_2017_05_23-21-27.hex- L'output delle informazioni sulla console è stato leggermente modificato. Aggiunto supporto per moduli di espansione porte su PCF8574A con indirizzi da 0x38 a 0x3f inclusi. Risolto bug c. Ora il dispositivo si riavvia automaticamente dopo i comandi FullReset, ResetConfig, ResetPhone e se il comando MemTest viene eseguito con successo. Aggiunto il comando WatchPowerTime. Ora è possibile impostare l'orario dopo il quale verrà inviato un messaggio SMS indicante che la fonte di alimentazione esterna è spenta. Occupato: 67% SRAM, 94% memoria flash.
GSM_2017_05_26-20-22.hex- Corretta l'inizializzazione della memoria del sensore della scheda di espansione. La sintassi del comando AddPhone è stata modificata. Aggiunto il comando ModificaTelefonoMain. È stato modificato il principio di funzionamento del sistema di notifica; quando il sensore viene attivato, verranno inviati prima i messaggi SMS, dopodiché verranno effettuate le chiamate vocali. I messaggi SMS di allarme verranno inviati ai numeri telefonici contrassegnati dal segno “S” (SMS). Le chiamate vocali verranno effettuate ai numeri contrassegnati dal segno "R" (Squillo). I messaggi relativi allo spegnimento/accensione della fonte di alimentazione esterna verranno inviati ai numeri di telefono con il segno "P" (Alimentazione). Aggiunto il comando RingTime. È ora possibile impostare la durata di una chiamata vocale d'allarme; il parametro può avere un valore da 10 a 255 secondi; Il comando RingOn/RingOff ora abilita/disabilita globalmente gli avvisi di chiamata vocale. Aggiunto il comando ResetSensor. Occupato: 68% SRAM, 99% memoria Flash.
GSM_2017_06_02-17-43.hex- Ai comandi AddPhone e EditMainPhone è stato aggiunto il parametro “I” (Info), che è responsabile della notifica via SMS dell'inserimento o del disinserimento del dispositivo. Ora, dopo aver aggiunto il numero principale, il dispositivo si riavvia automaticamente. Ora puoi inserire numeri identici nella memoria del dispositivo. Quando si aggiungono il secondo e i successivi numeri duplicati, gli attributi “M”, “S”, “P” e “I” verranno automaticamente rimossi da essi. Questi numeri verranno utilizzati per chiamate vocali ripetute quando i sensori vengono attivati. È stato corretto un bug con output della console errato dopo l'esecuzione del comando AddPhone: ora le informazioni non vengono visualizzate automaticamente dopo l'aggiunta di un numero. Aggiunto comando Riavvia. Occupato: 69% SRAM, 99% memoria Flash.
GSM_2017_06_11-00-07.hex- Ancora una volta, quando i contatti del sensore reed principale sono chiusi (chiusura della porta), il dispositivo lampeggia con un LED blu per 2 secondi, indicando il normale funzionamento del sensore, ma non tiene conto se il dispositivo è armato o disarmato. I comandi RingOn/RingOff sono stati rimossi. Ora il dispositivo può essere disinserito durante una chiamata di allarme; ora vengono effettuate in background. Occupato: 69% SRAM, 99% memoria Flash.
GSM_2017_07_04-21-52.hex- Ora il comando Pausa non invia un SMS di risposta. I comandi TestOn e TestOff sono stati rimossi. L'attributo Management è stato rimosso da tutti i numeri. Occupato: 68% SRAM, 96% memoria flash.
GSM_2017_07_24-12-02.hex- Aggiunti i comandi ReedSwitchOn/ReedSwitchOff per il monitoraggio del sensore reed principale, ora può essere acceso/spento allo stesso modo di un sensore di movimento. Risolto un bug nel comando Informazioni. Nel firmware sono nuovamente presenti i comandi TestOn e TestOff. Occupato: 68% SRAM, 96% memoria flash.
GSM_2017_07_26-10-03.hex- Aggiunto comando ModemID. Il rilevamento automatico del modem viene eseguito solo se il valore di questo parametro è 0. Dopo aver impostato il valore del parametro su 0, il dispositivo viene riavviato automaticamente. Occupato: 68% SRAM, 98% memoria flash.
GSM_2017_08_03-22-03.hex- Ora l'allarme può controllare dispositivi esterni. Per il controllo viene utilizzata l'uscita analogica A3 (D17 - utilizzata come digitale). Il livello di uscita logica (+5 V o GND) può essere modificato dopo aver modificato il livello tramite il comando di configurazione, il dispositivo si riavvierà automaticamente; La durata del segnale di controllo del dispositivo esterno può essere modificata. Aggiunti i comandi ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Alcuni cambiamenti nella logica dei comandi di controllo. Ottimizzazione della memoria. Occupato: 68% SRAM, 99% memoria Flash.
GSM_2017_08_10-12-17.hex- Sono stati rimossi i comandi SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff e tutto ciò che è ad essi connesso. Il comando DelayBeforeAlarm è stato sostituito con comandi estesi. Modificato l'output del comando Informazioni. L'output del comando ListConfig sulla console è stato ottimizzato. Ora qualsiasi sensore digitale con livelli di risposta alti o bassi, inclusi gli interruttori reed, può essere collegato ai pin D6 e A0. I pin D6 e A0 devono essere collegati a terra (GND) tramite una resistenza di 10 (20) kOhm. Se il sensore è impostato su un livello di risposta basso (abilitato in modalità interruttore reed), viene verificata l'integrità del circuito. Il livello di attivazione logico sugli ingressi D6 e A0 (+5 V o GND) può essere modificato dopo aver modificato il livello logico, il dispositivo si riavvierà automaticamente; Per ognuno dei sensori (principale, secondo, scheda di espansione PCF), quando attivato, è possibile impostare un proprio tempo, al termine del quale verrà effettuata una notifica (SMS e/o chiamata vocale). "Sensore PIR" è stato rinominato "Secondo sensore". Risolto il problema con il funzionamento della scheda di espansione, un errore a causa del quale il dispositivo avvisava sempre quando i sensori venivano attivati, indipendentemente dal fatto che il dispositivo fosse armato o meno. Ora è possibile selezionare una modalità operativa in cui il dispositivo può monitorare i sensori della scheda di espansione sia in modalità armata (GuardOn) che in modalità disabilitata (GuardOff). Aggiunti comandi PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFDelayBeforeAlarm. Occupato: 68% SRAM, 99% memoria Flash.

*Le versioni successive del firmware includono modifiche rispetto alle versioni precedenti.


Porte Arduino Nano v3 utilizzate

D4- uscita di un pin di “allarme”; quando il sensore viene attivato, su questo pin viene impostato un segnale di livello alto
D5- uscita inversa del pin “allarme”; quando il sensore viene attivato, su questo pin viene impostato un segnale di livello basso

D6- sensore reed. A partire dalla versione GSM_2017_08_10-12-17.hex, qualsiasi sensore digitale con livello di risposta alto o basso, compresi gli interruttori reed, può essere collegato al pin D6. Il pin D6 deve essere collegato a massa (GND) tramite una resistenza di 10 (20) kOhm.
D7- collegato a un partitore di tensione da una fonte di alimentazione esterna +5V. Braccio superiore 2,2 kOhm, braccio inferiore 3,3 kOhm.

Divisore di tensione


D8-Modem TX
D9-Modem RX

D10- LED rosso
D11- LED blu
D12-LED verde

Connessione periferica:
A0- Sensore di movimento . A partire dalla versione GSM_2017_08_10-12-17.hex, qualsiasi sensore digitale con livello di risposta alto o basso, compresi gli interruttori reed, può essere collegato al pin A0. Il pin A0 deve essere collegato a massa (GND) tramite una resistenza di 10 (20) kOhm.

A1- Ingresso per controllo esterno. L'allarme si attiva/disattiva quando all'ingresso appare un livello elevato di +5V.
A2- Ingresso inverso per controllo esterno. L'allarme si attiva/disattiva quando all'ingresso appare un livello GND basso.

A3- Uscita configurabile (+5 V o GND) per il controllo di dispositivi esterni. Quando viene ricevuto un comando di controllo, il valore su questa uscita cambia a seconda di quanto impostato per un determinato periodo di tempo.

A4-SDAI2C
A5-SLC I2C
, per il collegamento di ulteriori 8 sensori.


Comandi di controllo per firmware esadecimale

Attenzione! Squadre dedicate in grassetto possono essere eseguiti solo dal numero principale, poiché sono responsabili della configurazione del dispositivo. Altri comandi possono essere eseguiti da numeri con l'attributo “Gestione”.

SMS: i comandi di controllo non fanno distinzione tra maiuscole e minuscole:
Aggiungi telefono- Aggiungi un numero di telefono. In totale non è possibile aggiungere più di 9 numeri + 1 numero principale, che viene automaticamente salvato in memoria la prima volta che si chiama il dispositivo dopo averlo ripristinato alle impostazioni di fabbrica tramite comandi Ripristina telefono O Ripristino completo. Quelli. chi ha chiamato per primo l'apparecchio dopo averlo ripristinato alle impostazioni di fabbrica è il “padrone”, questo numero viene inserito nella prima cella di memoria e non può essere modificato o cancellato tramite SMS. Non è possibile sommare due numeri identici.
Comando di esempio:



Sintassi del comando:

Aggiungi telefono- squadra
: - delimitatore
5 - scrivi nella quinta cella di memoria
+71234567890 - numero di telefono
Fino alla versione GSM_2017_05_26-20-22.hex:
a - Parametro “Allarme” - i messaggi SMS verranno inviati ai numeri con questo parametro - messaggi sull'attivazione dell'allarme e messaggi sull'inserimento o disinserimento.
A partire dalla versione GSM_2017_05_26-20-22.hex:
m - Parametro “Gestione” - la gestione degli allarmi è abilitata
s - Parametro “SMS” - verrà inviato un messaggio SMS quando i sensori vengono attivati
r - Parametro “Squillo” - verrà effettuata una chiamata vocale quando i sensori vengono attivati
p - Parametro “Alimentazione” - verrà inviato un messaggio SMS quando l'alimentazione esterna viene accesa/spenta
i - Parametro “Info”: verrà inviato un messaggio SMS durante l'inserimento o il disinserimento
Se mancano i parametri “m”, “s”, “r”, “p”, “i”, il telefono rimane in memoria, ma non viene utilizzato in alcun modo.


Elimina telefono- Elimina il numero di telefono.
Comando di esempio:

Sintassi del comando:

Elimina telefono: comando
: - delimitatore
+71234567891 - numero di telefono


ModificaTelefonoPrincipale- Modificare i parametri “s”, “r”, “p”, “i” del telefono principale, questo numero è memorizzato nella prima cella di memoria.
Comando di esempio:

Sintassi del comando:

ModificaTelefonoPrincipale - comando
: - delimitatore
srpi - parametri


Numero saldo- Modifica del numero di richiesta del saldo ed elaborazione della lunghezza della risposta alla richiesta. Valore predefinito per Beeline: #100#L22.
Comando di esempio:

Sintassi del comando:

BalanceNum - comando
: - delimitatore
#103# - numero della richiesta di saldo
L24 - La lunghezza (len) della risposta inoltrata è di 24 caratteri, eliminiamo lo spam dalla richiesta di saldo.


Modifica sensore- Modificare il nome del sensore e il livello di risposta logica. Non possono esserci più di 8 sensori aggiuntivi in ​​totale. Dopo aver modificato i parametri, il dispositivo deve essere riavviato.
Comando di esempio:
Modifica Sensore:1+Datchik dvizheniya v koridore#h

Sintassi del comando:

Modifica sensore: comando
: - delimitatore
1 - scrivi nella prima cella di memoria
+ - separatore
Datchik dvizheniya v koridore - il nome del sensore non può superare i 36 caratteri, inclusi gli spazi.
#h - Segnale di livello logico alto dal sensore, al ricevimento del quale verrà attivato un allarme. Se manca "#h", l'allarme verrà attivato quando viene ricevuto un livello logico basso dal sensore.


Ora di dormire- Il tempo in cui la sveglia entra in modalità di sospensione quando riceve un SMS - il comando "Pausa" è indicato in minuti. Valore predefinito: 15, non può essere inferiore a 1 o superiore a 60.
Comando di esempio:

Sintassi del comando:

SleepTime - comando
: - delimitatore
20 - 20 minuti di “sonno”.


AlarmPinTime- Il tempo durante il quale il pin di allarme/inverso viene attivato/disattivato è indicato in secondi. Valore predefinito: 60, non può essere inferiore a 1 secondo e superiore a 43200 secondi (12 ore).
Comando di esempio:

Sintassi del comando:

AlarmPinTime - comando
: - delimitatore
30 - 30 secondi per attivare/disattivare il pin di allarme.


Ritardo prima della guardia- Tempo prima dell'inserimento del dispositivo, dopo aver ricevuto il comando corrispondente.
Comando di esempio:

Sintassi del comando:

DelayBeforeGuard - comando
: - delimitatore
25 - 25 secondi prima dell'inserimento


Ritardo prima dell'allarme- Il tempo dopo il quale verrà inviato un SMS di notifica di “allarme” se l'allarme non è stato disattivato durante questo periodo di tempo. Sostituiti da comandi estesi a partire dalla versione GSM_2017_08_10-12-17.hex
Comando di esempio:

Sintassi del comando:

Ritardo prima dell'allarme: comando
: - delimitatore
40 - 40 secondi prima di inviare una notifica di “allarme”.


GuardaPowerTime- Tempo in minuti dopo il quale verrà inviato un messaggio SMS indicante che l'alimentazione esterna è disattivata. Se l'alimentazione esterna viene ripristinata prima che sia trascorso il tempo impostato, il messaggio non verrà inviato.
Comando di esempio:

Sintassi del comando:

WatchPowerTime - comando
: - delimitatore
5 - 5 minuti prima dell'invio del messaggio SMS


RingTime- Durata di una chiamata vocale d'allarme, il parametro può avere un valore da 10 a 255 secondi.
Comando di esempio:

Sintassi del comando:

RingTime - comando
: - delimitatore
40 - 40 la durata della chiamata sarà di 40 secondi, trascorsi i quali verrà chiamato l'utente successivo.


ID modem- Installazione forzata del modello del modem utilizzato. Valori possibili: 0 - rilevamento automatico del modem, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Comando di esempio:

Sintassi del comando:

ModemID - comando
: - delimitatore
2 - Identificativo del modem.


ExtDeviceTime- Il numero di secondi in base ai quali cambierà il livello del segnale sull'uscita di controllo del dispositivo esterno.
Comando di esempio:

Sintassi del comando:

Comando ExtDeviceTime
: - delimitatore
5 - 5 secondi


ExtDeviceLevelLow- Il dispositivo esterno collegato all'uscita A3 è controllato da un livello di segnale basso (GND). L'uscita passerà per impostazione predefinita al livello alto di +5 V finché non verrà ricevuto un comando di controllo da un dispositivo esterno
ExtDeviceLevelAlto- Un dispositivo esterno collegato all'uscita A3 è controllato da un livello di segnale alto (+5 V). L'uscita verrà impostata automaticamente su GND basso finché non verrà ricevuto un comando di controllo del dispositivo esterno.

ResetSensore- ripristinare i sensori dell'espansore della porta

RipristinaConfig- ripristinare le impostazioni alle impostazioni di fabbrica

Ripristina telefono- cancellazione di tutti i numeri telefonici dalla memoria

Ripristino completo- ripristinare le impostazioni, eliminare tutti i numeri di telefono dalla memoria, ripristinare il valore predefinito del comando BalanceNum.

Suoneria- abilitare la notifica chiamando il numero “principale” registrato nella prima cella di memoria all'attivazione del sensore. Rimosso a partire dalla versione GSM_2017_06_11-00-07.hex
Riattaccare- disattivare la notifica squillando quando il sensore viene attivato. Rimosso a partire dalla versione GSM_2017_06_11-00-07.hex

SMSOn- abilitare la notifica SMS quando il sensore viene attivato. Rimosso a partire dalla versione GSM_2017_08_10-12-17.hex
SmsOff- disattivare la notifica SMS quando il sensore viene attivato. Rimosso a partire dalla versione GSM_2017_08_10-12-17.hex

PIRON- abilitare l'elaborazione del sensore di movimento
PIROff- disabilita l'elaborazione del sensore di movimento

ReedSwitchOn- abilitare l'elaborazione del sensore reed principale
ReedSwitchOff- disattivare l'elaborazione del sensore dell'interruttore reed principale

Guarda Accensione- abilitare il controllo dell'alimentazione esterna, verrà inviato un messaggio SMS sullo spegnimento dell'alimentazione esterna a condizione che il sistema di allarme sia inserito. Rimosso a partire dalla versione GSM_2017_03_01-23-37.

GuardaAccensione1- abilitare il controllo dell'alimentazione esterna, verrà inviato un messaggio SMS sullo spegnimento dell'alimentazione esterna a condizione che il sistema di allarme sia inserito.
GuardaPowerOn2- abilitare il controllo dell'alimentazione esterna, verrà comunque inviato un messaggio SMS relativo allo spegnimento dell'alimentazione esterna

GuardaSpegnimento- disattivare il controllo dell'alimentazione esterna

Pulsante di guardia attivo- il controllo degli allarmi da dispositivi o pulsanti esterni è abilitato. Rimosso a partire dalla versione GSM_2017_04_16-12-00.
Pulsante di guardiaOn1- funzione impostazione o rimozione la protezione da dispositivi o pulsanti esterni è abilitata
TastoGuardAcceso2- funzione solo produzioni l'inserimento da dispositivi esterni o l'accensione del pulsante avviene tramite chiamata al dispositivo o comando SMS;
GuardButtonOff- il controllo dell'allarme da dispositivi o pulsanti esterni è disabilitato

PCForceOn- monitoraggio costante di un gruppo di tutti i sensori dei moduli di espansione
PCFForceOff- monitorare un gruppo di tutti i sensori dei moduli di espansione solo quando il dispositivo è inserito

Livello sensore principaleAlto- Una notifica di allarme verrà inviata quando un segnale di livello alto (+5 V) appare all'ingresso (D6) del sensore
Livello sensore principale basso- una notifica di allarme verrà inviata quando un segnale di basso livello (GND) appare all'ingresso (D6) del sensore
Livello sensore principale disattivato- l'elaborazione dell'ingresso del sensore (D6) è disabilitata

Secondo Livello Sensore Alto- Una notifica di allarme verrà inviata quando un segnale di livello alto (+5 V) appare all'ingresso (A0) del sensore
Secondo Livello Sensore Basso- Una notifica di allarme verrà inviata quando un segnale di basso livello (GND) appare all'ingresso (A0) del sensore
Secondo Livello Sensore Off- l'elaborazione dell'ingresso del sensore (A0) è disabilitata

Ritardo principale prima dell'allarme- il tempo trascorso il quale verrà inviato un SMS di notifica di “allarme” quando viene attivato il sensore principale (D6), se l'allarme non è stato disattivato durante questo periodo di tempo. La sintassi è la stessa del comando DelayBeforeAlarm.
Secondo ritardo prima dell'allarme- tempo dopo il quale verrà inviato un SMS di notifica di “allarme” quando viene attivato un sensore aggiuntivo (A0), se l'allarme non è stato disinserito durante questo periodo di tempo. La sintassi è la stessa del comando DelayBeforeAlarm.
Ritardo PCF prima dell'allarme- il tempo dopo il quale verrà inviato un SMS di notifica di “allarme” quando vengono attivati ​​i sensori della scheda di espansione (PCF8574), se l'allarme non è stato disattivato durante questo periodo di tempo. La sintassi è la stessa del comando DelayBeforeAlarm.

GuardOn - braccio
GuardOff: rimuove la protezione

Apri: comando di controllo del dispositivo esterno

Info - controlla lo stato, in risposta a questo messaggio verrà inviato un SMS con le informazioni su quale numero è stata attivata/disattivata la sicurezza

Pausa: mette in pausa il sistema per il tempo impostato dal comando sleeptime in minuti; il sistema non risponde ai trigger del sensore.

TestOn: la modalità test è attivata, il LED blu lampeggia.
TestOff: la modalità test è disattivata.

LedOff - spegne il LED di standby.
LedOn - accende il LED di standby.

Denaro - richiesta di saldo.

ClearSms - Cancella tutti gli sms dalla memoria

Comandi della console (fino alla versione GSM_2017_04_24-13-22.hex) - immessi nel monitor della porta IDE di Arduino:

AddPhone - simile al comando sms AddPhone

EliminaTelefono - simile al comando sms EliminaTelefono

EditSensor - simile al comando sms EditSensor

ListPhone: invia alla porta monitor un elenco di telefoni archiviati in memoria

ResetConfig - simile al comando sms ResetConfig

ResetPhone - simile al comando sms ResetPhone

FullReset - simile al comando SMS FullReset

ClearSms - simile al comando sms ClearSms

WatchPowerOn1 - simile al comando sms WatchPowerOn1
WatchPowerOn2 - simile al comando sms WatchPowerOn2
WatchPowerOff - simile al comando sms WatchPowerOff

GuardButtonOn - simile al comando sms GuardButtonOn. Rimosso a partire dalla versione GSM_2017_04_16-12-00
GuardButtonOn1 - simile al comando sms GuardButtonOn1
GuardButtonOn2 - simile al comando sms GuardButtonOn2
GuardButtonOff - simile al comando sms GuardButtonOff

Memtest: test della memoria non volatile del dispositivo; tutte le impostazioni del dispositivo verranno ripristinate, in modo simile al comando FullReset.

I2CScan: cerca e inizializza i dispositivi supportati sul bus I2C.

ListConfig: visualizza la configurazione corrente del dispositivo sul monitor della porta.

ListSensor: output sul monitor della porta della configurazione corrente del sensore.

AGGIORNAMENTO. Quando si utilizza un sensore di movimento, per evitare falsi positivi durante il funzionamento del modem, è necessario fra perni GND E A0 Arduino opporre resistenza, grazie compagno
ConsentiTelefono = (“70001234501”, “70001234502”, “70001234503”, “70001234504”, “70001234505”) - Numeri a cui è consentito gestire la sicurezza.
AlarmPhone = (“70001234501”, “70001234502”) - Numeri per l'invio di notifiche SMS quando il sensore viene attivato e notifiche di disinserimento o inserimento. Il primo numero della lista verrà chiamato all'attivazione del sensore se viene eseguito il comando RingOn per default, questa opzione è abilitata; Questo perché i messaggi SMS possono arrivare con un certo ritardo, ma la chiamata dovrebbe essere trasmessa immediatamente.

Se si riceve una chiamata da un numero autorizzato o un messaggio SMS con il comando GuardOn/GuardOff, allora, a seconda dello stato di sicurezza attuale, un messaggio SMS relativo all'inserimento o al disinserimento verrà inviato ai numeri elencati nell'array AlarmPhone e un Il messaggio SMS verrà inviato anche al numero da cui proviene la chiamata.

Quando il sensore viene attivato I messaggi SMS vengono inviati a tutti i numeri dell'array AlarmPhone (elenco) e viene effettuata una chiamata vocale al primo numero di questo array.

Indicazione luminosa:
Il LED si illumina di rosso: è armato.
Il LED si accende verde- disinserito, abilitato/disabilitato tramite comando SMS LedOn/LedOff.
Il LED lampeggia costantemente in blu - indica che tutto è in ordine con Arduino, la scheda non è congelata, viene utilizzata esclusivamente per il debug, viene accesa/spenta dal comando SMS TestOn/TestOff.
* Il codice contiene la funzione LedTest(), lampeggia con un led blu, è fatto solo per monitorare Arduino, lampeggia - significa che funziona, non lampeggia - è congelato. Non ho ancora riattaccato :)

Non rilevante!

Collegamento di 2 o più sensori per firmware aperto (si applica solo a questo firmware sketch_02_12_2016.ino)
Per collegare ulteriori sensori Reed utilizziamo i pin digitali liberi D2, D3, D5 o D7. Schema di collegamento con sensore aggiuntivo su D7.

Modifiche necessarie al firmware
... #define DoorPin 6 // Numero di ingresso collegato al sensore principale int8_t DoorState = 0; // Variabile per memorizzare lo stato del sensore principale int8_t DoorFlag = 1; // Variabile per memorizzare lo stato del sensore principale #define BackDoorPin 7 // Numero di input collegato al sensore aggiuntivo int8_t BackDoorState = 0; // Variabile per memorizzare lo stato del sensore aggiuntivo int8_t BackDoorFlag = 1; // Variabile per memorizzare lo stato del sensore aggiuntivo...
void setup() ( ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() ( // Leggi i valori dai sensori DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); // Elaborazione del sensore principale if (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; ritardo(100); if (LedOn == 1) digitalWrite(GLed, LOW); if (DoorState == HIGH && DoorFlag == 1)( DoorFlag = 0; ritardo(100); ) //Elaborazione sensore aggiuntivo if (BackDoorState == BASSO && BackDoorFlag == 0) ( BackDoorFlag = 1; ritardo(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); ) if (BackDoorState == ALTO && BackDoorFlag = = 1)( BackDoorFlag = 0; ritardo(100); ) ) ...

E un'altra cosa:
1. È meglio usare diodi classificati per una corrente di 2 A, poiché il modulo trasporta una corrente di 1 A e dobbiamo comunque alimentare Arduino e il modem con qualcosa. Questo esempio utilizza diodi 1N4007; se si guastano, sostituirli con diodi da 2 A.
2. Per il LED ho utilizzato tutte le resistenze da 20 kOhm, in modo da non illuminare di notte tutto il corridoio.
3. Ho anche posizionato una resistenza da 20 kOhm sul sensore reed tra il pin GND e il pin D6.

È tutto per ora. Grazie per l'attenzione! :)

Ho intenzione di acquistare +204 Aggiungi ai preferiti Mi è piaciuta la recensione +112 +243 gioielliere 15 febbraio 2012 alle 16:34

Allarme in camera su Arduino

  • Ripostiglio *

Buon pomeriggio.

Vorrei presentare alla vostra attenzione un sistema di allarme per qualsiasi locale: casa, negozio, ufficio, che, quando viene rilevata un'intrusione indesiderata, invia un'e-mail e chiama cellulare.

L'unicità del sistema di allarme: tutta la gestione degli allarmi viene effettuata tramite il sito web makridenkov.ru/signals, da qualsiasi dispositivo, Android, iPhone. L'hardware è fatto in casa, basato su Arduino, con un costo contenuto di ~$45. Il circuito e il programma hardware sono aperti al link. Facile ripetersi.

Schema generale di funzionamento dell'allarme.

Come si può vedere dalla figura, Arduino trasmette tutte le informazioni dai sensori al sito di controllo. Sul sito, a seconda dello stato “on” o “off” dell'allarme, si decide se attivare o meno l'allarme.

L'Arduino invia un segnale di "connettività" ogni 20 secondi. Ciò consente di informare il proprietario dei locali della situazione se l'aggressore ha spento l'elettricità o in qualche modo ha disabilitato il sistema di allarme, lo ha rotto o ha utilizzato qualsiasi mezzo di interferenza radio "jammer GSM". Quello. la notifica è completamente indipendente dallo stato del ferro nella stanza.

divertente

L'allarme può essere utilizzato come baby monitor.
Installa il sensore sopra il lettino del tuo bambino e recati con calma nel negozio più vicino. Se il bambino si sveglia e inizia a muoversi, il tuo cellulare squillerà.

Sul sito web di gestione degli allarmi viene creato un programma di movimento nei locali. Quello. Otteniamo un'immagine di quali percorsi e luoghi sono popolari. Per quello? Ad esempio, scopri quanto spesso i venditori del tuo negozio visitano la sala fumatori. Oppure, solo per divertimento, fai la domanda: cosa visita più spesso il tuo coniuge: un posto dove cucinare o un computer con Internet? Il programma di movimento risponde a queste domande.

Video dimostrazione del lavoro

Implementazione

È abbastanza semplice assemblare il ferro da solo. Costo circa $ 45.
Nel dettaglio, dove e cosa acquistare, segui il link, informazioni aggiornate.
Schema schematico in figura.

Totale

Spero che l'allarme ti aiuti a sentirti tranquillo per il tuo negozio e la tua casa.
Penso anche che sarebbe interessante e utile assemblare da soli un dispositivo del genere, come inizio per l'attività creativa sulla meravigliosa, comoda e semplice piattaforma Arduino. Anche se, secondo me, preferirei scrivere programmi per Arduino in Ruby piuttosto che in SI.

Vorrei dimostrare i dati che il sistema di allarme è stato in grado di raccogliere.
Il mio programma di viaggio.

Di solito, dal programma dei traslochi risulta chiaro che una stanza in un appartamento è sufficiente quando si vive da soli. Tuttavia, oggi, per qualche motivo, mi sono spostata per tutte le stanze.

È un’osservazione divertente, puoi vedere esattamente a che ora sei andato a lavorare. E usa questi dati come strumento per l'auto-miglioramento e la puntualità.

PS Foto del dispositivo finito e funzionante.

Questa è la fine della storia.
Ti auguro il meglio.

Tag: circuito, allarme, GSM, arduino, fatto in casa,

Questo progetto riguarda lo sviluppo ed il miglioramento di un sistema per prevenire/controllare eventuali tentativi di infiltrazione da parte di ladri. Il dispositivo di sicurezza sviluppato utilizza un sistema embedded (include un microcontrollore hardware che utilizza software open source e un modem GSM) basato sulla tecnologia GSM (Global System for Mobile Communications).

In casa è possibile installare un dispositivo di sicurezza. Sensore di interfaccia allarme antifurto collegato anche a un sistema di sicurezza basato su controller.
Quando viene effettuato un tentativo di penetrazione, il sistema invia un messaggio di avviso (ad esempio, un sms) al cellulare del proprietario o ad un qualunque cellulare preconfigurato per l'ulteriore elaborazione.

Il sistema di sicurezza è composto da un microcontrollore Arduino Uno e un modem SIM900A standard basato su GSM/GPRS. L'intero sistema può essere alimentato da qualsiasi fonte di alimentazione/batteria da 12V 2A.

Di seguito è riportato uno schema di un sistema di sicurezza basato su Arduino.

Il funzionamento del sistema è molto semplice e non necessita di spiegazioni. Quando il sistema viene alimentato, entra in modalità standby. Quando i pin del connettore J2 vengono cortocircuitati, viene inviato un messaggio di avviso preprogrammato al numero di cellulare richiesto. È possibile collegare qualsiasi rilevatore di intrusione (come una barriera fotoelettrica o un sensore di movimento) al connettore di ingresso J2. Da notare che un segnale attivo basso (L) sul pin 1 del connettore J2 attiverà l'antifurto.

Inoltre è stato aggiunto al sistema un dispositivo opzionale “chiamata-allarme”. Attiva una chiamata telefonica quando l'utente preme il pulsante S2 (o quando un'altra unità elettronica avvia un allarme). Dopo aver premuto il pulsante “chiamata” (S2), la chiamata può essere annullata premendo un altro pulsante S3 – il pulsante “fine”. Questa opzione può essere utilizzata per generare un allarme di “chiamata persa” in caso di intrusione.

Il circuito è molto flessibile, quindi può utilizzare qualsiasi modem SIM900A (e, ovviamente, la scheda Arduino Uno). Si prega di leggere attentamente la documentazione del modem prima di iniziare l'assemblaggio. Ciò renderà il processo di produzione del sistema più semplice e divertente.

Elenco dei radioelementi

Designazione Tipo Denominazione Quantità NotaNegozioIl mio blocco note
Scheda Arduino

ArduinoUno

1 Al blocco note
Modem GSM/GPRSSIM900A1 Al blocco note
IC1 Regolatore lineare

LM7805

1 Al blocco note
C1 100uF 25V1 Al blocco note
C2 Condensatore elettrolitico10uF 16V1 Al blocco note
R1 Resistore

1 kOhm

1 Al blocco note
LED1 Diodo ad emissione luminosa 1 Al blocco note
S1 PulsanteCon fissazione1

Il suo autore voleva realizzare un progetto fatto in casa in modo che fosse economico e wireless.
Questo prodotto fatto in casa utilizza Sensore PIR movimento e le informazioni vengono trasmesse utilizzando un modulo RF.

L'autore voleva utilizzare il modulo a infrarossi, ma poiché ha una portata limitata, in più può funzionare soltanto linea di vista con il ricevitore, quindi ha scelto un modulo RF con il quale può raggiungere una portata di circa 100 metri.


Per rendere più comoda ai visitatori la visione del montaggio dell'allarme, ho deciso di dividere l'articolo in 5 fasi:
Fase 1: creazione di un trasmettitore.
Fase 2: crea un ricevitore.
Fase 3: installazione del software.
Fase 4: Test dei moduli assemblati.
Fase 5: assemblaggio del case e installazione del modulo al suo interno.

Tutto ciò di cui l'autore aveva bisogno era:
- 2 schede ARDUINO UNO/ARDUINO MINI/ARDUINO NANO per ricevitore e trasmettitore;
- Modulo ricetrasmettitore RF (433 MHZ);
- Sensore di movimento PIR;
- Batterie da 9 V (2 pezzi) e relativi connettori;
- Cicalino;
- Diodo ad emissione luminosa;
- Resistore con una resistenza di 220 Ohm;
- Tagliere per il pane;
- Ponticelli/fili/ponticelli;
- Scheda di circuito;
- Connettori pin scheda-scheda;
- Interruttori;
- Alloggiamenti per ricevitore e trasmettitore;
- Carta colorata;
- Nastro di montaggio;
- Bisturi impaginatori;
- Pistola per colla a caldo;
- Saldatore;
- Utensile tagliafili/spelafili;
- Forbici in metallo.


Fase 1.
Iniziamo a creare il trasmettitore.
Di seguito è riportato un diagramma di come funziona il sensore di movimento.


Il trasmettitore stesso è costituito da:
- Sensore di movimento;
- Schede Arduino;
- Modulo trasmettitore.


Il sensore stesso ha tre uscite:
-CCV;
-TERRA;
- FUORI.

Successivamente, ho controllato il funzionamento del sensore


Attenzione!!!
Prima di scaricare il firmware, l'autore si assicura che la scheda corrente e la porta seriale siano impostate correttamente nelle impostazioni dell'IDE Arduino. Poi ho caricato lo schizzo:

Successivamente, quando il sensore di movimento rileva un movimento davanti a te, il LED si accenderà e potrai anche vedere un messaggio corrispondente sul monitor.


Secondo lo schema qui sotto.


Il trasmettitore ha 3 pin (VCC, GND e Data), collegali:
- Uscita VCC > 5V sulla scheda;
-TERRA >TERRA ;
- Dati > 12 pin sulla scheda.

Fase 2.


Il ricevitore stesso è composto da:
- Modulo ricevitore RF;
- Schede Arduino
- Cicalino (altoparlante).

Circuito ricevitore:


Il ricevitore, come il trasmettitore, ha 3 pin (VCC, GND e Data), collegali:
- Uscita VCC > 5V sulla scheda;
-TERRA >TERRA ;
- Dati > 12 pin sulla scheda.


Fase 3.
L'autore ha scelto le librerie di file come base per l'intero firmware. L'ho scaricato e inserito nella cartella delle librerie Arduino.

Software del trasmettitore.
Prima di caricare il codice firmware sulla scheda, l'autore ha impostato i seguenti parametri IDE:
- Scheda -> Arduino Nano (o la scheda che stai utilizzando);
- Porta seriale ->


Dopo aver impostato i parametri, l'autore ha scaricato il file del firmware Wireless_tx e lo ha caricato sulla scheda:

Software del ricevitore
L'autore ripete gli stessi passaggi per la scheda ricevente:
- Scheda -> Arduino UNO (o la scheda che stai utilizzando);
- Porta Seriale -> COM XX (verifica la porta com a cui è collegata la tua scheda).



Dopo che l'autore ha impostato i parametri, scarica il file wireless_rx e lo carica nella scheda:


Successivamente, utilizzando un programma scaricabile, l'autore ha generato un suono per il cicalino.

Fase 4.
Successivamente, dopo aver scaricato il software, l'autore ha deciso di verificare se tutto funzionava correttamente. L'autore ha collegato gli alimentatori e ha passato la mano davanti al sensore e il cicalino ha iniziato a funzionare, il che significa che tutto funziona come dovrebbe.


Fase 5.
Assemblaggio finale del trasmettitore
Innanzitutto, l'autore ha tagliato i cavi sporgenti dal ricevitore, dal trasmettitore, dalle schede Arduino, ecc.


Successivamente, ho collegato la scheda Arduino al sensore di movimento e al trasmettitore RF utilizzando i ponticelli.


Successivamente, l'autore ha iniziato a realizzare un alloggiamento per il trasmettitore.

Per prima cosa ha ritagliato un foro per l'interruttore e un foro rotondo per il sensore di movimento, quindi l'ha incollato alla carrozzeria.




Quindi l'autore ha arrotolato un foglio di carta colorata e lo ha incollato sulla copertina dell'immagine per nascondere le parti interne del prodotto fatto in casa.


Successivamente, l'autore ha iniziato a inserire il riempimento elettronico all'interno della custodia utilizzando nastro biadesivo.



Assemblaggio finale del ricevitore
L'autore ha deciso di collegare la scheda Arduino al circuito con un elastico e installeremo anche un ricevitore RF.


Successivamente, l'autore taglia due fori sull'altra custodia, uno per il cicalino, l'altro per l'interruttore.


E lo attacca.