Alarm bastl

 

 

Hobby alarm "bastl"

 Předložený návrh je edukačním příkladem využití Arduina pro daný účel a není určen k praktickému využití. Byl by funkční jen tehdy, kdyby narušení, v daném případě rozepnutí spínače, trvalo nepřetržitě cca 1 minutu. Pokud by tento čas byl kratší, alarm by tzv. "nezabral". Předložený návrh by bylo možné použít v praxi po doplnění skeče dalšími algoritmy. Alarm určený k praktickému použití je uveden v kapitole "Alarm s odposlechem".

 Princip příkladu je založen na spínačích zapojených do jedné uzavřené smyčky. Počet spínačů může být libovolný. Rozpojení kteréhokoliv spínače po dobu cca 1 minuty spustí vyzvánění mobilního telefonu a odeslání varovné SMS. Systém lze doplnit sirénou.

 

 

Byla použita deska NANO a GSM volač SIM800L v zapojení podle "GSM modul". Spínače (mohou být mechanické nebo magnetické) jsou zapojeny v sérii na pin D2 desky proti GND. V klidu (např. zavřené dveře) jsou spínače sepnuté.  Na pinu D2 je iniciována logická 1 příkazem "IMPUT_PULLUP", která se vyruší sepnutím všech spínačů (zavřením dveří a oken ... ). Po rozepnutí jednoho ze spínačů (např. otevření dveří) dojde v programu ke zpracování logické "1" z pinu D2.  

Do IDE nahrajeme skeč "Alarm_bastl":

 

Skeč "Alarm_bastl.ino" :

//ZADEJ TELEFONNÍ ČÍSLO VYZVANĚNÍ
String telefon = "ATD+420xxxxxxxxx;\r";

//ZADEJ TELEFONNÍ ČÍSLOSLO SMSky
String SMScislo = "AT+CMGS=\"+420xxxxxxxxx\"\r\n";

//ZADEJ TEXT SMSy 
String SMS = "Naruseny objekt";

//************************************************

int T = 1;                           	//deklarace proměnné T a přiřazení hodnoty 1      

void setup()                              
{pinMode(2,INPUT_PULLUP);        	//aktivace digitálního vstupů 2       
Serial.begin(9600);}                      

void loop()                               
{if (T == digitalRead(2))            	//příkaz reaguje na pin č.2, jestliže bude na pinu 2 hodnota HIGH (rozpojeno od GND),spustí se další příkazy    
{delay (100);
Serial.println(telefon);            	//vytáčí se číslo vyzvánění   
delay (15000);                          //vyzvání 15 sekund, prozvoní asi 4x   
Serial.println("ATH");                  //vyzvánění se zastaví  
delay (10000);
Serial.print("AT+CMGF=1\r\n");       	//nastaví se SMS textový režim     
delay (10000);
Serial.print(SMScislo);               	//odešle se tel. číslo SMSky    
delay (10000);
Serial.println(SMS);                    //odešle se text SMSky "Narusený objekt"   
delay (10000);
Serial.print((char)26);                 //SMS režim se ukončí   
delay (3600000);}}                      //program se zastaví na 60 min.    
      

Požadované telefonní číslo zapíšeme na pozice "x" a skeč nahrajeme do desky NANO. Při sepnutých magnetických kontaktech je alarm v klidovém režimu. Při rozepnutí smyčky dojde k prozvonění cca 4x a odeslání SMS. Následně se program zastaví na 1 hodinu. Čas "čekání" lze upravit na posledním řádku programu, viz. "delay(3600000)" na max. 4 029 409 670 295 (49 dnů).  Po uplynutí "času čekání" se smyčka spustí znovu a pokud budou spínače rozepnuté opět prozvoní a odešle SMS, atd. Čas od rozepnutí smyčky do obdržení SMS činí více než 40 sekund díky pauzám mezi příkazy (časy pro operátora ke zpracování dat).

 

 Celkový klidový odběr činil cca 40 mA (NANO 22mA, SIM800L 13mA, stabilizátor  6mA). Pro pokrytí spotřeby a dobíjení baterie lze použít síťovým adaptérem 220V, 0.1 mA.  Baterie na snímku, tj. olověný akumulátor ZP1212 (12V, 1.2 Ah) udrží v případě výpadku 220V systém v klidovém režimu cca 30 hodin. Pokud zvolíme vhodný síťový adaptér 220V s nízkým klidovým odběrem, může být stálá spotřeba el. energie cca 2W. 

Předložený návrh nesplňuje praktické požadavky na alarm (okamžité zachycení stavu narušení), je názorným edukačním příkladem využití Arduina pro daný účel.  

 

Leden 2020

 

Home

 

Arby

arduinohobby@email.cz