www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Gsm Attiny85 alarm

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Zbirka projektov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Milek
Član
Član



Pridružen-a: Ned 02 Avg 2015 13:50
Prispevkov: 107
Aktiv.: 0.89
Kraj: Maribor

PrispevekObjavljeno: Tor Jul 01, 2025 2:50 pm    Naslov sporočila:  Gsm Attiny85 alarm Odgovori s citatom

Gsm Attiny85 alarm

Ko smo dalj časa odsotni si lahko iz modulov, ki jih imamo doma izdelamo preprost alarm, ki nas pokliče v primeru vloma. Izdelamo ga lahko z enostavnim uC Attiny serije 45 ali 85 in PIR senzorja. Programiramo ga preko ISP programatorja, v Arduino okolju.
Uporabljene so komponente/moduli (glej shemo):
-Attiny 45/84 uC
-PIR sensor HC-SR501
-SIM800L modul
-npn transistorček
-upori,dioda
-stikalo
-2 pin konektor
-5V adapter

Vezje lahko enostavno po shemi sestavimo na testno ploščo, kot vidite na sliki. Ko prvič štartamo GSM kartico jo predhodno nastavimo na GSM aparatu, brez pin-a in pošljemo sms operaterju potrebno kodo ob prvi prijavi na omrežje. Sam sem uporabil BOB, ker prednaročniška sim kartica ima rok trajanja leto dni do prve polnitve. Torej leto dni nam je ni treba polniti. Na voljo imamo 100 enot minute/sms-e.
Na gsm modulu dodamo 1000uF elko blizu uC,zaradi velike tokovne porabe gsm modula ob prijavi na omrežje
Kako deluje:

Delovanje je zelo enostavno.
Ko PIR zazna IR energijo telesa, torej gibanje v prostoru, pokliče na gsm številko, ki smo jo vpisali v program. Dodamo lahko več številk v primeru, če želimo, da alarm pokliče na več številk. Ko dobimo klic ga prekineno (rdeča tipka). Torej ne porabimo enot s kartice, gsm modul dobi signal zasedeno, s tem prekine klicanje. Več o delovanju gsm modula na linku.
Vezje je preko transistorja in vklopi minus pol (na PB4) oziroma maso, zaradi motenj se je izkazalo kot najboljša rešitev. Če bi se pojavile motnje zaradi gsm modula, ovijemo PIR senzor v kovinski oklep (Faradeyeva kletka).
Na PIR senzorju nastavimo občutljivost in čas, občutljivost(sensivity) na polovico, to je cca 4-5m razdalje, čas(time) pa na 1/4, potenciometri se vrtijo v smeri urinega kazalca. Kasneje lahko to spremenimo, glede na potrebe, kdaj se naj PIR senzor aktivira. Čas nastavimo na min, ker je dovolj samo sekunda ali dve za aktivacijo. Ko prispemo v prostor imamo 10 sekund časa, da alarm izklopimo. Aktivira se šele po nekaj sekundah (čas si poljubno nastavimo). Če radi programiramo, lahko uporabimo sms string za vklop in izklop alarma. Npr; on ali off ali pa 1 oziroma 0.

tukaj še program:
Koda:

#include <SoftwareSerial.h>

//Kreirajmo software serial povezavo za komunikacijo s SIM800L
SoftwareSerial mySerial(3, 4); //RX-PB3-pin2, TX-PB4-pin3....SIM800L Tx & Rx(logicni nivo 3.3V) povezava na attiny #2 & #3

void setup()
{
  pinMode(1, INPUT_PULLUP);
  Serial.begin(9600); //Zazeni serijsko komunikacijo z Arduino IDE (Serial Monitor)
  mySerial.begin(9600);//Zazeni serijsko komunikacijo z Arduino(attiny85) in SIM800L
  Serial.println("Initializing...");
  delay(1000);

  mySerial.println("AT"); //test GSM modula, vrne OK
  updateSerial();
  mySerial.println("AT+CSQ"); //Signal quality test, vrednost v rangu  0-31 , 31 je najboljÅ¡e
  updateSerial();
  mySerial.println("AT+CCID"); //Prebere SIM in potrdi,da je kartica vstavljena
  updateSerial();
  mySerial.println("AT+CREG?"); //Preverba registracije na omrežje
  updateSerial();

/*delay(3000); // počakaj da se GSM modem poveže na omrežje
  mySerial.println("AT+CMGF=1"); // Konfiguriraj TEXT mode
  updateSerial();
  mySerial.println("AT+CMGS=\"+38641814xxx\"");//vstavi omrežno stevilko drzave in svojo gsm stevilko za sprejem sporocila sms
  updateSerial();
  mySerial.print("Ponovni zagon"); //vsebina texta
  updateSerial();
  mySerial.write(26);
*/ 
}

void loop()
{
  if(digitalRead(1) == LOW) { //nizki logicni nivo z PIR senzorja
    Call();
  }
}

void Call()
{
  delay(10000); // imamo 10 sekund časa,da alarm izklopimo
  mySerial.println("ATD+ +38641814xxx;"); //  vstavi omrežno stevilko drzave in svojo gsm stevilko za klic
  updateSerial();
  delay(20000); // pocakaj 20 sekund...
  mySerial.println("ATH"); //odlozi
  updateSerial();
}

void updateSerial()
{
  delay(500);
  while (Serial.available())
  {
    mySerial.write(Serial.read());//Posredovanje serijskega signala v serijski sofware port
  }
  while(mySerial.available())
  {
    Serial.write(mySerial.read());//Posredovanje serijskega signala v serijski sofware port
  }
}

več o senzorju na strani:

https://lastminuteengineers.com/pir-sensor-arduino-tutorial/

o SIM800L gsm modulu v arduinu:

https://lastminuteengineers.com/sim800l-gsm-module-arduino-tutorial/



SIM800L-alarm.jpg
 Opis:
 Velikost datoteke:  79.8 KB
 Pogledana:  7 krat

SIM800L-alarm.jpg



DSC07521.JPG
 Opis:
 Velikost datoteke:  75.27 KB
 Pogledana:  2 krat

DSC07521.JPG



DSC07524.JPG
 Opis:
 Velikost datoteke:  101.24 KB
 Pogledana:  0 krat

DSC07524.JPG


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Zbirka projektov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 4 dni


Powered by phpBB © 2001, 2005 phpBB Group