Projekt Arduino gsm signalizacije. GSM kućni sigurnosni sustav temeljen na Arduinu. Ključne značajke servo MG996R

Infracrveni (IR) senzori obično se koriste za mjerenje udaljenosti, ali se mogu koristiti i za otkrivanje objekata. Spajanjem nekoliko IR senzora na Arduino možemo stvarati protuprovalni alarm.

Pregled

Infracrveni (IR) senzori obično se koriste za mjerenje udaljenosti, ali se mogu koristiti i za otkrivanje objekata. IR senzori se sastoje od infracrvenog odašiljača i infracrvenog prijemnika. Odašiljač emitira impulse infracrveno zračenje dok prijemnik detektira bilo kakve refleksije. Ako prijemnik detektira refleksiju, to znači da postoji neki objekt ispred senzora na nekoj udaljenosti. Ako nema odraza, nema ni objekta.

IR senzor koji ćemo koristiti u ovom projektu detektira refleksije unutar određenog raspona. Ovi senzori imaju mali linearni uređaj nabojno spregnut (CCD), koji detektira kut pod kojim se IR zračenje vraća na senzor. Kao što je prikazano na donjoj slici, senzor odašilje infracrveni puls u prostor, a kada se objekt pojavi ispred senzora, puls se reflektira natrag na senzor pod kutom proporcionalnim udaljenosti između objekta i senzora. Prijemnik senzora detektira i šalje kut, a pomoću te vrijednosti možete izračunati udaljenost.

Spajanjem nekoliko IR senzora na Arduino možemo napraviti jednostavan protuprovalni alarm. Ugradit ćemo senzore dovratnik, a pravilnim usklađivanjem senzora možemo detektirati kada netko prolazi kroz vrata. Kada se to dogodi, izlaz IR senzora će se promijeniti, a mi ćemo otkriti tu promjenu stalnim očitavanjem izlaza senzora iz Arduino. U ovom primjeru, znamo da objekt prolazi kroz vrata kada izlaz IR senzora prijeđe 400. Kada se to dogodi, Arduino će aktivirati alarm. Za resetiranje alarma korisnik može pritisnuti gumb.

Pribor

  • 2 x IR senzor udaljenosti;
  • 1 x Arduino Mega 2560
  • 1 x zujalica;
  • 1 x gumb;
  • 1 x 470 ohm otpornik;
  • 1 x NPN tranzistor;
  • skakači.

Dijagram povezivanja

Krug za ovaj projekt prikazan je na donjoj slici. Izlazi dvaju IR senzora spojeni su na pinove A0 i A1. Druga dva pina spojena su na 5V i GND pinove. Zujalica od 12 volti spojena je na pin 3 preko tranzistora, a gumb koji se koristi za onemogućavanje alarma spojen je na pin 4.


Fotografija ispod pokazuje kako smo zalijepili senzore na okvir vrata za ovaj eksperiment. Naravno, u slučaju stalnog korištenja, senzore biste ugradili drugačije.


Montaža

  1. Spojite 5V i GND pinove Arduino ploče na napajanje i GND pinove senzora. Također im možete napajati vanjsko napajanje.
  2. Spojite izlazne pinove senzora na pinove A0 i A1 Arduino ploče.
  3. Spojite pin 3 Arduina na bazu tranzistora preko 1K otpornika.
  4. Primijenite 12V na kolektor tranzistora.
  5. Spojite pozitivni vod zujalice od 12 V na odašiljač, a negativni vod na tračnicu za uzemljenje.
  6. Spojite pin 4 na pin 5V preko gumba. Iz sigurnosnih razloga, uvijek je najbolje to učiniti preko dodatnog malog otpornika kako bi se izbjegao visok protok struje.
  7. Spojite Arduino ploču na računalo putem USB kabela i prenesite program na mikrokontroler koristeći Arduino IDE.
  8. Uključite Arduino ploču pomoću napajanja, baterije ili USB kabela.

Kod

const int zujalica=3; // pin 3 je izlaz za zujalicu const int pushbutton=4; // pin 4 je gumb input void setup() ( pinMode(buzzer,OUTPUT); // postavi pin 3 na izlaz pinMode(pushbutton,INPUT); // postavi pin 4 na ulaz) void loop() ( // čitaj izlaz oba senzora i usporedite rezultat s vrijednošću praga int sensor1_value = analogRead(A0); int sensor2_value = analogRead(A1); if (sensor1_value > 400 || sensor2_value > 400) ( while(true) ( ​​​​digitalWrite( buzzer,HIGH) ; // omogući alarm if(digitalRead(pushbutton) == HIGH) break; ) ) else ( digitalWrite(buzzer,LOW); // onemogući alarm ) )

Video

Proljeće, kao što znate, prate svakakva pogoršanja, a sada je glavno "pogoršanje" ispuzalo iz svojih rupa na ulicu kako bi sebi prisvojilo ono što mu ne pripada. To znači da je tema zaštite vlastite imovine aktualnija nego ikad.
Stranica već ima nekoliko recenzija o domaćim -. Funkcionalni su, naravno, ali svi imaju zajednička značajka- ovisno o utičnici. Ako to nije problem s nekretninom gdje je struja već priključena, što je onda s nekretninom gdje je utičnica daleko ili je okolina potpuno bez napona? Odlučio sam ići drugim putem - sastaviti dugovječan, što jednostavniji i neovisan o električnoj mreži uređaj, koji će cijelo vrijeme spavati, a kada pljačkaši uđu, pokrenut će se i zvati natrag na telefon vlasnika, signaliziranje jednostavnim alarmnim pozivom.

Pregledajte stavke

Kupljeno:
1. Mjesna ploča jednostrana 5x7 cm: getinaks- ili stakloplastike
* - fiberglass je puno bolji od getinaksa.
2. Modul Neoway M590 - , s PCB antenom -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3.3V -
4. Kontrolna ploča punjenja i pražnjenja litija -

Dobiveno iz ruševina civilizacije:
1. Stalci za ploču, piljeni od kućišta uređaja - 6 kom.
2. Litij ravna baterija 1300mAh
3. Spojnice koje se koriste za pričvršćivanje kabela na zid
4. Gumica za tiskanice
5. Bakrene žice 1,5 mm debljine
6. Kutija za instrumente s lokalnog radijskog tržišta - 1.5$
7. Par LED dioda različitih boja (preuzeto s VHS playera)
8. Antena i gumb s poklopcem (preuzeto s Wi-Fi rutera)
9. 4-pinski terminalni blok (preuzeto s dimmera)
10. Konektor za napajanje (preuzet sa starog punjača za 18650)
11. 6-pinski konektor (preuzet s DVD pogona)
12. Limenka(ispod kafe npr.)

Arduino Pro Mini "RobotDyn" Atmega 168PA 3.3V 8MHz

Tehnički podaci:
Mikrokontroler: ATmega168PA
Izravni radni napon: 0,8 - 5,5 V
Radni napon kroz stabilizator LE33: 3,3 V ili 5 V (ovisno o modelu)
Radna temperatura:-40°C… 105°C
Ulazni napon: 3,35-12V (3,3V model) ili 5-12V (5V model)
Digitalni ulazi/izlazi: 14 (od kojih se 6 mogu koristiti kao PWM izlazi: 3, 5, 6, 9, 10 i 11)
Analogni ulazi: 6
Brojači vremena: dva 8-bitna i jedan 16-bitni
Načini uštede energije: 6
Istosmjerna struja kroz ulaz/izlaz: 40 mA
Brza memorija: 16 KB (2 korištena za bootloader)
RADNA MEMORIJA: 1 Kb
EEPROM: 512 bajtova
Resurs pisanja/brisanja memorije: 10.000 Flash/100.000 EEPROM
Frekvencija sata: 8 MHz (3,3 V model) ili 16 MHz (5 V model)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) i A5 (SCL)
UART TTL: 0 (RX) i 1 (TX)
Podatkovna tablica:

Izbor je sasvim slučajno pao na ovu atmegu. na jednom forumu gdje se raspravljalo o energetski učinkovitim projektima, u komentarima sam dobio savjet da koristim upravo 168. atmegu.
Međutim, morao sam petljati da pronađem takvu ploču, jer su vrlo često sve parcele bile preplavljene s 328 atmega na frekvenciji od 16 MHz, radeći od 5V. Za moj projekt takve su karakteristike od samog početka bile suvišne i nezgodne, traženje je postalo kompliciranije.
Kao rezultat toga, na eBayu sam naišao na verziju Pro Mini od 3,3 volta na Atmega 168PA, i to ne samo kinesku, već pod robnom markom RobotDyn od ruskog programera. Da, i ja sam u početku, kao i ti, imala zrnce sumnje. Ali uzalud. Kad je projekt već bio sastavljen, a AliExpress je uveo obaveznu plaćenu dostavu za jeftinu robu (nakon čega su se paketi počeli gubiti mnogo češće), kasnije sam naručio obični Pro Mini Atmega168 (bez PA) 3.3V 8MHz. Malo sam eksperimentirao s načinima uštede energije s obje ploče, ubacivši u svaku posebnu skicu koja je mikrokontroler uronila u način maksimalne uštede energije i evo što se dogodilo:
1) Arduino Pro Mini "RobotDyn": ~250uA
2) Arduino Pro Mini "Bez imena": kada se napaja regulator napona (RAW izlaz) i LED je zalemljen, potrošnja struje je ~3,92 mA




- kao što razumijete, razlika u potrošnji energije je gotovo 16 puta, a sve zato što NoName's Moscow Pro Mini koristi hrpu Atmega168 +, od kojih sam MK jede samo 20uA struja (ovo sam zasebno provjerio), sav ostatak proždrljivosti pada na AMS1117 linearni pretvarač napona - podatkovna tablica to samo potvrđuje:


U slučaju ploče iz RobotDyn-a, veza je već nešto drugačija - ovo je Atmega168PA + - ovdje se već koristi još jedan LDO stabilizator, čije su se karakteristike u pogledu uštede energije pokazale ugodnijim:


Nisam ga lemio, tako da ne mogu reći koliko struje Atmega168PA troši u svom čistom obliku. U ovom slučaju jesam ~250uA kada ga pokreće Nokia litijska baterija. Međutim, ako odlemite AMS1117 s NoName "Moskovske ploče, tada je ATmega168 običan, u svom čistom obliku, kao što sam rekao gore, troši 20uA.
LED diode napajanja mogu se oboriti nečim oštrim. Nije problem. Stabilizator je zalemljen sušilom za kosu. Međutim, nemaju svi sušilo za kosu i vještine za rad s njim, tako da obje gore navedene opcije imaju pravo postojati.

Neoway M590E modul

Tehnički podaci:
Frekvencije: EGSM900/DCS1800 Dual-band, ili GSM850/1900 ili Quad-band
Osjetljivost:-107 dBm
Maksimalna snaga prijenosa: EGSM900 klasa 4 (2W), DCS1800 klasa 1 (1W)
Vršna struja: 2A
Radna struja: 210 mA
Struja mirovanja: 2,5 mA
Radna temperatura:-40°C… +85°C
Radni napon: 3,3 V…4,5 V (preporučeno 3,9 V)
Protokoli: GSM/GPRS Phase2/2+, TCP/IP, FTP, UDP itd.
Internet: GPRS KLASA 10
Podatkovna tablica:

Najjeftiniji GSM modul koji se može naći na tržištu, najčešće polovni, zalemljen ne baš uvijek spretnim kineskim rukama od opreme. Zašto ne uvijek pametan? Da, sve zbog lemljenja sušilom za kosu - često ovi moduli dolaze ljudima s kratko spojenim plusom i minusom, što je jedan od razloga njihove neispravnosti. Stoga je prvi korak zvoniti kontakte za napajanje zbog kratkog spoja.

Bilješka.Želio bih napomenuti zasebnu, važnu, po mom mišljenju, točku - ovi moduli mogu doći s okruglim koaksijalnim konektorom za antenu, što vam omogućuje da zasebno naručite ozbiljniju antenu i spojite je na modul bez plesanja s tamburinom . I mogu doći bez ovog priključka. Ovo je ako govorimo o najjeftinijim setovima. Ako se ne želite osloniti na sretnu priliku, onda postoje setovi koji su malo skuplji, gdje je ovaj konektor prisutan + komplet dolazi s vanjskom antenom na tekstolitnoj ploči.

Ovaj modul je hirovit i pred napajanjem jer na svom vrhuncu troši i do 2A struje, a dioda koja dolazi u kompletu kao da je predviđena za spuštanje napona od 5V (zato na samoj pločici piše 5V ) na 4,2 V, ali sudeći prema pritužbama ljudi, on stvara više problema nego koristi.
Pretpostavimo da ste već sastavili ovaj modul, a umjesto diode je zalemljen kratkospojnik, budući da mu nećemo napajati napon od 5 V, već ćemo ga napajati izravno iz litijske baterije, koja je unutar dopuštenog napona od 3,3-4,2 V.
Bit će potrebno nekako ga povezati s računalom i provjeriti operativnost. Za ovaj slučaj, bolje je kupiti se unaprijed - preko njega ćemo komunicirati s Arduino modulom i pločama preko UART (USART) serijskog sučelja.
Spoj je prikazan ispod na slici (nacrtao sam najbolje što mogu):
TX modem >>> RX pretvarač
RX modem<<< TX конвертера
Battery Plus - Modem Plus
Minus litijske baterije kombiniran je s GND modema i GND pretvarača
Za pokretanje modema spojite BOOT izlaz preko otpornika od 4,7 kΩ na GND


U međuvremenu pokrenite program na računalu. Obratite pozornost na postavke:
1) Odaberite COM port na koji je spojen TTL pretvarač, u mom slučaju to je COM4, ​​vaš može biti drugačiji.
2) Odaberite brzinu prijenosa podataka. (Ovdje postoji nijansa, jer se sami moduli mogu konfigurirati za različite brzine, najčešće 9600 bauda ili 115200 bauda. Ovdje morate odabrati empirijski, odabirom neke brzine, povezivanjem i slanjem AT naredbe, ako pukotine dođu kao odgovor , zatim će se isključiti, odaberite drugu brzinu i ponavljajte naredbu dok odgovor ne bude OK).
3) Odaberite duljinu paketa (u ovom slučaju 8 bita), paritetni bit onemogućen (nema), stop bit (1).
4) Obavezno označite +CR, a zatim će svakoj naredbi koju pošaljemo modulu na kraju automatski biti dodan znak za vraćanje redaka - modul razumije naredbe samo s tim znakom na kraju.
5) Veza, ovdje je sve jasno, kliknuto i možemo raditi s modulom.

Ako kliknete na "Spajanje", a zatim pokrenete modul primjenom BOOT-a kroz otpornik od 4,7 K na masu, prvo će se na terminalu prikazati poruka "MODEM:STARTUP", a nakon nekog vremena poruka "+ PBREADY" će se prikazati, što znači da je telefonski broj pročitan. knjiga, iako je možda prazna:

Pod ovim spojlerom AT naredbe s primjerima

Ispisujemo AT naredbu - kao odgovor, modul nam šalje našu naredbu, budući da je echo način rada omogućen, i OK:

Provjerimo status modema s AT + CPAS naredbom - kao odgovor, opet naš tim, + CPAS: 0 i OK.
0 - znači da je modul spreman za rad, ali ovisno o situaciji, mogu postojati i drugi brojevi, na primjer, 3 - dolazni poziv, 4 - u načinu rada veze, 5 - način mirovanja. Nisam mogao pronaći podatke o 1 i 2.

Promjena brzine prijenosa podataka putem UART-a događa se naredbom AT + IPR = 9600 - to je ako trebate brzinu od 9600. Ako je neka druga, slično AT + IPR = 19200 na primjer ili AT + IPR = 115200.

Provjerimo mrežni signal. AT + CSQ, + CSQ dolazi kao odgovor: 22.1 - vrijednost prije decimalne točke ima raspon od 0 ... 31 (115 ... 52 dB) - ovo je razina signala, što više, to bolje. Ali 99 znači njegovo odsustvo. Vrijednost nakon decimalne točke - kvaliteta signala 0 ... 7 - ovdje je suprotna, što je manji broj, to bolje.

Isključimo echo mod slanjem naredbe ATE0 tako da duple naredbe ne smetaju. Ovaj način se ponovno uključuje naredbom ATE1.

Pogledajte verziju firmvera AT+GETVERS



Ove i mnoge druge naredbe možete vidjeti

Kombinacija ploča

Ako Pro Mini nije teško lemiti na matičnu ploču, onda je s GSM modulom situacija nešto složenija, jer. njegov kontaktni češalj nalazi se samo s jedne strane, a ako je samo zalemljen, tada će druga strana ploče jednostavno visjeti u zraku. Onda sam, opet, na oko, morao izbušiti dodatne 3 rupe u blizini tri kuta na ploči. Područja oko svake od rupa zatim su demaskirana. Radi praktičnosti, stavio sam odspojene vodove s češlja na matičnu ploču bez lemljenja (bijelu) i, nakon što sam na njih instalirao ploču GSM modula, normalno zalemio:

Kasnije sam morao napraviti još jednu rupu, u mom slučaju na slovo "I", gdje piše "Made In China", na rubu ploče.


Dogodilo se da je dodani kontakt, koji je u biti GND, postao blizak GND-u Pro Mini ploče, pa je tako postalo moguće spojiti masu GSM modula i Pro Mini-a s kapljicom lema (dugi vod u sredini i desno od njega je Pro Mini lead) - označeni su strelicama. Ispalo je krivo, naravno, ali sada sigurno drži:



Ostalo je nešto prostora između ploča – postavio sam pločicu za kontrolu punjenja pražnjenja litija s prethodno zalemljenim microUSB konektorom i zalemljenim žicama u njoj.

Šal tu ulazi vrlo čvrsto, dok će se kroz malu rupicu na kućištu jasno vidjeti sjaj LED dioda sa strane.



Stalci za ploče

Da bih sigurno fiksirao ploču unutar kućišta, morao sam provesti nekoliko dana razmišljajući o tome kako bi se to moglo implementirati. Opcija s taljivim ljepilom nije razmatrana iz nekoliko razloga - može otpasti, deformirati se, i što je najvažnije, dizajn bi se pokazao teškim za rastavljanje.
Došao sam do zaključka da bi najjednostavnija i najispravnija opcija ovdje bila uporaba stalaka, koje naravno nisam imao. Međutim, bilo je nekoliko neradnih punjača, odakle je izrezan jedan dugačak stalak s navojem za samorezne vijke. Svaki je stalak prerezan na pola i dorađen turpijom na oko 9,5 mm - na ovoj visini baterija ispod ploče ima dovoljnu marginu, oko 2 mm - to je učinjeno tako da lemljeni kontakti ploče ne dodiruju to s njihovim vrhovima i tako da je moguće između njih staviti komad pjene za fiksiranje.
Što se tiče pričvršćivanja ploče izravno na kućište, ovdje sam izrezao četiri trake iz limenke za kavu, izbušio rupu na čijim krajevima, a zatim ih pričvrstio na iste samorezne vijke koji se uvijaju u police. Pogledajte fotografiju ispod kako biste vidjeli kako to izgleda.
Sljedeći korak je prišrafiti par postolja s druge strane ploče, odnosno odozgo, tako da kada je kućište zatvoreno, poklopac lagano naliježe na te postolje, stvarajući dodatnu fiksaciju. Malo kasnije, ispod ovog slučaja, naišao sam na zgradu ispod sovjetskog propagandnog radija (da je pronađena ranije, odavde bih uzeo sve regale), gdje sam pronašao nekoliko više ili manje prikladnih visina, ali prvo sam ih izbušio u sredini bušilicom ispod samoreznih vijaka. Zatim ih je odrezao i također dovršio turpijom, uklanjajući višak. Ovdje sam dobio jednu suptilnost - na fotografiji možete vidjeti da je jedan bijeli stalak pričvršćen na getinax ploču s ruba, a drugi bijeli stalak je direktno na ploču modula, jer. s jednog ruba modemska ploča potpuno prekriva donju ploču, a sa suprotnog ruba, naprotiv, donja gleda van. Pritom je u obje ploče trebalo dodatno izbušiti rupe kako bi glave samoreznih vijaka mogle slobodno prolaziti.
I na kraju, ostaje paziti da ploča uvijek bude paralelna s kućištem - nosači koji se koriste za fiksiranje žica i kablova na zidu savršeno pristaju ispod ove kućišta, prethodno sam izvadio čavle s njih. Nosači dobro prianjaju na ploču svojom konkavnom stranom bez ikakvih dodatnih naprava, jedino što je desno od SIM kartice, širina nosača se pokazala pretjeranom i trebalo ga je također brusiti.
Svi detalji su prilagođeni okom i empirijski, ispod je fotografija svega navedenog:



Priključci. LED diode. Dugme.

Budući da mi je ponestalo češlja, morao sam rastaviti 6-pinski konektor s ploče DVD pogona, koji sam zatim zalemio na Pro Mini, ovo je radi lakšeg bljeskanja ploče. U blizini sam zalemio okrugli konektor (Nokiev 3,5 mm) za punjenje litija.

Tijelo 6-pinskog konektora je malo dorađeno turpijom, jer su njegovi rubovi malo virili iznad tijela. Utičnica za punjenje savršeno pristaje uz stijenku kućišta.

S druge strane ploče zalemio sam tipku za resetiranje uređaja i dvije LED diode za ispravljanje pogrešaka firmvera - crvena LED je spojena na GSM modul, druga zelena LED je spojena na 10. izlaz Pro Minija - to je lakše mi je otkloniti pogreške u programu.

Nadogradnja baterije

Prazna baterija Nokian iz Nokia telefona nije ništa manje uobičajena od 18650, ali mnogi je jednostavno odbijaju koristiti zbog neugodnosti povezivanja kontakata koji su duboko uvučeni u samu bateriju. Neželjeno ih je lemiti, pa je odlučeno upotrijebiti metodu koju su predložili, naime, izraditi kontaktni blok od gumice za tiskanice i bakrene žice (debljine 1,5 mm).
Prvo sam probušio komad gumice s dvije žice s prethodno ogoljenim krajevima i skužio to do kontakata baterije tako da se razmak između njih podudara,
savio je krajeve, pokositrio ih lemilicom i malo ih povukao za duge krajeve tako da su dobiveni kontakti utonuli u gumicu.



Primjer baterije:

Priključni blok možete popraviti gumicom ili omotati plavom električnom trakom, što sam ja na kraju i učinio.

Skupština.

Glavni dio posla je obavljen, ostaje sve skupiti i popraviti.
Između baterije i ploče stavio sam komad pjenaste gume da se kasnije ne uvuče u kućište. Dodatno sam zalemio kondenzator od 2200 uF za napajanje modula.

Kada je priključeno punjenje:

Okvir. Vanjski terminalni blok.

Kućište je na lokalnom radijskom tržištu dospjelo za oko 1,5 dolara, prevedeno u dolare, veličine 95x60x25 mm, gotovo veličine kutije cigareta. Izbušio sam nekoliko rupa u njemu. Prvo, za 4-pinski terminalni blok preuzet iz neradnog dimmera.
Potpuno sam oslobodio dva ekstremna kontakta od vijaka s brtvama, izbušio rupe za duže vijke, na kojima će se cijeli blok stezaljki držati na kućištu. Na samom kućištu, naravno, dvije krajnje rupe će biti velike, a dvije u sredini će biti manje - kroz njih će biti provučeni kontakti od kojih je jedan spojen na VCC Pro Mini, a drugi kontakt na VCC Pro Mini. igla 2.

Bušenje rupa, iako na prvi pogled jednostavno, nije ništa manje dugotrajno, vrlo je lako promašiti, pa sam to prvo radio s bušilicom manjeg promjera, pa onda većom.

Za gumb za sat uzeo sam kapu s blago konkavnim vrhom, tako da je kroz usku rupu u kućištu bilo zgodno udariti je šibicom ili spajalicom.

Ploča u kućištu s priključenim USB-TTL konverterskim kabelom:

O anteni.
Antena se, kao što ste možda primijetili tijekom recenzije, stalno mijenjala, dok sam eksperimentirao s različitim antenama domaće izrade. U početku je na pločici modula bio okrugli koaksijalni konektor, ali nakon petog korištenja za vanjsku antenu jednostavno se raspao, pa imajte na umu da je slab. Kao rezultat toga, iščupao sam tekstolitnu antenu iz starog usmjerivača i zalemio je na ploču modula, jer. malo bolje hvata mrežu od opruge i žice.

Pa, potpuno sastavljen s povezanim punjenjem izgleda ovako:

Test. Kako radi:

Osim testova s ​​antenama, provjerio sam kako će se alarm ponašati na ulici, na mrazu -15. Da bih to učinio, jednostavno sam stavio cijelu unutrašnjost u posudu i ostavio je na balkonu preko noći, dok se alarm nije uključio, razlog se pokazao općenito očitim - litij ne voli mraz. To je potvrdio još jedan test, gdje sam ostavio bateriju kod kuće, a ploču kroz duge žice iznio na ulicu i ostavio je tako jedan dan na istom mrazu - rad, kao da se ništa nije dogodilo. S druge strane, bilo bi čudno da alarm ne radi. u podatkovnim tablicama za atmega, za modul, za kvarc - dopuštene radne temperature su do -40 stupnjeva.

Princip rada organiziran je vanjskim prekidom, inicijalno je pin 2 zatvoren na VCC i tako se održava logička 1 na izlazu, a kontroler spava. Čim se kontakt prekine i na pinu 2 se pojavi 0, mikrokontroler se budi, spušta 3. pin (na koji je modem BOOT spojen preko otpornika) na masu - modul se pokreće, MK povremeno ispituje modul za spremnosti, a čim uhvati mrežu, odmah šalje poziv na telefonski broj vlasnika naveden u šifri. Nakon odbijanja poziva, uređaj se gasi bez slanja više beskonačnih poziva nego što griješe mnogi kineski alarmi.

dodatne informacije

#uključi #uključi // softverska UART biblioteka SoftwareSerial gsm(7, 6); // RX(7), TX(6) void wakeUp()() // prazan rukovatelj prekidom ///////////////////////////// ////////// /////////////// void gsmOFF()( // PORTD|=(1<<3); // ВЫКЛЮЧЕНИЕ МОДУЛЯ _delay_ms(10); // gsm.println("AT+CPWROFF"); // ПЕЧАТАЕМ КОМАНДУ OFF PORTB &=~ (1<<2); // выключить LED 10 } // //========================================= void gsmON(){ // PORTD|=(1<<6); // 6-му порту (TX) назначить 1 PORTD &= ~(1<<3); // ЗАПУСК МОДУЛЯ _delay_ms(10); // while(!gsm.find("+PBREADY")); // ждём прочтения тел. книги PORTB |= (1<<2); // включить LED 10 _delay_ms(100); // while(1){ // gsm.println("AT+CREG?"); // проверяем в сети ли модуль if (gsm.find("0,1")) break; // если сеть есть, выходим из цикла _delay_ms(400); // проверка раз в 0,4 сек } // } // /////////////////////////////////////////// // void sleepNow(){ // функция засыпания ADCSRA = 0x00; // отключить подсистему АЦП (экономия 140 мкА) PORTD&=~(1<<6); // в вывод TX поставить 0 _delay_ms(100); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна PWR_DOWN sleep_enable(); // включение сна attachInterrupt(0, wakeUp, LOW); // включить прерывания sleep_mode(); // sleep_disable(); // detachInterrupt(0); // отключить прерывания } void setup(){ gsm.begin(9600); // скорость работы UART DDRD = B01001000; // 3-й и 6-й выводы на выход DDRB |= (1<<2); // вывод 10 на выход gsmON(); // запуск модуля для теста gsmOFF(); // выключаем модуль } void loop(){ if (!(PIND&(1<<2))){ // если на 0-ом прерывании появился 0 gsmON(); gsm.println("ATD+79xxxxxxxxx;"); // отзваниваемся, в ответ приходит OK и CONNECT _delay_ms(100); if (gsm.find("OK")) while(1){ // ожидание сброса вызова gsm.println("AT+CPAS"); // при каждой итерации опрашиваем модуль if (gsm.find("0")) break; // если 0, то выходим из цикла while _delay_ms(100); // проверка раз в 0,1 сек } for (char i=0; i<14; i++){ PORTB|=(1<<2); // LED 10 ON _delay_ms(200); PORTB&=~(1<<2); // LED 10 OFF _delay_ms(200); } gsmOFF(); // выключить модуль _delay_ms(10); while(1); // блокируем программу } else { sleepNow(); // укладываем контроллер спать } }

Dijagram (bez upravljačke ploče punjenja i pražnjenja)



Zaključci i razmišljanja. Planovi.

Alarm se koristi u zemlji, zadovoljan sam radom, međutim, daljnjim proučavanjem AVR-a dolazi sve više ideja za njegovu daljnju modifikaciju. Arduino sa svojim pseudo-jezikom Wiring me jako uznemirio, jer. U radu je postojao jedan neugodan trenutak. Kada sam koristio funkcije za rad s portovima digitalWrite(); ili pinMode(); - tada je GSM modul iz nekog razloga vrlo često prekidao vezu. Ali vrijedilo ih je zamijeniti trikovima poput DDRB|=(1<Samo operacija izravnog pristupa priključcima omogućila je da uređaj radi kako je i zamišljeno.

Za uštedu energije...
Sastavljeni uređaj radio je puna četiri mjeseca bez punjenja i nastavlja raditi, iako je ispravnije reći "spavanje". To se provjerava jednostavnim ponovnim pokretanjem putem bijelog gumba. Uz potrošnju od 250 μA (preko LE33 stabilizatora) i bateriju od ~1430 mAh, iako okej, zbog nenovosti baterije ćemo zaokružiti na 1000mAh, ispada da uređaj može spavati oko 5,5 mjeseci bez punjenja. Ako i dalje odlemite stabilizator, tada se vrijeme rada može sigurno pomnožiti 10 puta. Ali u mom slučaju nema potrebe za tim, jer još uvijek morate trošiti stanje sa SIM kartice svaka tri mjeseca, au isto vrijeme uređaj se može provjeriti i napuniti.
Primjer uštede energije dat u pregledu daleko je od granice, jer. sudeći prema podacima iz podatkovne tablice, moguće je spustiti takt mikrokontrolera (a to se radi ugradnjom osigurača) na 1 MHz, a ako se stavi napon od 1,8 V, onda će potrošnja pasti ispod bara od 1 μA u aktivnom načinu rada. Vrlo glupo! Ali ako se MK taktira iz internog RC generatora, tada će se pojaviti još jedan problem - UART eter će biti začepljen smećem i pogreškama, pogotovo ako se kontroler grije ili hladi.

Po završetku...
1) Konvencionalna žica postavljena na prekid nije baš zgodna, planiram eksperimentirati s Hallovim senzorom i reed prekidačem, iako za potonji kažu da nije baš pouzdan, jer se kontakti unutar njega mogu zalijepiti.
2) Bilo bi lijepo dodati mogućnost promjene "vlasničkog broja" bez sudjelovanja računala i bljeskanja. Ovo već s EEPROM-om će morati raditi.
3) Pokušajte s prekidima od watchdog timera, ali ne samo radi znatiželje, već da se mikrokontroler povremeno sam probudi, izmjeri napon baterije i pošalje dobivenu vrijednost putem SMS-a kako biste bili svjesni koliko je baterija prazna.
4) Solarni panel može u potpunosti eliminirati potrebu za punjenjem uređaja, a to će posebno vrijediti za baterije niskog kapaciteta.
5) Dugo sam želio kupiti LiFePo4 baterije, koje, prema recenzijama, normalno podnose mraz, ali dok sam tražio odgovarajuću parcelu, proljeće je već neprimjetno došlo.
6) Radite na estetskoj komponenti

Koji Pro Mini trebam kupiti?
Ako nema sušila za kosu, onda Pro Mini "RobotDyn" Atmega168PA 3.3V, podignite LED nečim oštrim i imajte ~ 250 μA.
Ako postoji sušilo za kosu, onda bilo koja ploča, lemljenje stabilizatora i LED za napajanje - dobivate ~ 20 μA potrošnje struje.

Toliko za sada, nadam se da je recenzija bila zanimljiva i korisna.

Planiram kupiti +174 Dodaj u favorite Svidjela mi se recenzija +143 +278

U prošlom članku smo naučili kako koristiti SIM800L GSM modul i napravili jednostavan dizajn za kontrolu opterećenja na daljinu, danas ćemo napraviti nešto zanimljivije, naime GSM sigurnosni alarm na SIM800L modulu iz Aliexpressa i Arduina, koji se može služi za zaštitu stana, vikendice, garaže i drugih objekata, a kada se aktivira, obavijestit će vas pozivom ili SMS porukom.

Što nam je potrebno za izradu GSM alarma:

  • GSM/GPRS modul SIM800L;
  • Arduino Nano, UNO ili drugi Arduino;
  • Step-down DC-DC pretvarač;
  • Baterija 3,7V;
  • Otpornici za 10 k - 7 kom;
  • Napajanje.

Kako napraviti GSM alarm protiv provale na SIM800L modulu i Arduinu, opis posla:

Spajamo SIM800L modul, Arduino, senzore itd. prema dijagramu ispod, sve je sastavljeno na breadboardu tako da u svakom trenutku možete nešto promijeniti, stavljamo ga u bilo koje odgovarajuće kućište i vadimo žice iz kućišta za sigurnosnih senzora i na PSU. Također stavljamo bateriju u kućište, ona je potrebna da kada nestane struje u kući, uređaj pređe u samostalan način rada na bateriju. Na boost pretvaraču postavljamo izlaz na 4,2 volta, na ovom naponu radi GSM SIM modul i puni se baterija, a ovaj napon je dovoljan i za rad Arduino Nano.

Na krug se može spojiti bilo kojih 5 senzora, kao što su reed prekidači, senzori vlage, dima, senzori pokreta itd. koji podržavaju rad releja, budući da je ovaj krug konfiguriran za aktiviranje alarma za prekid kruga bilo kojeg od pet senzora, ali po želji se skica može pretvoriti u kratki spoj.

Kada se prvi senzor aktivira, poziv se upućuje na navedeni broj, zatim se poziv prekida i poziva se na drugi broj, to se radi ako prvi broj trenutno nije dostupan. Kada se aktiviraju ostala 4 sigurnosna senzora, šalje se samo SMS poruka u kojoj je ispisan broj ili naziv aktivirane zone, a i ova poruka će biti poslana na dva telefonska broja.

U skicu možete unijeti telefonske brojeve i dati svoja imena zaštićenim područjima, umjesto “Uzbuna! Zona1", "Alarm! Zona2", "Alarm! Zona3”… Možete napisati naziv objekta u koji ste postavili određeni senzor, na primjer “Alarm! Okno, alarm! Dverj” i dr. nazive zona pisati samo latinicom. Također u skici je postavljeno vrijeme povratnog poziva vlasniku, odnosno nakon koliko sati da vas obavijesti da cijeli sustav radi i da je sve u redu, standardno je postavljeno da se javlja svakih 144 sata.

To je to, napravili smo jednostavan GSM protuprovalni alarm na SIM800L modulu i Arduinu, skica i sklop se mogu poboljšati, npr. SIM800L modul podržava mogućnost spajanja zvučnika i mikrofona na njega, što će vam omogućiti slušanje u zaštićeni prostor, kao i donijeti svoj glas na razglas.

Preuzmite skicu za Arduino.

Ovaj projekt se odnosi na razvoj i poboljšanje sustava za sprječavanje/kontrolu svakog pokušaja ulaska lopova. Razvijeni sigurnosni uređaj koristi ugrađeni sustav (uključuje hardverski mikrokontroler koji koristi otvoreni kod i gsm modem) temeljen na GSM (Global System for Mobile Communications) tehnologiji.

Sigurnosni uređaj može se ugraditi u kuću. Senzor sučelja protuprovalnog alarma također je povezan sa sigurnosnim sustavom koji se temelji na upravljaču.
Prilikom pokušaja upada, sustav šalje poruku upozorenja (npr. sms) na mobitel vlasnika ili bilo koji unaprijed konfigurirani mobilni telefon na daljnju obradu.

Sigurnosni sustav sastoji se od Arduino Uno mikrokontrolera i standardnog SIM900A GSM/GPRS modema. Cijeli sustav može se napajati bilo kojim napajanjem/baterijom od 12V 2A.

Ispod je dijagram sigurnosnog sustava temeljenog na Arduinu.

Rad sustava je vrlo jednostavan i razumljiv sam po sebi. Kada se na sustav priključi napajanje, on prelazi u stanje pripravnosti. Kada su pinovi J2 konektora kratko spojeni, unaprijed programirana poruka upozorenja šalje se na željeni broj mobilnog telefona. Na ulazni konektor J2 možete spojiti bilo koji detektor provale (kao što je zaštita od svjetla ili detektor pokreta). Imajte na umu da će aktivni-niski (L) signal na pinu 1 konektora J2 aktivirati protuprovalni alarm.

Štoviše, sustavu je dodan opcijski uređaj za alarmiranje poziva. Aktivirati će telefonski poziv kada korisnik pritisne tipku S2 (ili kada druga elektronička jedinica pokrene alarm). Nakon pritiska na tipku "poziv" (S2), poziv se može prekinuti pritiskom na drugu tipku S3, tipku "kraj". Ova se opcija može koristiti za generiranje alarma "propuštenog poziva" u slučaju upada.

Krug je vrlo fleksibilan, tako da može koristiti bilo koji SIM900A modem (i naravno Arduino Uno ploču). Pažljivo pročitajte dokumentaciju modema prije sastavljanja. To će olakšati i učiniti proces proizvodnje sustava ugodnim.

Popis radijskih elemenata

Oznaka Vrsta Vjeroispovijest Količina BilješkaPostićiMoja bilježnica
Arduino ploča

Arduino Uno

1 U bilježnicu
GSM/GPRS modemSIM900A1 U bilježnicu
IC1 Linearni regulator

LM7805

1 U bilježnicu
C1 100uF 25V1 U bilježnicu
C2 elektrolitički kondenzator10uF 16V1 U bilježnicu
R1 Otpornik

1 kOhm

1 U bilježnicu
LED1 Dioda koja emitira svjetlo 1 U bilježnicu
S1 DugmeS fiksacijom1
U proteklom desetljeću krađe automobila zauzimaju jedno od najvažnijih mjesta u strukturi počinjenih kaznenih djela u svijetu. Razlog tome nije toliko specifična težina ove kategorije krađa u odnosu na ukupan broj kaznenih djela, koliko značaj štete nastale zbog visoke cijene automobila. Slaba učinkovitost poduzetih mjera na području suzbijanja krađa motornih vozila do kraja 90-ih dovela je do stvaranja stabilnih skupina specijaliziranih za počinjenje ovih kaznenih djela s obilježjima organiziranog kriminala; vjerojatno ste čuli izraz "posao s crnim automobilima". Voznom parku europskih država godišnje nedostaje ≈ 2% automobila koji postaju predmetom kriminalnih napada. Pa sam dobio ideju da napravim gsm alarm za svoj auto baziran na Arduino Uno.

Počnimo!

Od čega ćemo prikupljati?

Moramo odabrati srce našeg sustava. Po mom mišljenju, za takvu signalizaciju nema ništa bolje od Arduino Uno. Glavni kriterij je dovoljan broj "pinova" i cijena.


Ključne značajke Arduino Uno

Mikrokontroler - ATmega328
Radni napon - 5 V
Ulazni napon (preporučeno) - 7-12 V
Ulazni napon (ograničenje) - 6-20 V
Digitalni I/O - 14 (od kojih se 6 mogu koristiti kao PWM izlazi)
Analogni ulazi - 6
Istosmjerna struja kroz ulaz/izlaz - 40 mA
DC struja za izlaz 3.3V - 50mA
Flash memorija - 32 KB (ATmega328) od čega se 0,5 KB koristi za bootloader
RAM - 2 Kb (ATmega328)
EEPROM - 1 Kb (ATmega328)
Frekvencija takta - 16 MHz


Odgovara!

Sada trebate odabrati gsm modul jer bi naš alarmni sustav trebao moći obavijestiti vlasnika automobila. Dakle, morate "guglati" ... Evo, odličan senzor je SIM800L, veličina je jednostavno prekrasna.


Razmislio sam i naručio iz Kine. Ipak, nije sve bilo tako ružičasto. Senzor je jednostavno odbio registrirati SIM karticu na mreži. Probano je sve moguće - rezultat nula.
Bilo je ljubaznih ljudi koji su mi dali cool stvar - Sim900 Shield. Ovo su ozbiljne stvari. Shield ima utičnicu za mikrofon i slušalice, pravi telefon.


Ključne značajke Sim900 Shielda

4 standarda radne frekvencije 850/ 900/ 1800/ 1900 MHz
GPRS multi-slot klasa 10/8
GPRS mobilna stanica klase B
Odgovara GSM fazi 2/2+
Klasa 4 (2 W @ 850/ 900 MHz)
Klasa 1 (1 W @ 1800/1900MHz)
Upravljanje putem AT naredbi (GSM 07.07 ,07.05 i SIMCOM proširene AT naredbe)
Niska potrošnja energije: 1,5 mA (način mirovanja)
Raspon radne temperature: -40°C do +85°C


Odgovara!

U redu, ali morate očitati neke senzore kako biste obavijestili vlasnika. Iznenada se automobil evakuira, tada će se položaj automobila očito promijeniti u prostoru. Uzmite akcelerometar i žiroskop. Izvrsno. Taksi, sada tražimo senzor.

Mislim da će GY-521 MPU6050 sigurno odgovarati. Ispostavilo se da ima i senzor temperature. Bilo bi potrebno koristiti ga, postojat će takva "ubojita značajka". Pretpostavimo da je vlasnik automobila stavio ispod kuće i otišao. Temperatura u automobilu će se promijeniti "glatko". Što se događa ako uljez pokuša ući u automobil? Na primjer, moći će otvoriti vrata. Temperatura u automobilu će se početi brzo mijenjati, jer će se zrak u kabini početi miješati sa okolnim zrakom. Mislim da će uspjeti.


Ključne značajke GY-521 MPU6050

Modul 3-osni žiroskop + 3-osni akcelerometar GY-521 na čipu MPU-6050. Omogućuje određivanje položaja i kretanja objekta u prostoru, kutne brzine tijekom rotacije. Također ima ugrađen senzor temperature. Koristi se u raznim modelima helikoptera i zrakoplova, a na temelju tih senzora možete sastaviti sustav za snimanje pokreta.

Čip - MPU-6050
Napon napajanja - od 3,5V do 6V (DC);
Raspon žiroskopa - ± 250 500 1000 2000 ° / s
Raspon akcelerometra - ± 2 ± 4 ± 8 ± 16g
Komunikacijsko sučelje - I2C
Veličina - 15x20 mm.
Težina - 5 g


Odgovara!

Koristan je i senzor vibracija. Iznenada će pokušati otvoriti automobil "grubom silom", dobro, ili će na parkiralištu drugi automobil dotaknuti vaš automobil. Uzmimo senzor vibracija SW-420 (podesiv).


Ključne značajke SW-420

Napon napajanja - 3,3 - 5V
Izlazni signal - digitalni visoki/niski (normalno zatvoren)
Rabljeni senzor - SW-420
Rabljeni komparator - LM393
Dimenzije - 32x14 mm
Dodatno - Postoji otpornik za podešavanje.


Odgovara!

Zavrnite modul SD memorijske kartice. Napišimo datoteku dnevnika.


Ključne značajke modula SD memorijske kartice

Modul omogućuje pohranjivanje, čitanje i pisanje na SD karticu podataka potrebnih za rad uređaja temeljenog na mikrokontroleru. Upotreba uređaja je relevantna pri pohranjivanju datoteka od nekoliko desetaka megabajta do dva gigabajta. Ploča sadrži spremnik SD kartice, stabilizator napajanja kartice, konektor za sučelje i strujne vodove. Ako trebate raditi sa zvukom, videom ili drugim volumetrijskim podacima, kao što su bilježenje događaja, podaci senzora ili pohranjivanje informacija web poslužitelja, tada će modul SD memorijske kartice za Arduino omogućiti korištenje SD kartice u te svrhe. Pomoću modula možete proučavati značajke SD kartice.
Napon napajanja - 5 ili 3,3 V
Kapacitet memorije SD kartice - do 2 GB
Dimenzije - 46 x 30 mm


Odgovara!

I dodajte servo pogon, kada se aktiviraju senzori, servo pogon s DVR-om će se okrenuti i snimiti video incidenta. Uzmite servo MG996R.


Ključne značajke servo MG996R

Stabilna i pouzdana zaštita od oštećenja
- Metalni pogon
- Dvoredni kuglični ležaj
- Dužina žice 300 mm
- Dimenzije 40x19x43mm
- Težina 55 gr
- Kut rotacije: 120 stupnjeva
- Brzina rada: 0,17 s/60 stupnjeva (4,8 V bez opterećenja)
- Brzina rada: 0.13sec/60 stupnjeva (6V bez opterećenja)
- Početni moment: 9,4 kg/cm pri napajanju od 4,8 V
- Početni moment: 11 kg/cm s napajanjem od 6 V
- Radni napon: 4,8 - 7,2V
- Svi pogonski dijelovi su metalni


Odgovara!

Skupljanje

Postoji ogroman broj članaka o povezivanju svakog senzora u Googleu. I nemam želju izmišljati nove bicikle, pa ću ostaviti veze na jednostavne i radne opcije.