Tuleohutuse entsüklopeedia

Liikumisanduri ja selle ühendamise kohta Arduinoga. Arduinol põhineva liikumisanduri ja infrapunaanduritega valvesignalisatsiooni loomine Sireeniga Arduino alarm

Kevadega kaasnevad teatavasti kõikvõimalikud ägenemised ja nüüd on põhiline “ägenemine” oma aukudest tänavale pugenud, et omastada endale mittekuuluvat. See tähendab, et teie vara kaitsmise teema muutub aktuaalsemaks kui kunagi varem.
Saidil on juba mitmeid omatehtud arvustusi. Need on loomulikult funktsionaalsed, kuid kõigil on üldine omadus- sõltuvus pistikupesast. Kui see ei ole probleem kinnistul, kus on juba elekter, siis kuidas on lood kinnistuga, kus pistikupesa on kaugel või ümbrus on täielikult välja lülitatud? Otsustasin valida teist teed - panna kokku võimalikult lihtne ja vooluvõrgust sõltumatu pikaealine seade, mis magab kogu aeg ja kui röövlid sisse murravad, siis käivitub ja helistab omaniku telefonile, signaalimine lihtsa äratuskõnega.

Vaadake üksused üle

Ostetud:
1. Leivalaudühepoolne 5x7 cm: getinaks- või klaaskiud
* - klaaskiud on palju parema kvaliteediga kui getinax.
2. Neoway M590 moodul - antenniga PCB-l -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3.3V -
4. Liitiumi laadimise ja tühjenemise juhtplaat -

Kaevandatud tsivilisatsiooni varemetest:
1. Seadmekarpidest lõigatud laudade nagid - 6 tk.
2. Tühi liitiumaku 1300 mAh
3. Klambrid, mida kasutatakse kaabli kinnitamiseks seinale
4. Kirjatarvete kustutuskumm
5. Vasktraat paksusega 1,5 mm
6. Instrumentide korpus kohalikult raadioturult - 1.5$
7. Paar LED-i erinevat värvi(võetud VHS mängijast)
8. Antenn ja nupp koos korgiga (võetud Wi-Fi ruuterist)
9. 4-kontaktiline klemmiplokk (võetud dimmerist)
10. Toitepistik (võetud vanast 18650 laadijast)
11. 6-kontaktiline pistik (võetud DVD-seadmest)
12. Saab(näiteks kohvist)

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

Tehnilised andmed:
Mikrokontroller: ATmega168PA
Otsene tööpinge:.8 - 5,5 V
Tööpinge läbi stabilisaatori LE33: 3,3 V või 5 V (olenevalt mudelist)
Töötemperatuur:-40°C…105°C
Sisendpinge: 3,35–12 V (3,3 V mudel) või 5–12 V (5 V mudel)
Digitaalsed sisendid/väljundid: 14 (millest 6 saab kasutada PWM-väljundina: 3, 5, 6, 9, 10 ja 11)
Analoogsisendid: 6
Taimerid-loendurid: kaks 8-bitist ja üks 16-bitine
Energiasäästurežiimid: 6
Alalisvool sisendi/väljundi kaudu: 40 mA
Välkmälu: 16 KB (2 kasutatakse alglaaduri jaoks)
RAM: 1 KB
EEPROM: 512 baiti
Mälu salvestamise/kustutamise ressurss: 10 000 Flash / 100 000 EEPROM
Kella sagedus: 8 MHz (3,3 V mudel) või 16 MHz (5 V mudel)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) ja A5 (SCL)
UART TTL: 0 (RX) ja 1 (TX)
Andmeleht:

Valik langes sellele atmegale täiesti juhuslikult. Ühel foorumil, kus arutati energiasäästlikke projekte, oli kommentaarides nõu 168. atmega kasutamiseks.
Sellise tahvli leidmiseks pidin aga nokitsema, kuna üsna sageli täideti kõik partiid 328 atmega sagedusel 16 MHz, töötades 5V-lt. Minu projekti jaoks olid sellised omadused algusest peale üleliigsed ja ebamugavad ning otsimine muutus keerulisemaks.
Selle tulemusel leidsin eBays Atmega 168PA Pro Mini 3,3-voldise versiooni ja mitte lihtsalt Hiina versiooni, vaid Venemaa arendaja RobotDyn kaubamärgi all. Jah, alguses, nagu sinul, oli ka minul terake kahtlust. Aga asjata. Kui projekt oli juba kokku pandud ja AliExpress kehtestas odava kauba kohustusliku tasulise kohaletoimetamise (pärast hakkasid pakid palju sagedamini kaduma), tellisin hiljem tavalise Pro Mini Atmega168 (ilma PA-ta) 3,3 V 8 MHz. Katsetasin veidi energiasäästurežiimidega mõlema plaadiga, vilksatades kummalegi spetsiaalse sketši, mis pani mikrokontrolleri maksimaalse energiasäästurežiimi ja välja tuli selline:
1) Arduino Pro Mini "RobotDyn": ~250µA
2) Arduino Pro Mini “NoName”: kui pingestabilisaatorile (RAW-tihvt) toide antakse ja LED on joodetud, siis voolutarve on ~3,92mA




- nagu aru saate, on energiakulu erinevus peaaegu 16-kordne, kõik sellepärast, et NoName'i Pro Mini kasutab Atmega168+ kombinatsiooni, millest MK ise ainult sööb 20uA voolu (kontrollisin seda eraldi), kogu ülejäänud ahnuse võtab arvesse lineaarpingemuundur AMS1117 - andmeleht ainult kinnitab seda:


RobotDyni plaadi puhul on kombinatsioon mõnevõrra erinev - see on Atmega168PA+ - siin kasutatakse teistsugust LDO stabilisaatorit, mille omadused energiasäästu osas osutusid meeldivamaks:


Ma ei jootnud seda maha, nii et ma ei saa öelda, kui palju voolu Atmega168PA puhtal kujul tarbib. Sel juhul oli mul küllalt ~250µA kui toiteallikaks on Nokia liitiumaku. Kui aga jootte AMS1117 NoName" emaplaadilt lahti, kulub tavaline ATmega168 puhtal kujul, nagu ma eespool ütlesin. 20uA.
Toiteallikaga LED-e saab millegi teravaga maha lüüa. See pole probleem. Stabilisaator oli fööniga lahti joodetud. Kuid kõigil pole fööni ja sellega töötamise oskusi, seega on mõlemal ülaltoodud valikul õigus eksisteerida.

Neoway M590E moodul

Tehnilised andmed:
Sagedused: EGSM900/DCS1800 kaheribaline või GSM850/1900 või neljaribaline
Tundlikkus:-107dBm
Maksimaalne saatevõimsus: EGSM900 klass 4 (2W), DCS1800 klass 1 (1W)
Tippvool: 2A
Töövool: 210mA
Une vool: 2,5 mA
Töötemperatuur:-40°C… +85°C
Tööpinge: 3,3 V…4,5 V (soovitatav 3,9 V)
Protokollid: GSM/GPRS Phase2/2+, TCP/IP, FTP, UDP jne.
Internet: GPRS-KLASS 10
Andmeleht:

Tavaliselt kasutatakse kõige odavamat GSM-moodulit, mida turult leida saab, mitte alati osavate Hiina kätega seadmetest joodetud. Miks mitte alati osav? Jah, kõik fööniga lahtijootmise tõttu - sageli saavad inimesed need moodulid lühistatud pluss- ja miinustega, mis on üks nende töövõimetuse põhjusi. Seetõttu on esimene samm kontrollida toitekontaktide lühise olemasolu.

Märge. Eraldi minu meelest olulise punktina märgin ära, et nendel moodulitel saab antenni jaoks kaasas olla ümmargune koaksiaalpistik, mis võimaldab eraldi tellida tõsisema antenni ja ühendada selle mooduliga ilma tamburiiniga tantsimata. Või võivad need tulla ilma selle pistikuta. Seda siis, kui räägime kõige odavamatest komplektidest. Kui õnnelikule õnnetusele loota ei taha, siis on veidi kallimaid komplekte, kus see pistik on olemas + komplektis on väline antenn textoliitplaadil.

See moodul on kapriisne ka toiteallika osas, kuna tipphetkel tarbib see kuni 2A voolu ja komplekti kuuluv diood näib olevat mõeldud pinget 5V-lt alandamiseks (sellepärast on plaadil endal kirjas 5V ) 4,2V peale, kuid otsustades Inimeste kaebuste järgi tekitab see rohkem tüli, kui asi väärt on.
Oletame, et olete selle mooduli juba kokku pannud ja dioodi asemel on sisse joodetud hüppaja, kuna me ei anna sellele 5 V pinget, vaid toitame seda otse liitiumakult, mis on lubatud piires. pinge piirid 3,3-4,2V.
Peate selle kuidagi arvutiga ühendama ja funktsionaalsust kontrollima. Sel juhul on parem see endale eelnevalt osta - selle kaudu suhtleme mooduli ja Arduino plaatidega UART jadaliidese (USART) kaudu.
Ühendus on näidatud alloleval pildil (joonistasin nii hästi kui oskan):
TX-modem >>> RX-muundur
RX modem<<< TX конвертера
Aku pluss - Modem pluss
Liitiumaku miinus on kombineeritud modemi ja muunduri GND-ga
Modemi käivitamiseks rakendage BOOT-tihvt läbi 4,7 kOhm takisti GND-le


Vahepeal käivitage programm arvutis. Pöörake tähelepanu sätetele:
1) Valige COM-port, millega TTL-muundur on ühendatud, minu puhul on see COM4, ​​teie oma võib olla erinev.
2) Valige andmeedastuskiirus. (Siin on nüanss, sest mooduleid ise saab seadistada erinevatele kiirustele, kõige sagedamini 9600 boodi või 115 200 boodi. Siin tuleb see valida empiiriliselt, valides mingi kiiruse, ühenduda ja saata AT käsk, kui praod tulevad vastuseks katkestab ühendus, valib teise kiiruse ja kordab käsku, kuni vastus on OK).
3) Valige paketi pikkus (antud juhul 8 bitti), paarsusbitt keelatud (puudub), stoppbitt (1).
4) Märkige kindlasti ruut +CR, ja seejärel lisatakse igale käsule, mille me lõpus moodulile saadame, automaatselt käru tagastusmärk - moodul mõistab käske ainult selle märgiga lõpus.
5) Ühendus, siin on kõik selge, klõpsake nuppu ja saame mooduliga töötada.

Kui klõpsate "Ühendus" ja seejärel käivitate mooduli, rakendades BOOT-i läbi 4,7K takisti maandusele, kuvatakse terminalis esmalt kiri "MODEM:STARTUP", seejärel mõne aja pärast kiri "+PBREADY". see tähendab, et telefoninumber on loetud raamatust, kuigi see võib olla tühi:

Selle spoileri all on AT-käsud koos näidetega

Prindime käsu AT - vastuseks saadab moodul meile meie käsu, kuna kajarežiim on lubatud ja OK:

Kontrollime modemi olekut käsuga AT+CPAS – vastuseks on jälle meie käsk, +CPAS: 0 ja OK.
0 tähendab, et moodul on töövalmis, kuid olenevalt olukorrast võib olla ka teisi numbreid, näiteks 3 – sissetulev kõne, 4 – ühendusrežiimis, 5 – puhkerežiim. Ma ei leidnud 1. ja 2. kohta teavet.

Andmeedastuskiiruse muutmine UART-i kaudu käib käsuga AT+IPR=9600 – seda siis, kui vajad kiirust 9600. Kui midagi muud, näiteks AT+IPR=19200 või AT+IPR=115200 sarnast.

Kontrollime võrgu signaali. AT+CSQ, vastus tuleb +CSQ: 22.1 - väärtus enne koma on vahemikus 0... 31 (115... 52 dBl) - see on signaali tase, mida kõrgem, seda parem. Kuid 99 tähendab selle puudumist. Väärtus pärast koma on signaali kvaliteet 0...7 – siin on vastupidi, mida väiksem number, seda parem.

Keelame kajarežiimi, saates käsu ATE0, et dubleerivad käsud ei segaks. See režiim lülitatakse uuesti sisse käsuga ATE1.

Vaadake püsivara versiooni AT+GETVERS



Neid ja paljusid teisi käske saab vaadata

Laudade joondamine

Kui Pro Mini leivalauale jootmine pole keeruline, siis GSM-mooduliga on olukord mõnevõrra keerulisem, sest selle kontaktkamm asub ainult ühel küljel ja kui jootte ainult selle, jääb plaadi teine ​​pool lihtsalt õhku rippuma. Seejärel pidin uuesti puurima 3 auku silma järgi laua kolme nurga lähedale. Seejärel maskeeriti iga auku ümbritsevad alad. Mugavuse huvides asetasin kammi küljest lahti ühendatud juhtmed jooteta leivaplaadile (valgele) ja paigaldasin neile GSM-mooduli plaadi, jootsin need tavapäraselt:

Hiljem pidin tegema veel ühe augu, minu puhul tähe “I” peale, kus on kirjas “Made In China”, tahvli servast.


Selgus, et lisatud kontakt, mis on sisuliselt GND, asus Pro Mini plaadi GND kõrvale ja nii sai võimalikuks GSM mooduli ja Pro Mini maanduse ühendamine jootetilgaga (pikk tihvt keskel ja Pro Mini tihvt sellest paremal) – märkisin need nooltega. Muidugi osutus see veidi viltu, kuid nüüd hoiab see kindlalt:



Plaatide vahele jäi natuke ruumi - sinna asetasin liitiumi tühjenemise laadimise juhtplaadi koos eeljoodetud microUSB pistiku ja joodetud juhtmetega.

Sall sobib sinna väga tihedalt ning küljes olevate LED-ide helendus on läbi korpuses oleva väikese augu hästi näha.



Kaardiriiulid

Tahvli turvaliseks korpuse sisse kinnitamiseks pidin paar päeva mõtlema, kuidas seda rakendada. Kuumliimiga varianti ei kaalutud mitmel põhjusel - see võib maha kukkuda, deformeeruda ja mis kõige tähtsam, konstruktsiooni oleks raske lahti võtta.
Jõudsin järeldusele, et kõige lihtsam ja õigem variant oleks siin kasutada aluseid, mida mul loomulikult polnud. Küll aga oli paar mittetöötavat laadijat, millest sai välja lõigatud üks pikk, isekeermestavate kruvide keermega alus. Iga alus saeti pooleks ja viiliti alla umbes 9,5 mm - just sellel kõrgusel on plaadi all asuval akul piisav varu umbes 2 mm - seda tehakse selleks, et plaadi joodetud kontaktid nende otstega ei jääks kokku puudutage seda ja nii, et nende vahele oleks võimalik tükk fikseerimiseks vahtplastist panna.
Mis puudutab plaadi otse korpuse külge kinnitamist, siis siin lõikasin kohvipurgist neli riba, mille otstesse puurisin augu, seejärel kinnitasin need samade kruvide külge, mis on nagidesse kruvitud. Vaata alloleval fotol, kuidas see välja näeb.
Järgmine samm on kruvida paar alust tahvli teisele küljele ehk peale, nii et korpuse sulgemisel toetuks kate veidi nendele alustele, luues täiendava kinnituse. Veidi hiljem sattus mulle selleks otstarbeks nõukogude propagandaraadio korpus (kui see oleks varem leitud, oleksin siit kõik stendid võtnud), kust leidsin paar enam-vähem sobivat kõrgust, aga kõigepealt puurisin need keskele puuriga isekeermestavate kruvide alla Siis saagisin need ära ja viimistlesin ka viiliga, eemaldades üleliigse. Siin tekkis mul üks peensus - fotol on näha, et üks valge alus on keeratud servast getinaksi plaadi külge ja teine ​​valge otse moodulplaadi külge, sest ühest servast katab modemiplaat alumise plaadi täielikult ja vastasservast - vastupidi - piilub juba alumine välja. Samal ajal tuli mõlemasse plaati puurida lisaaugud, et kruvide pead saaksid vabalt läbi käia.
Ja lõpuks jääb üle vaadata, et plaat oleks alati korpusega paralleelne - klambrid, millega juhtmeid ja kaableid seinale kinnitatakse, sobivad selleks ülesandeks suurepäraselt. Nõgusa küljega klambrid klammerduvad hästi ilma lisaseadmeteta, ainuke asi on SIM-kaardist paremal, kronsteini laius osutus liiga suureks ja pidin ka lihvima.
Kõiki üksikasju kohandati silma järgi ja katseliselt, allpool on foto kõigist ülaltoodutest:



Ühendused. LEDid. Nupp.

Kuna kamm sai otsa, pidin DVD-draivi plaadilt eemaldama 6-kontaktilise pistiku, mille siis Pro Mini külge jootsin, see on plaadi vilkumise mugavuse pärast. Läheduses jootsin liitiumi laadimiseks ümara pistiku (Nokiev 3,5mm).

6-kontaktilise pistiku korpus viimistleti veidi viiliga, sest selle servad ulatusid veidi kerest kõrgemale. Laadimispesa sobib ideaalselt vastu korpuse seina.

Tahvli teisele küljele jootsin seadme taaskäivitamiseks nupu ja kaks LED-i püsivara silumiseks - punane LED on ühendatud GSM-mooduliga, teine ​​roheline LED on ühendatud Pro Mini 10. viiguga - see on mul on lihtsam programmi siluda.

Aku modifitseerimine

Nokia telefonide tühjenenud Nokia aku pole vähem levinud kui 18650, kuid paljud lihtsalt keelduvad seda kasutamast, kuna aku endasse süvistatud kontaktide ühendamine on ebamugav. Nende jootmine on ebasoovitav, seetõttu otsustati kasutada nende pakutud meetodit, nimelt teha kontorikummist ja vasktraadist (1,5 mm paksune) ise kontaktplokk.
Kõigepealt torkasin läbi kahe eelnevalt eemaldatud otstega juhtmega kustutuskummi ja sättisin need aku kontaktidele nii, et nende vaheline kaugus langes kokku,
Painutasin otsad, tinatasin jootekolbiga ja tõmbasin pikkadest otstest veidi tagasi, nii et tekkinud kontaktid said kustutuskummile süvistatud.



Aku proovimine:

Kontaktploki saab kinnitada kummipaelaga või mässida sinise elektrilindiga, mida ma lõpuks tegingi.

Kokkupanek.

Põhiline osa tööst on tehtud, jääb üle vaid kokku panna ja salvestada.
Aku ja plaadi vahele panin tüki porolooni, et see hiljem korpuse sees ei liiguks. Lisaks jootsin mooduli toiteks 2200 µF kondensaatori.

Kui laadimine on ühendatud:

Raam. Väline klemmiplokk.

Kohalikul raadioturul oli ümbris saadaval umbes 1,5 dollari eest, kui see dollaritesse ümber arvutada, mõõtmetega 95x60x25 mm, mis on peaaegu sigaretipaki suurune. Puurisin sinna mitu auku. Esiteks 4-kontaktilise klemmiploki jaoks, mis on võetud mittetöötavast dimmerist.
Kaks väliskontakti vabastasin poltide küljest täielikult vahetükkidega, pikemate poltide jaoks puurisin augud, mis kogu klemmi korpuse küljes hoiavad. Korpusel endal on muidugi kaks välimist auku suured ja kaks keskelt väiksemad – nendest on keermestatud kontaktid, millest üks on ühendatud VCC Pro Miniga ja teine ​​kontakt tihvtiga. 2.

Aukude puurimine, kuigi esmapilgul lihtne ülesanne, ei ole siiski vähem töömahukas, seda on väga lihtne vahele jätta, nii et tegin selle esmalt väiksema läbimõõduga puuriga, seejärel suuremaga.

Taktnupuks valisin veidi nõgusa ülaosaga korgi, et seda oleks läbi vutlaris oleva kitsa augu tiku või kirjaklambriga lihtne kätte saada.

Tahvel ümbrisesse ühendatud USB-TTL muundurikaabliga:

Antenni kohta.
Antenn, nagu olete kogu ülevaate jooksul märganud, muutus pidevalt, kui katsetasin erinevaid omatehtud antenne. Algselt oli moodulplaadil ümmargune koaksiaalpistik, kuid viiendal korral, kui seda välisantenni jaoks kasutati, läks see lihtsalt laiali, nii et pidage meeles, et see on õhuke. Selle tulemusena rebisin vanalt ruuterilt trükkplaadil oleva antenni välja ja jootsin selle moodulplaadi külge, kuna... see püüab võrku natuke paremini kinni kui vedru ja traat.

Noh, täielikult kokkupanduna koos ühendatud laadimisega näeb see välja järgmine:

Test. Kuidas see töötab:

Lisaks katsetele antennidega kontrollisin, kuidas alarm väljas, -15 pakasega käitub. Selleks panin kogu siseküljed lihtsalt konteinerisse ja jätsin ööseks rõdule, alarm ei hakanud tööle, põhjus osutus üldiselt ilmseks - liitiumile pakane ei meeldi. Seda kinnitas veel üks test, kus jätsin aku koju ja viisin plaadi läbi pikkade juhtmete õue ja jätsin päevaks niisama samasse pakasesse - töötas nagu poleks midagi juhtunud. Teisest küljest oleks imelik, kui alarm ei töötaks, sest... Atmega, moodulite ja kvartsi andmelehtedel on lubatud töötemperatuurid kuni -40 kraadi.

Tööpõhimõte on korraldatud välise katkestuse abil, algselt suletakse viik 2 VCC-le ja seega hoitakse kontakti juures loogilist 1 ning kontroller magab. Niipea kui kontakt on katki ja kontaktile 2 ilmub 0, ärkab mikrokontroller, langetab 3. kontakti (millega modemi BOOT on takisti kaudu ühendatud) maandusele - moodul käivitub, MK küsib perioodiliselt moodulit. valmisolekuks ja niipea kui see võrku tabab, saadab kohe kõne koodis märgitud omaniku telefoninumbrile. Pärast kõne tagasilükkamist lülitub seade välja ilma lõputuid kõnesid saatmata, mis on paljude Hiina häiresüsteemide probleem.

Lisainformatsioon

#kaasa #kaasa // UART tarkvara raamatukogu SoftwareSerial gsm(7, 6); // RX(7), TX(6) void wakeUp()() // tühi katkestuse töötleja ///////////////////////////// /////////////// 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(); // укладываем контроллер спать } }

Elektriskeem (ilma laadimis-tühjenemise juhtplaadita)



Järeldused ja mõtted. Plaanid.

Alarmi kasutatakse suvilas, olen tööga rahul, kuid AVR-i edasisel uurimisel tekib üha rohkem ideid edasiseks muutmiseks. Arduino oma pseudokeelse juhtmestikuga ärritas mind tõsiselt, sest... Töös avastati üks ebameeldiv moment. Kui kasutasin pordifunktsioone digitalWrite(); või pinMode(); - millegipärast külmus GSM-moodul väga sageli. Kuid need tasus asendada selliste nippidega nagu DDRB|=(1<Ainult portidele otse juurdepääsu võimaldamine pani seadme ettenähtud viisil tööle.

Energiasäästu kohta...
Kokkupandud seade töötas täis neli kuud ilma laadimiseta ja töötab edasi, ehkki õigem oleks öelda “maga”. Seda saab kontrollida lihtsalt taaskäivitades valge nupuga. Voolukulu 250 μA (läbi LE33 stabilisaatori) ja ~1430 mAh aku, kuigi okei, aku uudsuse tõttu ümardame selle 1000 mAh-ni, selgub, et seade suudab magada u. 5,5 kuud ilma laadimiseta. Kui eemaldate ikkagi stabilisaatori, saab tööaega ohutult 10 korda korrutada. Aga minu puhul pole selleks vajadust, sest SIM-kaardi saldo tuleb ikka kord kolme kuu jooksul kulutada, samal ajal saab seadet kontrollida ja laadida.
Ülevaates toodud energiasäästu näide pole kaugeltki piir, sest andmelehel oleva teabe järgi otsustades saate mikrokontrolleri taktsageduse langetada (ja seda tehakse kaitsmete paigaldamisega) 1 MHz-ni ja 1,8 V pinge rakendamisel langeb tarbimine aktiivses režiimis alla 1 μA riba . Väga kena! Kuid kui MK-d käivitatakse sisemisest RC-ostsillaatorist, ilmneb veel üks probleem - UART-õhk on ummistunud prügi ja vigadega, eriti kui kontrollerit soojendatakse või jahutatakse.

Lõpetamisel...
1) Tavaline purunemiseks paigaldatud juhe pole eriti mugav, plaanin katsetada Halli anduri ja pilliroo lülitiga, kuigi viimase kohta öeldakse, et see pole eriti töökindel, kuna selle sees olevad kontaktid võivad kinni jääda.
2) Oleks tore lisada võimalus "omanikunumbrit" muuta ilma arvuti osaluseta ja seda vilkumata. Peate töötama EEPROM-iga.
3) Proovige valvekoera taimeri katkestusi, aga mitte lihtsalt uudishimu pärast, vaid selleks, et mikrokontroller ärkaks perioodiliselt ise üles, mõõdaks aku pinget ja saadaks saadud väärtuse SMS-iga, et olla kursis aku tühjenemisega.
4) Päikesepaneel võib täielikult välistada vajaduse seadme laadimiseks, see kehtib eriti väikese võimsusega akude kohta.
5) Pikemat aega tahtsin osta LiFePo4 akusid, mis hinnangute järgi peavad hästi külmale vastu, aga seni, kuni sobivat partii otsisin, oli kevad vaikselt juba saabunud.
6) Töötage esteetilise komponendi kallal

Millise Pro Mini peaksite ostma?
Kui sul pole fööni, siis Pro Mini “RobotDyn” Atmega168PA 3,3V, eemalda LED millegi teravaga ja sul on ~250 µA.
Kui sul on föön, siis suvaline plaat, jootke stabilisaator ja LED toiteallikaks - saate ~20 µA voolutarve.

See on praeguseks kõik, loodan, et ülevaade oli huvitav ja kasulik.

Plaan osta +174 Lisa lemmikutesse Mulle meeldis arvustus +143 +278

Infrapunaandureid (IR) kasutatakse tavaliselt kauguste mõõtmiseks, kuid neid saab kasutada ka objektide tuvastamiseks. Ühendades Arduinoga mitu IR-andurit, saame luua valvesignalisatsiooni.

Ülevaade

Infrapunaandureid (IR) kasutatakse tavaliselt kauguste mõõtmiseks, kuid neid saab kasutada ka objektide tuvastamiseks. IR-andurid koosnevad infrapunasaatjast ja infrapunavastuvõtjast. Saatja kiirgab infrapunakiirguse impulsse, samal ajal kui vastuvõtja tuvastab kõik peegeldused. Kui vastuvõtja tuvastab peegelduse, tähendab see, et anduri ees on mingil kaugusel mingi objekt. Kui pole peegeldust, pole ka objekti.

IR-andur, mida me selles projektis kasutame, tuvastab peegelduse teatud vahemikus. Nendel anduritel on väike lineaarne laenguga seotud seade (CCD), mis tuvastab nurga, mille all infrapunavalgus sensorile naaseb. Nagu alloleval joonisel näha, saadab andur infrapunaimpulsi kosmosesse ja kui anduri ette ilmub objekt, siis peegeldub impulss tagasi andurile nurga all, mis on võrdeline objekti ja anduri vahelise kaugusega. Anduri vastuvõtja tuvastab ja väljastab nurga ning selle väärtuse abil saate arvutada kauguse.

Ühendades Arduinoga paar IR-andurit, saame teha lihtsa valvesignalisatsiooni. Paigaldame andurid ukselengile ja andureid õigesti joondades suudame tuvastada, kui keegi uksest sisse astub. Kui see juhtub, muutub IR-anduri väljund ja me tuvastame selle muutuse, lugedes pidevalt Arduino abil andurite väljundit. Selles näites teame, et objekt läbib ukse, kui infrapunaanduri väljundnäit ületab 400. Kui see juhtub, käivitab Arduino häire. Alarmi lähtestamiseks saab kasutaja vajutada nuppu.

Aksessuaarid

  • 2 x IR kaugusandur;
  • 1 x Arduino Mega 2560;
  • 1 x helisignaal;
  • 1 x nupp;
  • 1 x 470 oomi takisti;
  • 1 x NPN transistor;
  • džemprid.

Ühendusskeem

Selle projekti diagramm on näidatud alloleval joonisel. Kahe IR-anduri väljundid on ühendatud kontaktidega A0 ja A1. Ülejäänud kaks tihvti on ühendatud 5V ja GND tihvtidega. 12-voldine helisignaal on transistori kaudu ühendatud viiguga 3 ja 4 viiguga on ühendatud alarmi vaigistamiseks kasutatav nupp.


Alloleval fotol on näha, kuidas andurid selle katse jaoks ukseraami külge liimisime. Muidugi, kui te seda regulaarselt kasutaksite, paigaldaksite andurid erinevalt.


Paigaldamine

  1. Ühendage Arduino plaadi 5 V ja GND kontaktid andurite toite- ja GND tihvtidega. Saate neid varustada ka välise toitega.
  2. Ühendage andurite väljundtihvtid Arduino plaadi tihvtidega A0 ja A1.
  3. Ühendage Arduino tihvt 3 transistori alusega 1k oomi takisti kaudu.
  4. Ühendage transistori kollektoriga 12 V.
  5. Ühendage 12-voldise helisignaali positiivne juhe emitteriga ja negatiivne juhe maandussiiniga.
  6. Ühendage klemm 4 nupuga 5V kontaktiga. Ohutuse huvides, et vältida suure voolu voolamist, on alati parem seda teha täiendava väikese takisti kaudu.
  7. Ühendage Arduino plaat USB-kaabli abil arvutiga ja laadige programm Arduino IDE abil mikrokontrollerisse.
  8. Toite Arduino plaati toiteallika, aku või USB-kaabli abil/

Kood

const int sumisti=3; // pin 3 on sumisti väljund const int pushbutton=4; // viik 4 on nupu void setup() sisend ( pinMode(summer,OUTPUT); // viik 3 väljundiks pinMode(pushbutton,INPUT); // viik 4 sisendiks ) void loop() ( / / lugeda mõlema anduri väljund ja võrrelda tulemust läviväärtusega int sensor1_value = analoogRead(A0) int sensor2_value = analoogRead(A1) (sensor1_value > 400 || sensor2_value > 400) ( while(true) ( ​​​​); digitalWrite(summer,HIGH) // lülita alarm sisse if(digitalRead(pushbutton) == HIGH) break ) else ( digitalWrite(summer,LOW); // lülita alarm välja ) )

Video

GSM signalisatsioon Arduinol

Sellest artiklist saate teada, kuidas GSM mooduli ja Arduino abil väga soodsalt ise GSM alarmi teha (osta). Suvila, maja, garaaž, korter sobib ideaalselt GSM signalisatsiooni kaitseks.


1. samm: elemendid
Selle projekti jaoks vajate:


GSM kilp

Sumiseja
Alarm sireen 12V
12V toiteallikas

Klaviatuur Arduino jaoks
Raam.

2. samm: komponentide ühendamine


Esmalt asetate GSM-mooduli Arduino Unole, peate jootma GND ja VCC juhtmed koos kahe anduri, helisignaali ja releemooduli sisendiga. Pärast seda ühendage need joodetud juhtmed GSM-kilbi vastava pistikuga. Järgmisena valmistate nendest osadest I/O signaali pistiku ja viimase asjana peate ühendama klaviatuuri

Arduino Uno / GSM terminalid:

Pin 0: pole ühendatud;
Järeldus 1: ei ole seotud;
Pin 2: ühendamata (GSM kasutab seda kontakti);
Pin 3: ühendamata (GSM kasutab seda kontakti);
Pin 4: viimane rida kasutades klaviatuuri (klaviatuuri tihvt 4 - alates 8);
5. järeldus: seosetu;
Pin 6: teine ​​veerg klaviatuuri kaudu (klaviatuuri tihvt 6 - alates 8);
Väljund 7: klaviatuuri kolmas veerg (sõrmeklaviatuur 7 - 8-st);
Pin 8: ühendamata (GSM kasutab seda kontakti);
Pin 9: ühendamata (GSM kasutab seda kontakti);
Pin 10: PIR-anduri andmed nr 2;
Pin 11: sireeni helisignaal (sisestatud releemooduli sisendisse);
Pin 12: PIR-anduri andmed nr 1;
Pin 13: helisignaali sisendsignaal;

Nagu näete, kuigi klaviatuuril on 8 tihvti, on ühendatud ainult kolm (üks rida ja kaks veergu, mis võimaldavad lugeda kahte numbrit - 1 × 2 maatriks), nii et saan neid kolme juhtme abil paroole teha ja seda pole peate kasutama kõiki klaviatuuri kontakte. Seda seetõttu, et kui liikumisandur tuvastab ruumis kõndiva inimese, on inimesel alarmi väljalülitamiseks aega vaid 5 sekundit. Kui äratus ei ole teatud ajahetkel välja lülitatud, saadab GSM-kilp teile SMS-i või helistab teie telefoninumbrile. Arduino on programmeeritud helistama ja niipea kui telefonile vastate, katkestab see kõne.

Loomulikult on andurilt võimalik saada valenäiteid, seega on võimalus äratus välja lülitada, saates telefonist Arduinosse lihtsalt SMS-i. Veel üks võimalus, mida saate teha, on seada kilp saatma teile ühe sõnumi päevas, et saaksite teada, et see töötab õigesti.

3. samm: kood

Lihtsalt laadige allolev kood alla ja kompileerige. See kasutab Keypad.h ja GSM.h teeke.
Laadi fail alla: (allalaadimisi: 181)
Laadi fail alla: (allalaadimisi: 104)

4. samm: järeldus


Arvestades, et Arduino Uno kood saadab teie telefonile tekstisõnumi ja helistab vaid viie sekundi jooksul pärast seda, kui keegi teie koju tungib, arvan, et teil on piisavalt aega politseisse helistamiseks. Loomulikult peletab sireen vargaid eemale ja teie kodu või muud ruumid muutuvad selle artikli abil turvalisemaks.

Viimase kümnendi jooksul on autovargused hõivanud maailmas toimepandud kuritegude struktuuris ühe märkimisväärseima koha. See ei tulene mitte niivõrd selle varguste kategooria erikaalust kuritegude koguarvu suhtes, vaid autode kõrge hinna tõttu tekitatud kahju olulisusest. Sõidukite varguste vastu võitlemisel võetud meetmete nõrk tõhusus 1990. aastate lõpuks viis nende kuritegude toimepanemisele spetsialiseerunud stabiilsete rühmituste tekkeni, millel on organiseeritud kuritegevusele iseloomulikud tunnused; Olete ilmselt kuulnud terminit "must autoäri". Euroopa riikide autopargis puudub igal aastal ≈ 2% autodest, mis saavad kuritegelike rünnakute objektiks. Seetõttu tekkis mul idee teha oma autole Arduino Uno baasil GSM-alarm.

Alustagem!

Millest me kogume?

Peame valima oma süsteemi südame. Minu arvates pole selliseks signaalimiseks midagi paremat kui Arduino Uno. Peamine kriteerium on piisav arv “nööpnõelad” ja hind.


Arduino Uno põhifunktsioonid

Mikrokontroller - ATmega328
Tööpinge - 5 V
Sisendpinge (soovitatav) - 7-12 V
Sisendpinge (piir) - 6-20 V
Digitaalsed sisendid/väljundid - 14 (millest 6 saab kasutada PWM-väljundina)
Analoogsisendid - 6
Alalisvool läbi sisendi/väljundi - 40 mA
Pidev vool väljundiks 3,3V - 50mA
Välkmälu - 32 KB (ATmega328), millest 0,5 KB kasutatakse alglaaduri jaoks
RAM – 2 KB (ATmega328)
EEPROM – 1 KB (ATmega328)
Kellasagedus - 16 MHz


Sobib!

Nüüd tuleb valida GSM moodul, sest meie signalisatsioon peab suutma autoomanikku sellest teavitada. Niisiis, peate "guugeldama"... Siin on suurepärane sensor - SIM800L, suurus on lihtsalt imeline.


Mõtlesin ja tellisin Hiinast. Kõik aga ei osutus nii roosiliseks. Andur lihtsalt keeldus SIM-kaarti võrku registreerimast. Prooviti kõike võimalikku – tulemus oli null.
Oli lahked inimesed, kes varustasid mind lahedama asjaga - Sim900 Shield. Nüüd on see tõsine asi. Shieldil on nii mikrofoni kui ka kõrvaklappide pesa, mis teeb sellest täisväärtusliku telefoni.


Sim900 Shieldi põhifunktsioonid

4 töösageduse standardit 850/900/1800/1900 MHz
GPRS mitme pesa klass 10/8
GPRS-mobiiljaama klass B
Vastab GSM faasile 2/2+
Klass 4 (2 W @ 850/900 MHz)
1. klass (1 W @ 1800/1900 MHz)
Juhtimine AT-käskude abil (GSM 07.07, 07.05 ja SIMCOM-i laiendatud AT-käsud)
Madal energiatarve: 1,5 mA (puhkerežiim)
Töötemperatuuri vahemik: -40°C kuni +85°C


Sobib!

Ok, aga omaniku teavitamiseks peate mõnelt andurilt näidud võtma. Kui auto ära pukseerida, siis ilmselgelt muutub auto asend ruumis. Võtame kiirendusmõõturi ja güroskoopi. Suurepärane. Ok, nüüd otsime andurit.

Arvan, et GY-521 MPU6050 kindlasti sobib. Selgus, et sellel on ka temperatuuriandur. Peaksime seda ka kasutama, seal on selline "tapja funktsioon". Oletame, et auto omanik parkis selle oma maja alla ja lahkus. Auto sisetemperatuur muutub "sujuvalt". Mis juhtub, kui sissetungija üritab autosse sisse murda? Näiteks saab ta ukse avada. Auto temperatuur hakkab kiiresti muutuma, kui salongi õhk hakkab segunema ümbritseva õhuga. Ma arvan, et see toimib.


GY-521 MPU6050 peamised omadused

3-teljeline güroskoop + 3-teljeline kiirendusmõõturi moodul GY-521 MPU-6050 kiibil. Võimaldab määrata objekti asukohta ja liikumist ruumis, nurkkiirust pöörlemisel. Sellel on ka sisseehitatud temperatuuriandur. Seda kasutatakse erinevates kopterites ja lennukimudelites;

Kiip - MPU-6050
Toitepinge - 3,5 V kuni 6 V (DC);
Güroskoopide ulatus - ±250 500 1000 2000°/s
Kiirendusmõõturi ulatus - ±2±4±8±16g
Sideliides - I2C
Suurus - 15x20 mm.
Kaal - 5 g


Sobib!

Kasuks tuleb ka vibratsiooniandur. Järsku üritavad nad autot “toore jõuga” avada või parklas sõidab teine ​​auto sinu autole otsa. Võtame vibratsioonianduri SW-420 (reguleeritav).


SW-420 peamised omadused

Toitepinge - 3,3 - 5V
Väljundsignaal – digitaalne kõrge/madal (tavaliselt suletud)
Kasutatud andur - SW-420
Kasutatud võrdlusaine on LM393
Mõõdud - 32x14 mm
Lisaks - on reguleerimistakisti.


Sobib!

Kruvige SD-mälukaardi moodul kinni. Kirjutame ka logifaili.


SD-mälukaardimooduli peamised omadused

Moodul võimaldab salvestada, lugeda ja SD-kaardile kirjutada mikrokontrolleril põhineva seadme tööks vajalikke andmeid. Seadme kasutamine on asjakohane failide salvestamisel kümnetest megabaitidest kuni kahe gigabaidini. Tahvel sisaldab SD-kaardi konteinerit, kaardi toite stabilisaatorit ja pistikut liidese ja elektriliinide jaoks. Kui teil on vaja töötada heli, video või muude suuremahuliste andmetega, näiteks sündmuste logimiseks, andurite andmete salvestamiseks või veebiserveri teabe salvestamiseks, siis Arduino jaoks mõeldud SD-mälukaardimoodul võimaldab nende jaoks kasutada SD-kaarti. eesmärkidel. Mooduli abil saate uurida SD-kaardi funktsioone.
Toitepinge - 5 või 3,3 V
SD-kaardi mälumaht - kuni 2 GB
Mõõdud - 46 x 30 mm


Sobib!

Ja lisame servoajami, kui andurid käivituvad, siis servoajam koos videosalvestiga keerab ja filmib juhtumist video. Võtame MG996R servoajami.


MG996R servoajami peamised omadused

Stabiilne ja usaldusväärne kaitse kahjustuste eest
- Metallist ajam
- Kaherealine kuullaager
- Traadi pikkus 300 mm
- Mõõdud 40x19x43mm
- Kaal 55 g
- Pöörlemisnurk: 120 kraadi.
- Töökiirus: 0,17 s/60 kraadi (4,8 V koormuseta)
- Töökiirus: 0,13 s/60 kraadi (6 V koormuseta)
- Käivitusmoment: 9,4 kg/cm 4,8 V toiteallika juures
- Käivitusmoment: 11kg/cm 6V toiteallikaga
- Tööpinge: 4,8 - 7,2V
- Kõik ajami osad on metallist


Sobib!

Me kogume

Google'is on iga anduri ühendamise kohta tohutult palju artikleid. Ja mul pole mingit soovi uusi jalgrattaid leiutada, seega jätan lingid lihtsatele ja töötavatele võimalustele.

See projekt käsitleb süsteemi arendamist ja täiustamist, et ennetada/kontrollida varaste sissetungimise katseid. Välja töötatud turvaseade kasutab sisseehitatud süsteemi (sisaldab avatud lähtekoodiga tarkvara kasutavat riistvaralist mikrokontrollerit ja GSM-modemi), mis põhineb GSM (Global System for Mobile Communications) tehnoloogial.

Majja saab paigaldada valveseadme. Kontrolleripõhise turvasüsteemiga on ühendatud ka sissetungisignalisatsiooni liidese andur.
Kui üritatakse tungida, saadab süsteem hoiatussõnumi (näiteks sms) omaniku mobiiltelefonile või suvalisele eelkonfigureeritud mobiiltelefonile edasiseks töötlemiseks.

Turvasüsteem koosneb Arduino Uno mikrokontrollerist ja GSM/GPRS-il põhinevast standardsest SIM900A modemist. Kogu süsteemi saab toita mis tahes 12V 2A toiteallikast/akust.

Allpool on Arduino-põhise turvasüsteemi skeem.

Süsteemi töö on väga lihtne ega vaja selgitusi. Kui süsteem on varustatud toiteallikaga, läheb see ooterežiimi. Kui J2 pistiku tihvtid on lühises, saadetakse vajalikule mobiilinumbrile eelprogrammeeritud hoiatusteade. Saate ühendada J2 sisendpistikuga mis tahes sissetungidetektori (nt valguskaitse või liikumisandur). Pange tähele, et aktiivne-madal (L) signaal pistiku J2 viigul 1 aktiveerib sissemurdmishäire.

Lisaks on süsteemile lisatud valikuline kõnehäireseade. See aktiveerib telefonikõne, kui kasutaja vajutab nuppu S2 (või kui mõni muu elektrooniline seade käivitab häire). Pärast helistamisnupu (S2) vajutamist saab kõne katkestada, vajutades teist nuppu S3 – nuppu “lõpeta”. Seda valikut saab kasutada sissetungi korral vastamata kõne häire genereerimiseks.

Ahel on väga paindlik, nii et see võib kasutada mis tahes SIM900A modemit (ja loomulikult Arduino Uno plaati). Enne kokkupaneku alustamist lugege hoolikalt modemi dokumentatsiooni. See muudab süsteemi tootmisprotsessi lihtsamaks ja nauditavamaks.

Radioelementide loetelu

Määramine Tüüp Denominatsioon Kogus MärgePoodMinu märkmik
Arduino plaat

Arduino Uno

1 Märkmikusse
GSM/GPRS-modemSIM900A1 Märkmikusse
IC1 Lineaarne regulaator

LM7805

1 Märkmikusse
C1 100uF 25V1 Märkmikusse
C2 Elektrolüütkondensaator10uF 16V1 Märkmikusse
R1 Takisti

1 kOhm

1 Märkmikusse
LED1 Valgusdiood 1 Märkmikusse
S1 NuppFikseerimisega1

Seotud väljaanded