piątek, 20 marca 2020

Czujka z alarmem i powiadomieniem na nieograniczony zasięg

Komu z nas nie przydałby się porządny domowy alarm z powiadomieniem nas gdziekolwiek się znajdujemy o tym że ktoś się porusza po naszych pomieszczeniach? Zazwyczaj takie systemy kosztują setki a nawet tysiące złotych, tylko po co tyle wydawać jak za niecałe kilkadziesiąt złotych możemy zbudować sobie całkiem porządnej jakości system alarmowy z powiadomieniem SMS na nasz telefon?


Poniższy projekt będzie nas kosztował co najwyżej kilkadziesiąt złotych a będzie działał tak jak inne profesjonalne!









Co potrzebujemy?

Oczywiście to co w naszych pozostałych projektach czyli standardowo:

  • moduł ATMEGA 2560 (klon)

Program do wgrania:

Pamiętaj aby zmienić dwa wpisy z twoim numerem telefonu:
+48TWÓJ-NUMER-TELEFONU
a jeśli masz kartę SIM z kodem PIN to wpisz go także

#include <SoftwareSerial.h>
//piny na których jest podłączona komunikacja z modułem GSM  //rx - tx   (TX GSM DO 11 / RX GSM DO 12)
SoftwareSerial gsm800(11,12);

void setup() {
 Serial.begin(9600);
 //definiujemy PIN, gdzie podłączamy czuję ruchu - nie wszystkie złącza potrafią wybudzić urządzenie
 pinMode(2, INPUT);
 //definiujemy przerwanie, obsługujące alarm
 attachInterrupt(digitalPinToInterrupt(2),alarm,RISING);
 while(!Serial);
 gsm800.begin(9600);
 delay(100);
 // Jeśli używasz blokady karty SIM, poniższa komenda ją odblokuje AT+CPIN=\"xxxx\"")
 // gsm800.println("AT+CPIN=\"\"");
 // delay(1000);
 gsm800.write("AT+CMGF=1\r\n");
 delay(100);
 //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłaś SMS
 gsm800.write("AT+CMGS=\"+48TWÓJ-NUMER-TELEFONU\"\r\n");
 delay(100);
 //treść wiadomości podczas startu systemu, ma na celu zweryfikowanie czy całość działa poprawnie
 gsm800.write("START SYSTEMU");
 delay(100);
 gsm800.write((char)26);
 delay(100);
}
void alarm(){
 gsm800.write("AT+CMGF=1\r\n");
 delay(1000);
 //wpisujemy numer telefonu pod który nasze urządzenie ma wysyłać SMS
 gsm800.write("AT+CMGS=\"+48TWÓJ-NUMER-TELEFONU\"\r\n");
 delay(1000);
 //treść wiadomości w przypadku alarmu
 gsm800.write("ALARM");
 delay(1000);
 gsm800.write((char)26);
 delay(1000);
}
void loop() {
 delay(1000);
}










Gotowy efekt:








Możemy sobie także rozbudować nasz system o zdalny monitoring, a więc nie tylko powiadomienie SMS o wykryciu ruchu w naszym domu ale również możemy od razu sobie zrobić podgląd z kamery zdalnej, odnośnie tego pomysłu polecam ten wątek:


Zdalny monitoring ze smartfona oraz kolejny przykład beznadziejności elektrody czyli jak nie szukać pomocy na jednym z największych i najstarszych forów w internecie












Whatsapp Button works on Mobile Device only

Wpisz czego szukasz i kliknij w ikonkę lupy