Uradi sam sigurnosni alarm gsm čip arduino. Kućni alarm ili pomoću senzora pokreta i LCD monitora s Arduinom

Infracrveni (IR, IR) senzori obično se koriste za mjerenje udaljenosti, ali se mogu koristiti i za otkrivanje objekata. Spajanjem više IC senzora na Arduino možete stvoriti alarm za provalu.

Pregled

Infracrveni (IR, IR) senzori obično se koriste za mjerenje udaljenosti, ali se mogu koristiti i za otkrivanje objekata. IC senzori se sastoje od infracrvenog odašiljača i infracrvenog prijemnika. Predajnik emituje impulse infracrvenog zračenja dok prijemnik detektuje bilo kakve refleksije. Ako prijemnik detektira refleksiju, to znači da se nalazi objekt na određenoj udaljenosti ispred senzora. Ako nema refleksije, nema ni objekta.

IR senzor koji ćemo koristiti u ovom projektu detektira refleksije u određenom rasponu. Ovi senzori imaju mali linearni uređaj povezan sa nabojem (CCD) koji detektira kut pod kojim se IC zračenje vraća u senzor. Kao što je prikazano na donjoj slici, senzor odašilje infracrveni impuls u prostor, a kada se neki objekt pojavi ispred senzora, impuls se reflektira natrag do senzora pod kutom proporcionalnim udaljenosti između objekta i senzora. Senzorski prijemnik detektira i emitira kut, a pomoću ove vrijednosti možete izračunati udaljenost.

Spajanjem nekoliko IC senzora na Arduino, možemo napraviti jednostavan alarm protiv provale. Senzore ćemo instalirati na okvir vrata, a pravilnim poravnavanjem senzora možemo otkriti kada neko prođe kroz vrata. Kada se to dogodi, signal na izlazu IC senzora će se promijeniti, a mi ćemo ovu promjenu otkriti stalnim očitavanjem izlaza senzora s Arduinom. U ovom primjeru znamo da objekt prolazi kroz vrata kada očitanje na IR senzoru pređe 400. Kada se to dogodi, Arduino će aktivirati alarm. Za poništavanje alarma, korisnik može pritisnuti dugme.

Komponente

  • 2 x IR senzor udaljenosti;
  • 1 x Arduino Mega 2560;
  • 1 x zujalica;
  • 1 x dugme;
  • 1 x 470 ohmski otpornik;
  • 1 x NPN tranzistor;
  • džemperi.

Dijagram povezivanja

Dijagram za ovaj projekat prikazan je na donjoj slici. Izlazi dva IC senzora spojeni su na pinove A0 i A1. Druga dva pina su spojena na 5V i GND. Zvučni signal od 12 volti spojen je na pin 3 preko tranzistora, a tipka koja se koristi za isključivanje alarma spojena je na pin 4.


Donja fotografija prikazuje kako smo za ovaj eksperiment zalijepili senzore na okvir vrata. Naravno, u slučaju stalne upotrebe, senzore biste instalirali drugačije.


Instalacija

  1. Spojite 5V i GND pinove Arduino ploče na pinove za napajanje i GND senzora. Možete im isporučiti i vanjsko napajanje.
  2. Spojite izlazne vodiče senzora na A0 i A1 pinove Arduino ploče.
  3. Spojite pin 3 Arduina na bazu tranzistora kroz 1K otpornik.
  4. Priključite 12 V na kolektor tranzistora.
  5. Spojite pozitivni provodnik zujalice od 12 V na odašiljač, a negativni vod na uzemljenje.
  6. Spojite pin 4 na pin 5V pomoću dugmeta. Iz sigurnosnih razloga, uvijek je najbolje to učiniti kroz dodatni mali otpornik kako biste izbjegli veliki protok struje.
  7. Povežite Arduino ploču s računarom putem USB kabela i prenesite program na mikrokontroler pomoću Arduino IDE -a.
  8. Uključite Arduino ploču napajanjem, baterijom ili USB kablom /

Kod

const int zujalica = 3; // pin 3 je izlaz zujalice const int pushbutton = 4; // pin 4 je ulaz za gumb void setup () (pinMode (zujalica, OUTPUT); // postavite pin 3 na izlaz pinMode (tipkalo, INPUT); // postavite pin 4 na ulaz) void loop () (/ / očitajte izlaz oba senzora i usporedite rezultat sa pragom int sensor1_value = analogRead (A0); int sensor2_value = analogRead (A1); if (sensor1_value> 400 || sensor2_value> 400) (while (true) (digitalWrite (zujalica , HIGH); // omogući alarm ako (digitalRead (pushbutton) == HIGH) break;)) else (digitalWrite (zujalica, LOW); // onemogući alarm))

Video

Pozdrav svima, danas ćemo pogledati uređaj koji se zove senzor pokreta. Mnogi od nas su čuli za ovu stvar, neko se čak bavio i ovim uređajem. Šta je senzor pokreta? Pokušajmo to shvatiti, pa:

Senzor pokreta ili senzor pokreta - uređaj (uređaj) koji detektira kretanje bilo kakvih objekata. Vrlo često se ovi uređaji koriste u sigurnosnim, alarmnim i nadzornim sistemima. Postoji mnogo različitih faktora ovih senzora, ali mi ćemo uzeti u obzir upravo modul senzora pokreta za povezivanje na ploče. Arduino,i to iz firme RobotDyn. Zašto baš ova kompanija? Ne želim reklamirati ovu trgovinu i njene proizvode, ali upravo su proizvodi ove trgovine odabrani za laboratorijske uzorke zbog visokokvalitetne prezentacije svojih proizvoda krajnjem potrošaču. Dakle, upoznajemo - senzor pokreta(PIR senzor) od RobotDyn:


Ovi senzori su malih dimenzija, troše malo energije i jednostavni su za upotrebu. Osim toga, RobotDyn senzori pokreta također imaju kontakte označene svilenim ekranom, što je naravno sitnica, ali vrlo ugodno. Pa, oni koji koriste iste senzore, ali samo iz drugih kompanija, ne trebaju brinuti - svi imaju istu funkcionalnost, pa čak i ako kontakti nisu označeni, ispis takvih senzora lako se može pronaći na internetu.

Glavni specifikacije senzor pokreta (PIR senzor):

Radno područje senzora: od 3 do 7 metara

Kut praćenja: do 110 o

Radni napon: 4,5 ... 6 Volti

Potrošnja struje: do 50μA

Bilješka: Standardna funkcionalnost senzora može se proširiti povezivanjem svjetlosnog senzora na pinove IN i GND, a tada će senzor pokreta raditi samo u mraku.

Inicijalizacija uređaja.

Kada je uključen, senzoru je potrebno skoro minutu za inicijalizaciju. U tom razdoblju senzor može davati lažne signale, što bi trebalo uzeti u obzir pri programiranju mikrokontrolera sa senzorom spojenim na njega, ili u krugovima izvršnih uređaja, ako se povezivanje vrši bez korištenja mikrokontrolera.

Ugao i područje detekcije.

Ugao otkrivanja (praćenja) je 110 stepeni, raspon udaljenosti detekcije je od 3 do 7 metara, donja ilustracija prikazuje sve ovo:

Podešavanje osjetljivosti (udaljenost detekcije) i vremenskog kašnjenja.

Donja tablica prikazuje glavna podešavanja senzora pokreta, s lijeve strane nalazi se regulator vremenskog kašnjenja, odnosno u lijevoj koloni je opis mogućih postavki. Desna kolona opisuje podešavanja udaljenosti detekcije.


Povezivanje senzora:

  • PIR senzor - Arduino Nano
  • PIR senzor - Arduino Nano
  • PIR senzor - Arduino Nano
  • PIR senzor - za svjetlosni senzor
  • PIR senzor - za svjetlosni senzor

Tipičan dijagram povezivanja dat je na donjem dijagramu, u našem slučaju senzor je konvencionalno prikazan sa stražnje strane i spojen je na Arduino Nano ploču.

Skica koja prikazuje rad senzora pokreta (koristite program):

/ * * PIR senzor -> Arduino Nano * PIR senzor -> Arduino Nano * PIR senzor -> Arduino Nano */ void setup () (// Uspostavite vezu sa monitorom serijskog porta.begin (9600);) void loop ( ) (// Očitajte graničnu vrijednost s porta A0 // obično je veća od 500 ako postoji signal if (analogRead (A0)> 500) (// Signal sa senzora pokreta Serial.println ("Postoji kretanje! !! ");) else ( / / Nema signala Serial.println (" Sve je tiho ... ");))

Skica je rutinsko ispitivanje senzora pokreta, ima mnogo nedostataka, kao što su:

  1. Mogući lažni alarmi, senzoru je potrebna samoinicijalizacija u roku od jedne minute.
  2. Čvrsto vezivanje za monitor porta, nema izlaznih izvršnih uređaja (relej, sirena, svjetlosna indikacija)
  3. Vrijeme signala na izlazu senzora je prekratko; kada se detektira kretanje, potrebno je programski odgoditi signal na duži vremenski period.

Kompliciranjem kruga i proširenjem funkcionalnosti senzora mogu se izbjeći gore navedeni nedostaci. Da biste to učinili, morate dopuniti krug relejnim modulom i spojiti običnu lampu od 220 volti kroz ovaj modul. Sam relejni modul bit će spojen na pin 3 na Arduino Nano ploči. Dakle, shematski dijagram:

Sada je vrijeme za poboljšanje skice koja se koristi za testiranje senzora pokreta. Na skici će se primijeniti kašnjenje isključivanja releja, jer sam senzor pokreta ima premalo vrijeme signala na izlazu kada se aktivira. Program provodi kašnjenje od 10 sekundi kada se senzor aktivira. Po želji se ovo vrijeme može povećati ili smanjiti promjenom vrijednosti varijable DelayValue... Ispod je skica i video zapis cijelog sklopljenog kruga:

/ * * PIR senzor -> Arduino Nano * PIR senzor -> Arduino Nano * PIR senzor -> Arduino Nano * Relejni modul -> Arduino Nano * / // premještanje -pin (izlazni signal) za relejni modul const int relout = 3 ; // prevMillis - varijabla za spremanje vremena prethodnog ciklusa skeniranja programa // interval - vremenski interval za odbrojavanje sekundi dok se relej ne isključi nepotpisani preduMillis = 0; int interval = 1000; // DelayValue - period tokom kojeg se relej drži u uključenom stanju int DelayValue = 10; // initSecond - Promenljiva iteracije petlje inicijalizacije int initSecond = 60; // countDelayOff - brojač vremenskih intervala statički int countDelayOff = 0; // okidač - zastavica senzora pokreta koja pokreće statički bool okidač = false; void setup () (// Standardna procedura za inicijalizaciju porta na koji je relejni modul spojen // VAŽNO !!! - kako bi relejni modul ostao u početnom isključenom stanju // i ne aktivirao se tijekom inicijalizacije, potrebno je upisati vrijednost HIGH na I / O port //, to će izbjeći lažno "okretanje", i spasit će // stanje releja kakvo je bilo prije uključivanja cijelog kruga pinMode (relout, OUTPUT ); digitalWrite (relout, HIGH); // Ovdje je sve jednostavno - čekamo kraj 60 ciklusa (varijabla initSecond) // u trajanju od 1 sekunde, za to vrijeme senzor se "samoinicijalizira" za (int i = 0; i< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500) (// Postavite zastavicu okidača senzora pokreta if (! Trigger) (trigger = true;)) // Dok je zastavica okidača senzora pokreta postavljena while (trigger) (// Izvršite sljedeće upute // Pohranite u currMillis varijabla // milisekundna vrijednost protekla od početka // izvršavanja programa unsigned long currMillis = millis (); // Usporedi s prethodnom vrijednošću milisekundi // ako je razlika veća od navedenog intervala, tada: if (currMillis - prevMillis > interval) (// Spremi trenutnu vrijednost u milisekundama u varijablu prevMillis prevMillis = currMillis; // Provjeravamo brojač kašnjenja uspoređujući ga s vrijednošću perioda // tokom kojeg relej treba držati u uključenom stanju/ / if (countDelayOff> = DelayValue) (// Ako je vrijednost jednaka, onda: // resetira senzor koji pokreće zastavicu pokreta pokretača = false; // Resetira brojač kašnjenja countDelayOff = 0; // Isključuje relej digitalWrite (relout , HIGH); // Prekini prekid petlje;) else (// Ako vrijednost je još uvijek manja, zatim // Povećajte brojač kašnjenja za jedan countDelayOff ++; // Zadržite relej na digitalWrite (relout, LOW); ))))

Program sadrži konstrukciju:

nepotpisano dugo prevMillis = 0;

int interval = 1000;

...

unsigned long currMillis = millis ();

if (currMillis - prevMillis> interval)

{

prevMillis = currMillis;

....

// Naše operacije su zatvorene u tijelu strukture

....

}

Da pojasnimo, odlučeno je da se zasebno komentira ova konstrukcija. Dakle, ova konstrukcija vam omogućuje da izvodite neku vrstu paralelnog zadatka u programu. Tijelo strukture aktivira se otprilike jednom u sekundi, što je omogućeno varijablom interval... Prvo, varijabla currMillis dodijeljena vrijednost koja se vraća prilikom pozivanja funkcije milis ()... Funkcija milis () vraća broj milisekundi od početka programa. Ako je razlika currMillis - prevMillis veća od vrijednosti varijable interval onda to znači da je prošlo više od sekunde od početka izvođenja programa, te morate pohraniti vrijednost varijable currMillis u promenljivu prevMillis zatim izvršite operacije zatvorene u tijelu konstrukcije. Ako je razlika currMillis - prevMillis manje od vrijednosti varijable interval, tada još nije prošla sekunda između ciklusa skeniranja programa, a operacije sadržane u tijelu strukture se preskaču.

Pa, na kraju članka video zapis od autora:

Omogućite javascript da bi komentari radili.

Njegov autor želio je napraviti domaći proizvod tako da bude jeftin i bežičan.
Ovaj domaći proizvod koristi PIR senzor pokreta, a informacije se prenose pomoću RF modula.

Autor je želio koristiti infracrveni modul, ali budući da ima ograničen raspon djelovanja, plus može raditi samo domet prijemnika, pa je odabrao RF modul koji može postići domet od približno 100 metara.


Kako bih posjetiteljima olakšao pregled sklopa alarma, odlučio sam podijeliti članak u 5 faza:
Faza 1: Napravite predajnik.
Faza 2: Kreirajte prijemnik.
Faza 3: Instaliranje softvera.
Faza 4: Testiranje sastavljenih modula.
Faza 5: Sklapanje kućišta i ugradnja modula u njega.

Autoru je bilo potrebno samo:
- 2 ploče ARDUINO UNO / ARDUINO MINI / ARDUINO NANO za prijemnik i predajnik;
- RF primopredajnik modul (433 MHZ);
- PIR senzor pokreta;
- 9V baterije (2 komada) i konektori za njih;
- zujalica;
- svjetlosna dioda;
- Otpornik otpora 220 Ohma;
- ploča za hleb;
- kratkospojnici / žice / kratkospojnici;
- ploča;
-Pin-konektori sa ploče na ploču;
- Prekidači;
- Kućišta za prijemnik i predajnik;
- papir u boji;
- montažna traka;
- skalpel za postavljanje slova;
- pištolj za vruće ljepilo;
- Lemilica;
- Štipaljke / alat za skidanje;
- Škare za metal.


Faza 1.
Počinjemo s stvaranjem odašiljača.
Ispod je dijagram kako senzor pokreta radi.


Sam odašiljač sastoji se od:
- Senzor pokreta;
- Arduino ploče;
- Modul predajnika.


Sam senzor ima tri izlaza:
- VCC;
- GND;
- OUT.

Nakon toga sam provjerio rad senzora


Pažnja !!!
Prije preuzimanja firmvera autor se uvjerava da su trenutna ploča i serijski port ispravno postavljeni u Arduino IDE postavkama. Zatim sam postavio skicu:

Kasnije, kako senzor pokreta detektira kretanje ispred sebe, LED će zasvijetliti, a na monitoru možete vidjeti i odgovarajuću poruku.


Prema donjem dijagramu.


Predajnik ima 3 pina (VCC, GND i Data), povezujemo ih:
- VCC> 5V pomoću pina na ploči;
- GND> GND;
- Podaci> 12 pinova na ploči.

Faza 2.


Sam prijemnik se sastoji od:
- RF prijemnički modul;
- Arduino ploče
- Zvučni signal (zvučnik).

Krug prijemnika:


Prijemnik, kao i odašiljač, ima 3 pina (VCC, GND i Data), povezujemo ih:
- VCC> 5V pomoću pina na ploči;
- GND> GND;
- Podaci> 12 pinova na ploči.


Faza 3.
Autor je odabrao datoteku biblioteke kao osnovu za cijeli firmver. Preuzeo sam koji je i stavio ga u fasciklu Arduino biblioteke.

Softver predajnika.
Prije postavljanja koda firmvera na ploču, autor je postavio sljedeće IDE parametre:
- ploča -> Arduino Nano (ili bilo koju drugu ploču koju koristite);
- Serijski port ->


Nakon postavljanja parametara, autor je preuzeo datoteku firmvera Wireless_tx i postavio je na ploču:

Softver prijemnika
Autor ponavlja iste korake za prijemnu ploču:
- ploča -> Arduino UNO (ili bilo koju drugu ploču koju koristite);
- Serijski port -> COM XX (provjerite com port na koji je vaša ploča povezana).



Nakon što je autor postavio parametre, preuzima datoteku wireless_rx i postavlja je na ploču:


Zatim je, uz pomoć programa koji se može preuzeti, autor generirao zvuk za zujalicu.

Faza 4.
Nadalje, nakon preuzimanja softvera, autor je odlučio provjeriti radi li sve ispravno. Autor je spojio napajanje i prošao rukom ispred senzora, a zujalica mu je počela raditi, što znači da sve radi kako treba.


Faza 5.
Završna montaža predajnika
Prvo je autor odrezao izbočene igle na prijemniku, predajniku, arduino pločama itd.


Nakon toga, spojio sam arduino ploču sa senzorom pokreta i RF odašiljačem pomoću kratkospojnika.


Zatim je autor počeo izrađivati ​​kućište za odašiljač.

Prvo je izrezao: rupu za prekidač, kao i okruglu rupu za senzor pokreta, a zatim je zalijepio za tijelo.




Zatim je autor presavio list papira u boji i zalijepio sliku na prednju koricu kako bi sakrio unutrašnje dijelove domaćeg proizvoda.


Nakon toga, autor je počeo umetati elektronsko punjenje u kućište, koristeći dvostranu traku.



Završna montaža prijemnika
Autor je odlučio spojiti Arduino ploču na ploču s gumenom trakom i instalirati RF prijemnik.


Zatim autor izrezuje dvije rupe na drugom kućištu, jednu za zujalicu, drugu za prekidač.


I lijepi ga.


Nakon toga autor instalira kratkospojnike na sve dijelove.




Zatim autor ubacuje gotovu ploču u kućište i popravlja je dvostranim ljepilom.

Proljeće, kao što znate, popraćeno je raznim pogoršanjima, a glavno "pogoršanje" je iz svojih rupa izišlo na ulicu kako bi sebi prisvojilo ono što mu ne pripada. To znači da tema zaštite vaše imovine postaje sve relevantnija nego ikad.
Stranica već ima nekoliko recenzija o domaćim. Naravno da su funkcionalni, ali svi imaju zajedničku karakteristiku - ovisnost o utičnici. Ako to nije problem s nekretninama, gdje je električna energija već isporučena, što je s imovinom gdje je utičnica daleko ili je okolina potpuno isključena? Odlučio sam krenuti drugim putem - sastaviti dugovječni, maksimalno jednostavan i neovisan o uređaju za napajanje, koji će cijelo vrijeme spavati, a kad razbojnici prodru, pokrenite i nazovite vlasnika telefonom, signalizirajući jednostavan alarmni poziv.

Pregledajte stavke

Kupljeno:
1. Jednostrana razvojna ploča 5x7 cm: getinax- ili stakloplastike
* - stakloplastika je mnogo bolja od getinaxa.
2. Modul Neoway M590 -, sa PCB antenom -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3.3V -
4. Litijumska kontrolna ploča za pražnjenje -

Minirano iz ruševina civilizacije:
1. Nosači za dasku, izrezani iz kućišta instrumenata - 6 kom.
2. Baterija litijumska ravna 1300mAh
3. Nosači koji se koriste za pričvršćivanje kabla na zid
4. Gumica za papir
5. Bakarna žica debljine 1,5 mm
6. Kutija za instrumente sa lokalnog radijskog tržišta - 1.5$
7. Par LED dioda različite boje(preuzeto od VHS plejera)
8. Antena i dugme sa čepom (preuzeto sa Wi-Fi rutera)
9. 4-pinski priključni blok (preuzet iz prigušivača)
10. Konektor za napajanje (preuzet sa starog punjača 18650)
11. 6-pinski konektor (preuzet sa DVD pogona)
12. Limenka (na primjer za kavu)

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

Specifikacije:
Mikrokontroler: ATmega168PA
Direktni radni napon:.8 - 5.5V
Radni napon kroz stabilizator LE33: 3.3V ili 5V (ovisno o modelu)
Radna temperatura:-40 ° C ... 105 ° C
Ulazni napon: 3.35-12V (model 3.3V) ili 5-12V (model 5V)
Digitalni ulazi / izlazi: 14 (od kojih se 6 može koristiti kao PWM izlazi: 3, 5, 6, 9, 10 i 11)
Analogni ulazi: 6
Brojači tajmera: dva 8-bitna i jedan 16-bitni
Načini uštede energije: 6
Istosmjerna struja kroz ulaz / izlaz: 40 mA
Fleš memorija: 16 KB (2 se koristi za bootloader)
RAM: 1 Kb
EEPROM: 512 bajtova
Memorija za pisanje / brisanje resursa: 10,000 Flash / 100,000 EEPROM
Frekvencija sata: 8 MHz (model 3.3V) ili 16 MHz (model 5V)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) i A5 (SCL)
UART TTL: 0 (RX) i 1 (TX)
Tehnički list:

Izbor je na ovu atmegu pao sasvim slučajno. na jednom forumu na kojem se raspravljalo o energetski efikasnim projektima, u komentarima sam naišao na savjet da se koristi tačno 168. atmega.
Međutim, morao sam petljati da pronađem takvu ploču, jer su sve partije često bile zatrpane s 328 atmega na frekvenciji od 16 MHz, koje rade od 5V. Za moj projekt takve su karakteristike bile suvišne i nezgodne od samog početka, pretraživanje se zakompliciralo.
Kao rezultat toga, naišao sam na 3,3 volta Pro verzija Mini na Atmegi 168PA na eBayu, i to ne jednostavan kineski, već pod robnom markom RobotDyn od ruskog programera. Da, i ja sam u početku, poput vas, imao zrnce sumnje. Ali uzalud. Kad je projekt već bio sastavljen, a AliExpress je uveo obaveznu plaćenu dostavu jeftine robe (nakon čega su se paketi gubili mnogo češće), kasnije sam naručio uobičajeni Pro Mini Atmega168 (bez PA) 3.3V 8MHz. Malo sam eksperimentirao s načinima uštede energije s obje ploče, u svaku sam stavio posebnu skicu, uronivši mikrokontroler u način maksimalne uštede energije, i dogodilo se ovo:
1) Arduino Pro Mini "RobotDyn": ~ 250μA
2) Arduino Pro Mini "NoName": kada je napajanje priključeno na regulator napona (RAW izlaz) i LED je uklonjena, trenutna potrošnja je bila ~ 3.92mA




- kako razumijete, razlika u potrošnji energije je skoro 16 puta, a sve zato što NoName "Pro Mini" koristi hrpu Atmega168 +, od kojih MK jede samo 20μA struje (ovo sam posebno provjerio), sav ostatak proždrljivosti pada na linearni pretvarač napona AMS1117 - tehnički list to samo potvrđuje:


U slučaju ploče RobotDyn, paket je nešto drugačiji - ovo je Atmega168PA + - ovdje smo koristili drugi LDO stabilizator, čije su se karakteristike u smislu uštede energije pokazale ugodnijim:


Nisam ga lemio pa ne mogu reći koliko Atmega168PA troši struju u svom čistom obliku. U ovom slučaju bilo mi je dosta ~ 250μA kada se napaja Nokia litijumskom baterijom. Međutim, ako lemite AMS1117 iz NoName "matične ploče, onda je ATmega168 običan, u svom čistom obliku, kao što sam gore rekao, troši 20μA.
LED diode za napajanje se mogu ugasiti nečim oštrim. Nije problem. Stabilizator je lemljen sušilom za kosu. Međutim, nemaju svi sušilo za kosu i vještine za rad s njim, pa obje gore navedene opcije imaju pravo na postojanje.

Neoway M590E modul

Specifikacije:
Učestalosti: EGSM900 / DCS1800 Dvopojasni, GSM850 / 1900 ili Četveropojasni
Osetljivost:-107dBm
Maksimalna snaga prenosa: EGSM900 Class4 (2W), DCS1800 Class1 (1W)
Vršna struja: 2A
Radna struja: 210mA
Struja spavanja: 2.5mA
Radna temperatura:-40 ° C ... + 85 ° C
Radni napon: 3.3V ... 4.5V (preporučuje se 3.9V)
Protokoli: GSM / GPRS Phase2 / 2 +, TCP / IP, FTP, UDP itd.
Internet: GPRS KLASA 10
Tehnički list:

Najjeftiniji GSM-modul koji se može naći na tržištu u pravilu je rabljen, koji nije uvijek lemljen pametnim kineskim rukama iz opreme. Zašto nije uvijek spretno? Da, sve zbog lemljenja sušilom za kosu - često ti moduli dolaze ljudima s kratkim spojem plus i minus, što je jedan od razloga njihove neoperativnosti. Stoga je prvi korak zvonjenje kontakata za napajanje radi kratkog spoja.

Bilješka. Zasebnu važnu točku, po mom mišljenju, želio bih napomenuti - ovi moduli mogu imati okrugli koaksijalni konektor za antenu, koji vam omogućuje da zasebno naručite ozbiljniju antenu i povežete je s modulom bez plesanja s tamburom. Mogu doći i bez ovog konektora. Tada govorimo o najjeftinijim setovima. Ako se ne želite osloniti na slučajnost, postoje malo skuplji kompleti, gdje je ovaj konektor prisutan + vanjska antena na tektolitnoj ploči uključena je u komplet.

Ovaj je modul također hirovit prije napajanja, jer na svom vrhuncu troši do 2A struje, a čini se da je dioda uključena u komplet zamišljena da snizi napon s 5V (zbog čega je zapisano na samoj ploči od 5V ) na 4,2 V, ali sudeći prema pritužbama ljudi, stvara više problema nego koristi.
Pretpostavimo da ste već sastavili ovaj modul, a umjesto diode, lemljen je kratkospojnik, jer ga nećemo napajati naponom od 5 V, već ćemo ga napajati izravno iz litijeve baterije, što je u granicama dopuštenog naponi 3.3-4.2V.
Bit će potrebno nekako ga povezati s računarom i provjeriti operativnost. U ovom slučaju bolje je kupiti unaprijed - preko njega ćemo komunicirati s modulom i Arduino pločama putem UART serijskog sučelja (USART).
Veza je prikazana ispod na slici (nacrtao sam je kako mogu):
TX modem >>> RX pretvarač
RX modem<<< TX конвертера
Battery Plus - Modem Plus
Minus litijumske baterije kombinovan je sa GND modema i GND pretvarača
Za pokretanje modema, primijenite BOOT pin kroz otpornik od 4,7 kOhm na GND


U međuvremenu pokrenite program na računaru. Obratite pažnju na postavke:
1) Odaberite COM port na koji je priključen TTL pretvarač, u mom slučaju to je COM4, ​​možda imate drugi.
2) Odaberite brzinu prijenosa. (Ovdje postoji jedna 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 krekeri dođu kao odgovor , isključit će se, odabrati drugu brzinu i ponavljati naredbu, i tako dalje dok ne dobijete OK odgovor).
3) Odaberite dužinu paketa (u ovom slučaju 8 bita), bit parnosti je onemogućen (nema), zaustavni bit je (1).
4) Označite okvir + CR, a zatim će se znak za vraćanje nosača automatski dodati svakoj naredbi koju pošaljemo modulu na kraju - modul razumije naredbe samo s ovim znakom na kraju.
5) Veza, ovdje je sve jasno, kliknuli smo i možemo raditi s modulom.

Ako kliknete na "Connect", a zatim pokrenete modul primjenom BOOT -a kroz otpornik od 4,7K na tlo, tada će terminal prvo prikazati natpis "MODEM: STARTUP", a zatim, nakon nekog vremena, natpis "+ PBREADY" , što znači da telefonski imenik, iako može biti prazan:

Pod ovom spojlerom AT naredba s primjerima

Štampamo naredbu AT - kao odgovor, modul nam šalje našu naredbu, budući da je uključen način odjeka, i OK:

Provjerimo status modema naredbom AT + CPAS - kao odgovor, naša naredba je opet, + 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 povezivanja, 5 - stanje mirovanja. Nisam našao podatke o 1 i 2.

Promjena brzine prijenosa podataka na UART -u događa se naredbom AT + IPR = 9600 - to je ako vam je potrebna brzina od 9600. Ako postoji neka druga, slična je na primjer AT + IPR = 19200 ili AT + IPR = 115200.

Provjerimo mrežni signal. AT + CSQ, dolazi odgovor + CSQ: 22.1 - vrijednost za decimalnu točku ima raspon 0 ... 31 (115 ... 52dBl) - ovo je nivo signala, što više, to bolje. Ali 99 znači njegovo odsustvo. Vrijednost nakon decimalne točke je kvaliteta signala 0 ... 7 - ovdje je već suprotno, što je manji broj, to bolje.

Onemogućite način odjeka slanjem naredbe ATE0 kako vam dvostruke naredbe ne bi smetale. Obrnuto, ovaj način rada uključuje naredba ATE1.

Pogledajte verziju firmvera AT + GETVERS



Ove i mnoge druge naredbe se mogu pregledati

Ploče za poravnavanje

Dok se Pro Mini lako lemi na matičnu ploču, situacija s GSM modulom je malo složenija. njegov češalj za kontakt nalazi se samo s jedne strane, a ako lemite samo njega, onda će druga strana ploče jednostavno visjeti u zraku. Zatim sam, opet na oko, morao izbušiti 3 dodatne rupe u blizini tri ugla na ploči. Područja oko svake rupe su zatim uklonjena s maske. Radi praktičnosti, odspojene kabele sa češlja stavio sam na lemljenu ploču (bijelu) i, instaliravši na njih ploču GSM modula, normalno lemio:

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


Ispostavilo se da se dodatni kontakt, koji je u osnovi GND, našao pored GND -a Pro Mini ploče, pa je tako postalo moguće kombinirati uzemljenje GSM modula i Pro Mini s kapljicom lema (dugačak iglica u sredini, a desno od nje je pin Mini Mini) - označio sam ih strelicama. Naravno da je ispalo pomalo krivo, ali sada se pouzdano drži:



Ostalo je malo prostora između ploča - u nju sam postavio ploču za kontrolu punjenja litijuma s prethodno lemljenim microUSB konektorom i lemljenim žicama.

Marama tu vrlo dobro pristaje, dok će sjaj LED dioda sa strane biti jasno vidljiv kroz malu rupu na kućištu.



Postolja za PCB

Da bih sigurno popravio ploču unutar kućišta, morao sam provesti nekoliko dana razmišljajući o tome kako se to može implementirati. Opcija s ljepilom za topljenje nije razmatrana iz nekoliko razloga - može otpasti, deformirati se i što je najvažnije, strukturu bi bilo teško rastaviti.
Došao sam na ideju da bi ovdje najjednostavnija i najispravnija opcija bila upotreba stalka koje, naravno, nisam imao. Međutim, bilo je nekoliko neradnih punjača, odakle je izrezan jedan dugi stalak s navojem za samorezne vijke. Svako postolje je prerezano na pola i završeno turpijom do otprilike 9,5 mm - na ovoj visini baterija koja se nalazi ispod ploče ima dovoljnu marginu, oko 2 mm - to se radi tako da lemljeni kontakti ploče ne dodiruju sa svojim vrhovima i tako da je moguće umetnuti komad između njih pjenaste gume 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, na čijim sam krajevima izbušio rupu, a zatim ih pričvrstio na iste vijke koji su uvrnuti u stalke. Kako to izgleda pogledajte na fotografiji ispod.
Sljedeći korak je pričvršćivanje nekoliko stalka s druge strane ploče, odnosno odozgo, tako da se poklopac, kad se kućište zatvori, lagano naslanja na te police, stvarajući dodatno pričvršćivanje. Nešto kasnije, u ovom slučaju, naišao sam na tijelo ispod sovjetskog propagandnog radija (da je pronađeno ranije, odavde bih uzeo sve police), gdje sam našao nekoliko više ili manje odgovarajućih visina, ali prvo sam ih izbušio u sredini bušilicom ispod samoreznih vijaka. Zatim ih je izrezao i također dovršio turpijom, uklanjajući višak. Ovdje imam jednu suptilnost - na fotografiji možete vidjeti da je jedno bijelo postolje pričvršćeno za getinax ploču s ruba, a drugo bijelo - direktno na ploču modula, jer s jedne ivice modemske ploče potpuno prekriva donju ploču, a sa suprotne ivice - naprotiv - donja gleda prema van. Istodobno, na obje ploče bilo je potrebno dodatno izbušiti rupe kako bi kapice samoreznih vijaka mogle slobodno prolaziti.
I na kraju, ostaje se pobrinuti da ploča bude paralelna s kućištem - u ovom slučaju držači koji se koriste za pričvršćivanje žica i kabela na zid savršeno su uklonili, prethodno sam uklonio čavle s njih. Nosači se dobro prianjaju na ploču sa udubljenom stranom bez ikakvih dodatnih uređaja, jedino je desno od SIM kartice, pokazalo se da je širina držača prevelika i da se mora brusiti.
Svi detalji prilagođeni su okom i empirijski, ispod fotografije svega navedenog:



Konektori. LED diode. Dugme.

Pošto sam ostao bez češlja, morao sam demontirati 6-pinski konektor sa ploče DVD pogona, koji sam zatim lemio na Pro Mini, ovo je radi praktičnosti bljeskanja ploče. U blizini sam lemio okrugli konektor (Nokia 3,5 mm) za punjenje litija.

Tijelo 6-pinskog konektora blago je završeno turpijom, jer su mu rubovi malo stršili iznad tijela. Utičnica za punjenje savršeno pristaje uz zid kućišta.

S druge strane ploče lemio sam dugme za ponovno pokretanje uređaja i dvije LED diode za otklanjanje grešaka u firmveru - crvena LED je spojena na GSM modul, druga zelena LED na pin 10 Pro Mini - lakše mi je za otklanjanje grešaka u programu pomoću njega.

Dorada baterije

Prazna Nokia baterija iz Nokijinih telefona nije ništa manje uobičajena od 18650, ali mnogi je jednostavno odbijaju koristiti zbog neugodnosti povezivanja kontakata koji su uvučeni u samu bateriju. Neželjeno ih je lemiti pa je odlučeno upotrijebiti metodu koju su oni predložili, naime za izradu priključnog bloka od gumice za tiskanice i bakrene žice (debljine 1,5 mm).
Prvo sam probušio komad gumice s dvije žice s unaprijed ogoljenim krajevima i stavio je na kontakte baterije tako da se udaljenost između njih podudara,
Savio sam vrhove, pokosio ga lemilicom i malo ga povukao prema dugim krajevima tako da su nastali kontakti utonuli u gumicu.



Postavljanje na bateriju:

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

Montaža.

Glavni dio posla je obavljen, ostaje prikupiti i popraviti sve to.
Između baterije i ploče stavio sam komad pjenaste gume kako se kasnije ne bi uvukao u kućište. Dodatno sam lemio kondenzator od 2200 uF za napajanje modula.

Kada je punjenje povezano:

Okvir. Vanjski priključni blok.

Dobio sam futrolu na lokalnom radijskom tržištu za oko 1,5 USD, ako se prevede u dolare, dimenzija 95x60x25mm, gotovo veličine pakovanja cigareta. Izbušio sam nekoliko rupa u njemu. Prvo, za 4-pinski terminalni blok, preuzet iz neispravnog zatamnjivača.
Potpuno sam oslobodio dva ekstremna kontakta s vijaka s brtvama, izbušio rupe za duže vijke, na kojima će se cijeli priključni blok držati za kućište. Na samom kućištu, naravno, dvije krajnje rupe bit će velike, a dvije u sredini manje - imat će igle kroz njih, od kojih je jedna spojena na VCC Pro Mini, a druga iglica na pin 2 .

Bušenje rupa, iako na prvi pogled jednostavno, ipak ne oduzima manje vremena, vrlo ga je lako propustiti, pa sam to učinio prvo s manjom, a zatim s većom bušilicom.

Za taktičko dugme odabrao sam čep s blago udubljenim vrhom kako bi bilo prikladno pogoditi ga šibicom ili spajalicom kroz uski otvor na kućištu.

Ploča u kućištu sa spojenom petljom USB-TTL pretvarača:

O anteni.
Antena se, kao što ste mogli primijetiti usput, stalno mijenjala dok sam eksperimentirao s različitim domaćim antenama. U početku je na ploči modula bio okrugli koaksijalni konektor, ali se peti put koristio za vanjsku antenu i jednostavno se raspao, pa imajte na umu da je slab. Kao rezultat toga, iscijepao sam antenu na PCB -u sa starog usmjerivača i lemio je na ploču modula, tk. hvata mrežu malo bolje od opruge i žice.

Pa, potpuno sastavljen s priključenim punjačem izgleda ovako:

Test. Kako radi:

Osim testova sa antenama, provjerio sam kako bi se alarm ponašao na ulici, po mrazu -15. Da bih to učinio, jednostavno sam unutrašnjost stavio u posudu i ostavio preko noći na balkonu, alarm se nije pokrenuo, pokazalo se da je razlog općenito očit - litij ne voli mraz. To je potvrdilo još jedno ispitivanje, gdje sam ostavio bateriju kod kuće, a ploču sam kroz dugačke žice iznio na ulicu i ostavio je tamo jedan dan u istom mrazu - operacija, kao da se ništa nije dogodilo. S druge strane, bilo bi čudno da alarm ne radi. u tehničkim podacima za atmega, za modul, za kvarc - dozvoljene radne temperature do -40 stepeni.

Princip rada organiziran je vanjskim prekidom, u početku je pin 2 zatvoren za VCC i stoga je logički 1 podržan na pinu, a kontroler spava. Čim se kontakt prekine i 0 se pojavi na pinu 2, mikrokontroler se budi, spušta 3. iglu (na koju je modemski BOOT povezan preko otpornika) na masu - modul se pokreće, MC povremeno ispituje modul radi spremnosti, i čim uhvati mrežu, odmah šalje poziv na telefonski broj vlasnika naveden u kodu. Nakon odbijanja poziva, uređaj se isključuje bez slanja više beskrajnih poziva nego što su krivi mnogi kineski alarmi.

Dodatne informacije

#include #include // biblioteka softvera UART SoftwareSerial gsm (7, 6); // RX (7), TX (6) void wakeUp () () // prazni rukovalac prekidima ////////////////////////////// ///////////////// 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(); // укладываем контроллер спать } }

Krug (bez upravljačke ploče za pražnjenje naboja)



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 izmjenu. Arduino sa svojim pseudojezičkim ožičenjem jako me uznemirio, jer bio je jedan neugodan trenutak u radu. Kada sam koristio funkcije za rad s portovima digitalWrite (); ili pinMode (); - tada je GSM modul iz nekog razloga vrlo često prekinuo vezu. Ali vrijedilo ih je zamijeniti nakazama poput DDRB | = (1<Samo rad izravnog pristupa portovima učinio je da uređaj radi kako je predviđeno.

Uštedu energije ...
Sklopljeni uređaj radio je puna četiri mjeseca bez punjenja i nastavlja raditi, iako bi bilo ispravnije reći "spavanje". To se provjerava jednostavnim ponovnim pokretanjem putem bijelog dugmeta. Uz potrošnju energije od 250 μA (preko stabilizatora LE33) i bateriju od ~ 1430 mAh, iako je u redu, zbog nenovitosti baterije zaokružujemo na 1000mAh, ispostavlja se da uređaj može spavati oko 5,5 meseci bez punjenja. Ako ipak isparite stabilizator, tada se vrijeme rada može sigurno pomnožiti s 10 puta. Ali u mom slučaju to nema potrebe, jer i dalje morate trošiti stanje sa SIM kartice svaka tri mjeseca, u isto vrijeme uređaj se može provjeriti i napuniti.
Primjer uštede energije dat u pregledu daleko je od granice, budući da sudeći prema podacima iz podatkovne tablice, moguće je smanjiti frekvenciju takta mikrokontrolera (a to se radi ugradnjom osigurača) na 1 MHz i, ako primijenite napon od 1,8 V, tada će potrošnja pasti ispod 1μA bara u aktivni način rada. Nije loše! Ali ako MC radi iz internog RC generatora, pojavit će se drugi problem - UART eter će biti začepljen smećem i greškama, posebno ako se kontroler grije ili hladi.

Po završetku ...
1) Obična žica instalirana na otvor nije baš zgodna, planiram eksperimentirati s Hall senzorom i trskastim 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 "glavnog broja" bez učešća računara i treptanja. Ovo već mora raditi s EEPROM -om.
3) Pokušajte s prekidima sa nadzornog mjerača vremena, ali ne samo radi znatiželje, već tako da se mikrokontroler povremeno sam budi, vrši mjerenje napona baterije i šalje primljenu vrijednost putem SMS -a, kako bi bili svjesni koliko baterija je ispražnjena.
4) Solarni panel može u potpunosti eliminirati potrebu za ponovnim punjenjem uređaja, što će biti posebno važno za baterije niskog kapaciteta.
5) Dugo sam želio kupiti LiFePo4 baterije koje, prema recenzijama, normalno podnose mraz, ali dok sam tražio prikladnu parcelu, proljeće je već neprimjetno došlo.
6) Rad na estetskoj komponenti

Koji Pro Mini kupiti?
Ako nema sušila za kosu, tada Pro Mini "RobotDyn" Atmega168PA 3.3V, isključite LED diodu nečim oštrim i imate ~ 250μA.
Ako imate sušilo za kosu, bilo koju ploču, lemite stabilizator i LED za napajanje - dobit ćete ~ 20μA trenutne potrošnje.

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

Planiram kupiti +174 Dodaj u favorite Recenzija mi se dopala +143 +278


Kako napraviti jednostavan GSM alarmni sistem za SIM800L i Arduino za garažu ili vikendicu. To radimo sami na osnovu gotovih modula s Aliexpressa. Osnovni moduli- GSM modul SIM800L, Arduino Nano (možete koristiti bilo koji Uno itd.), Padajuća ploča, baterija za mobitel.

Pirinač. 1. Raspored sigurnosnih alarmnih modula na Arduinu

Proizvodnja signala

Montiramo se na ploču kroz pločice, što će vam omogućiti zamjenu modula ako je potrebno. Omogućavanje alarma napajanjem od 4,2 V preko prekidača na SIM800L i Arduino Nano.



Kada se pokrene prva petlja, sistem prvo pozove prvi broj, zatim prekine poziv i vrati poziv na drugi broj. Drugi broj se dodaje u slučaju da se prvi iznenada isključi itd. Kada se aktivira druga, treća, četvrta i peta petlja, šalje se SMS sa brojem aktivirane zone, takođe na dva broja. Shema i skica koje zanima opis ispod videa.
Svu elektroniku stavljamo u odgovarajuće kućište.



Ako vam ne trebaju 5 stubova, spojite 5V pin Arduina na ulaze koji vam ne trebaju. GSM alarmni sistem za 5 petlji s baterijom, koji će omogućiti uređaju da nastavi raditi autonomno nekoliko dana u slučaju nestanka struje. Na njih možete spojiti bilo koje sigurnosne kontaktne senzore, relejne kontakte itd. Kao rezultat toga, dobivamo jednostavan, jeftin kompaktni sigurnosni uređaj za slanje SMS -a i biranje na 2 broja. Može se koristiti za čuvanje ljetnikovca, stana, garaže itd.

Više u videu



Slične publikacije