Alarm sa mobilnog telefona i Arduina. Kreiranje sigurnosnog alarma sa senzorom pokreta baziranim na Arduino i infracrvenim senzorima

Pretplatite se
Pridružite se zajednici “koon.ru”!
U kontaktu sa:

Zdravo, dragi čitaoče! Današnji članak govori o stvaranju jednostavnog sigurnosnog sistema za dom koristeći lako dostupne komponente. Mali je i jeftin uređaj pomoći će vam da zaštitite svoj dom od upada koristeći Arduino, senzor pokreta, zaslon i zvučnik. Uređaj se može napajati baterijom ili USB portom računara.

Dakle, počnimo!

Kako to radi?

Tijela toplokrvnih životinja emituju infracrveno zračenje koje je nevidljivo ljudskim očima, ali se može detektirati pomoću senzora. Takvi senzori su napravljeni od materijala koji može spontano polarizirati kada je izložen toplini, što omogućava otkrivanje pojave izvora topline unutar dometa senzora.

Za širi raspon koriste se Fresnel leće koje prikupljaju infracrveno zračenje različitim pravcima i koncentrišite ga na sam senzor.

Slika pokazuje kako sočivo izobličava zrake koje padaju na njega.

Vrijedi napomenuti da roboti bez posebno vrućih dijelova i oni hladnokrvni emituju vrlo malo infracrvenog zračenja, tako da senzor možda neće raditi ako zaposlenici Boston Dynamicsa ili reptili odluče da vas okruže.

Kada dođe do promjene u nivou IR zračenja u opsegu, to će biti obrađeno na Arduinu, nakon čega će status biti prikazan na LCD displeju, LED će treptati, a zvučnik će se oglasiti zvučnim signalom.

Šta nam treba?

  1. (ili bilo koju drugu ploču).
  2. (16 znakova u dva reda)
  3. Jedan konektor za spajanje krunice na Arduino
  4. (iako možete koristiti običan zvučnik)
  5. USB kabl - samo za programiranje ( cca. prijevod: Uvijek dolazi s našim Arduinom!)
  6. Računar (opet samo za pisanje i učitavanje programa).

Inače, ako ne želite da kupujete sve ove dijelove posebno, preporučujemo da obratite pažnju na naše. Na primjer, sve što vam treba, pa čak i više, nalazi se u našoj ponudi starter kit.

Hajde da se povežemo!

Povezivanje senzora pokreta je vrlo jednostavno:

  1. Povezujemo Vcc pin na 5V Arduino.
  2. Povezujemo Gnd pin na GND Arduina.
  3. Povezujemo OUT pin na digitalni pin br. 7 iz Arduina

Sada spojimo LED i zvučnik. Ovdje je isto tako jednostavno:

  1. Kratku nogu (minus) LED diode spajamo na masu
  2. Povezujemo dugu nogu (plus) LED na izlaz br. 13 Arduina
  3. Crvena žica zvučnika do izlaza br. 10
  4. Crna žica - uzemljenje

A sada je teži dio povezivanja 1602 LCD ekrana sa Arduinom. Imamo displej bez I2C, tako da će nam trebati puno Arduino izlaza, ali rezultat će biti vrijedan toga. Dijagram je predstavljen u nastavku:

Potreban nam je samo dio kola (nećemo imati podešavanje kontrasta potenciometrom). Dakle, potrebno je samo da uradite sledeće:

Sada znate kako spojiti 1602 displej na Arduino UNO R3 (kao i na bilo koju verziju Arduina od Mini do Mega).

Programiranje

Vrijeme je da pređemo na programiranje. Ispod je kod koji samo trebate popuniti i, ako ste sve ispravno sastavili, uređaj je spreman!

#include int ledPin = 13; // LED pin int inputPin = 7; // Pin na koji je povezan senzor van pokreta int pirState = LOW; // Trenutna drzava(ništa nije pronađeno na početku) int val = 0; // Varijabla za čitanje stanja digitalnih ulaza int pinSpeaker = 10; // Pin na koji je spojen zvučnik. Zahtijeva PWM pin LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Inicijaliziranje LCD displeja void setup() ( // Odredite smjer prijenosa podataka na digitalne pinove pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); // Pokreni izlaz informacija za otklanjanje grešaka preko serijskog serijskog porta .begin(9600); // Pokreni izlaz na LCD displej lcd.begin(16, 2); // Postavi indeks na displejima sa kojih ćemo započeti izlaz // (2 znaka, 0 redaka ) lcd.setCursor(2, 0) ; // Izlaz na LCD ekran lcd.print("P.I.R Motion"); // Ponovo pomeriti lcd.setCursor(5, 1); // Izlaz lcd.print("Senzor"); ); // Pauzirajte da biste imali vremena za čitanje, što je bilo izlazno kašnjenje (5000); // Brisanje lcd.clear(); // Slično lcd.setCursor(0, 0); lcd.print("Obrada podataka." ); kašnjenje(3000); lcd.clear(); lcd.setCursor(3, 0); lcd.print("Čeka se"); lcd.setCursor(3, 1); lcd.print("Pokret... ."); ) void loop() ( // Čitanje očitavanja senzora val = digitalRead(inputPin); if (val == HIGH) ( // Ako postoji pomicanje, upalite LED i uključite sirenu digitalWrite(ledPin, HIGH); playTone(300, 300); kašnjenje (150); // Ako do ovog trenutka nije bilo pomaka, onda prikazujemo poruku // da je otkriveno // Kod ispod je potreban da se upiše samo promjena stanja, a ne da se ispiše vrijednost svaki put ako (pirState == LOW) ( Serial.println( "Otkriven pokret!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Otkriven pokret!"); pirState = HIGH; ) ) else ( // Ako je kretanje je preko digitalWrite(ledPin, LOW); playTone(0, 0); delay(300); if (pirState == HIGH)( // Obavještavamo da je bilo kretanja, ali je već završeno Serial.println("Pokret je završio !"); lcd.clear() ; lcd.setCursor(3, 0); lcd.print("Čeka se"); lcd.setCursor(3, 1); lcd.print("Pokret....") pirState = LOW; ) ) ) / / Funkcija reprodukcije zvuka. Trajanje (trajanje) - u milisekundama, Frekvencija (frekvencija) - u Hz void playTone (dugo trajanje, int freq) ( trajanje *= 1000; int period = (1.0 / freq) * 100000; dugo elapsed_time = 0; dok (proteklo_vrijeme< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }

Da zaštitite svoj dom od nepozvanih gostiju, sve više ljudi instalirati alarme. Omogućavaju pravovremeno upozorenje na upad u prostorije. Danas postoje Razne vrste alarmi, ali unutra U poslednje vreme Popularnost GSM alarma je počela da raste, jer vam omogućavaju da primate informacije o upadu na bilo kojoj udaljenosti od objekta, glavna stvar je da vlasnik u tom trenutku ima telefon sa sobom, a ovaj telefon je na mreži. Nažalost, ovi sistemi još uvijek nisu previše jeftini da bismo dali prednost isključivo njima. Ali danas možete sami napraviti jednostavan GSM alarm. A popularna Arduino ploča će pomoći u ovom pitanju.


Ovaj projekat je sigurnosni (alarmni) sistem za obavještavanje o uljezima koji ulaze u kuću. Sistem koristi GSM tehnologiju.



Na mikrokontrolersku ploču ovog sigurnosnog sistema povezan je modul za detekciju upada, koji može biti baziran, na primjer, na IR senzoru ili ultrazvučnom senzoru blizine. Kada se primi signal od takvog modula, na telefon korisnika se šalje SMS poruka koja ukazuje da je u njihov dom provaljeno.


Na slici ispod prikazan je blok dijagram sigurnosnog sistema.



Glavni elementi sistema su ploča mikrokontrolera (na primjer, Arduino Uno) i GSM modul/GPRS SIM900A. Cijeli sistem se može napajati iz jednog izvora napajanja od 12V/2A.


Slika ispod pokazuje dijagram strujnog kola kućni sigurnosni sistem sa GSM baziran na Arduinu.



Rad sistema je vrlo jednostavan i ne zahtijeva mnogo objašnjenja. Kada se uključi napajanje, sistem prelazi u stanje pripravnosti. Međutim, kada je J2 kratko spojen, poruka upozorenja se automatski prenosi na unaprijed postavljeni broj mobilnog telefona. Bilo koji senzor za detekciju može se spojiti na J2 ulazni konektor. Treba napomenuti da nizak nivo na pin 1 konektora J2 je aktivan i uključuje sigurnosni sistem.


Dodatno, sistem je dodao mogućnost pozivanja pritiskom na dugme S2. Pomoću dugmeta S3 možete resetovati ovaj poziv.


Ispod je kod za Arduino.


//Poveži Tx pin na pin D3 GPS modula //Poveži Rx pin na pin D4 GPS modula //povezuje signal za slanje SMS-a na pin D7 (nizak aktivni nivo) //Poveži CALL signal na pin D8 (nizak aktivni nivo) //Povežite signal za resetovanje poziva KRAJ na pin D9 (nizak aktivni nivo) #include NewSoftSerial mySerial(3,4); // konfigurirajte RX i TX pinove za komunikaciju sa GSM modulom #define msg_key 7 #define call_key 8 #define end_key 9 String number ="0000000000"; // Ovdje, umjesto nula, trebate unijeti 10-cifreni broj mobilnog telefona void setup() ( Serial.begin(9600); mySerial.begin(9600); pinMode(msg_key,INPUT); pinMode(call_key,INPUT) ; pinMode(end_key,INPUT ); digitalWrite(msg_key,HIGH); digitalWrite(call_key,HIGH); digitalWrite(end_key,HIGH); ) void loop() ( //pošalji sms svaki put kada se msg_key aktivira if (digitalRead(msg_key) ==LOW) / / Provjera da li je pritisnuto dugme za slanje sms-a ( mySerial.println("AT+CMGF=1"); // Postavite mod kao tekstualni mod kašnjenja(150); mySerial.println("AT+CMGS="); \"+00"+ number+"\""); // Odredite broj primaoca u međunarodnom formatu, zamjenjujući nule delay(150); mySerial.print("Upozorenje! Upozorenje na uljeza!"); // Unesite kašnjenje poruke( 150); mySerial.write(( byte)0x1A); // Kraj znaka poruke 0x1A: ekvivalentno Ctrl+z delay(50); mySerial.println(); ) // Uputite poziv kada se call_key aktivira inače ako ( digitalRead(call_key)==LOW) // Provjerite da li je call_key već pritisnut ( mySerial.println("ATD+91"+number+";"); //Odredite broj za pozivanje while(digitalRead(call_key)== LOW); kašnjenje (50); ) //Resetirajte poziv else if (digitalRead(end_key)==LOW) //Provjerite da li je dugme za resetovanje poziva već pritisnuto ( mySerial.println("ATH"); while(digitalRead(end_key)==LOW); kašnjenje (50 ; ) )

Dakle, možete prilično lako kreirati GSM alarmni sistem na bazi Arduino ploče vlastitim rukama. Takav alarmni sistem, po svojoj cijeni, sigurno će biti jeftiniji od brendiranih analoga na tržištu danas, a funkcionirat će na gotovo identičan način.

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

Pregled

Infracrveni (IR) senzori se obično koriste za mjerenje udaljenosti, ali se mogu koristiti i za otkrivanje objekata. IR senzori se sastoje od infracrvenog predajnika i infracrvenog prijemnika. Predajnik emituje impulse infracrveno zračenje dok prijemnik detektuje sve refleksije. Ako prijemnik detektuje refleksiju, to znači da postoji neki predmet na određenoj udaljenosti ispred senzora. Ako nema refleksije, nema ni objekta.

IR senzor koji ćemo koristiti u ovom projektu detektuje refleksiju unutar određenog raspona. Ovi senzori imaju malu linearni uređaj uređaj sa spregnutim punjenjem (CCD), koji detektuje ugao pod kojim se IR zračenje vraća senzoru. Kao što je prikazano na donjoj slici, senzor prenosi infracrveni puls u svemir, a kada se objekt pojavi ispred senzora, puls se reflektuje nazad do senzora pod uglom proporcionalnim udaljenosti između objekta i senzora. Prijemnik senzora detektuje i daje ugao, a pomoću ove vrijednosti možete izračunati udaljenost.

Povezivanjem nekoliko IR senzora na Arduino, možemo napraviti jednostavan sigurnosni alarm. Ugradićemo senzore dovratnik, a pravilnim poravnavanjem senzora možemo otkriti kada neko uđe kroz vrata. Kada se to dogodi, izlaz IR senzora će se promijeniti, a mi ćemo otkriti ovu promjenu kontinuiranim čitanjem izlaza senzora iz koristeći Arduino. IN u ovom primjeru znamo da objekt prolazi kroz vrata kada očitanje izlaza IR senzora premašuje 400. Kada se to dogodi, Arduino će pokrenuti alarm. Za resetovanje alarma, korisnik može pritisnuti dugme.

Dodaci

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

Dijagram povezivanja

Dijagram za ovaj projekat prikazan je na donjoj slici. Izlazi dva IR senzora su povezani na pinove A0 i A1. Druga dva pina su povezana na 5V i GND pinove. Zujalica od 12 volti je povezana na pin 3 preko tranzistora, a dugme koje se koristi za utišavanje alarma je povezano na pin 4.


Fotografija ispod pokazuje kako smo zalijepili senzore na okvir vrata za ovaj eksperiment. Naravno, da ga redovno koristite, drugačije biste instalirali senzore.


Instalacija

  1. Povežite 5V i GND pinove Arduino ploče na pinove za napajanje i GND senzora. Možete ih snabdjeti i vanjskim napajanjem.
  2. Povežite izlazne pinove senzora na pinove A0 i A1 Arduino ploče.
  3. Povežite pin 3 Arduina na bazu tranzistora preko otpornika od 1k oma.
  4. Primijenite 12V na kolektor tranzistora.
  5. Povežite pozitivni vod zujalice od 12 V na emiter, a negativni vod na sabirnicu za uzemljenje.
  6. Povežite pin 4 na pin 5V preko dugmeta. Iz sigurnosnih razloga, kako bi se izbjegao veliki protok struje, uvijek je bolje to učiniti kroz dodatni mali otpornik.
  7. Povežite Arduino ploču sa svojim računarom preko USB kabla i učitajte program u mikrokontroler koristeći Arduino IDE.
  8. Napajajte Arduino ploču pomoću napajanja, baterije ili USB kabla/

Kod

const int buzzer=3; // pin 3 je izlaz za zujalicu const int pushbutton=4; // pin 4 je ulaz za dugme void setup() ( pinMode(zujalica,OUTPUT); // postavi pin 3 na izlaz pinMode(pushbutton,INPUT); // postavi pin 4 na ulaz ) void loop() ( / / pročitajte izlaz oba senzora i uporedite rezultat sa 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) ; // uključite alarm if(digitalRead(pushbutton) == HIGH) break; ) ) else ( digitalWrite(zujalica,LOW); // isključite alarm ) )

Video

To su posebne hardverske platforme na osnovu kojih možete kreirati različite elektronske uređaje, uključujući i. Uređaji ovog tipa odlikuju se jednostavnim dizajnom i mogućnošću programiranja svojih algoritama rada. Zahvaljujući tome, kreiran pomoću Arduina GSM alarm, može se maksimalno prilagoditi objektu koji će štititi.

Šta je Arduino modul?

Arduino su implementirani u obliku malih ploča koje imaju svoj mikroprocesor i memoriju. Ploča također sadrži skup funkcionalnih kontakata na koje možete povezati različite elektrificirane uređaje, uključujući senzore koji se koriste za sigurnosne sisteme.

Arduino procesor vam omogućava da sami učitate program koji je napisao korisnik. Kreiranjem vlastitog jedinstvenog algoritma možete pružiti optimalni režimi rad sigurnosnih alarma za različite objekte i za različitim uslovima upotrebe i zadataka koje treba riješiti.

Da li je teško raditi sa Arduinom?

Arduino moduli su veoma popularni među mnogim korisnicima. To je postalo moguće zbog njegove jednostavnosti i pristupačnosti.

Programi za upravljanje modulima su napisani koristeći uobičajeni C++ i dodatke u obliku jednostavnih funkcija za kontrolu I/O procesa na pinovima modula. Osim toga, besplatni Arduino IDE softver koji radi pod Windows, Linux ili Mac OS može se koristiti za programiranje.

Sa Arduino modulima, procedura sastavljanja uređaja je značajno pojednostavljena. GSM alarmni sistem na Arduinu može se kreirati bez potrebe za lemilom - montaža se odvija pomoću matične ploče, kratkospojnika i žica.

Kako napraviti alarm koristeći Arduino?

Osnovni zahtjevi koje mora ispuniti DIY gsm alarmni sistem kreiran na Arduinu uključuju:

  • obavijestiti vlasnika objekta o provali ili ulasku;
  • podrška eksterni sistemi kao što su zvučna sirena, signalna svjetla;
  • kontrola alarma putem SMS-a ili poziva;
  • autonomni rad bez eksternog napajanja.

Za kreiranje alarma trebat će vam:

  • Arduino modul;
  • set funkcionalnih senzora;
  • ili modem;
  • autonomni izvor napajanja;
  • eksterni aktuatori.

Posebnost Arduino modula je upotreba posebnih ploča za proširenje. Uz njihovu pomoć na Arduino se povezuju svi dodatni uređaji koji su potrebni za sklapanje konfiguracije sigurnosnog sistema. Takve ploče se postavljaju na vrh Arduino modula u obliku "sendviča", a odgovarajući pomoćni uređaji su povezani na same ploče.

Kako radi?

Kada se aktivira jedan od povezanih senzora, signal se prenosi na procesor Arduino modula. Koristeći preuzeti korisnički softver, mikroprocesor ga obrađuje prema određenom algoritmu. Kao rezultat toga, može se generirati naredba za upravljanje eksternim aktuatorom, koja mu se prenosi preko odgovarajuće ploče za proširenje.

Kako bi se osigurala mogućnost slanja signala upozorenja vlasniku kuće ili stana koji je zaštićen, poseban GSM modul je povezan na Arduino modul preko ploče za proširenje. U njega je instalirana SIM kartica jednog od mobilnih operatera.

U nedostatku posebnog GSM adaptera svoju ulogu može obavljati obični. mobilni telefon. Pored slanja SMS poruka sa upozorenjem na alarm i biranjem, prisustvo mobilne veze omogućiće vam daljinsko upravljanje GSM alarmnim sistemom na Arduinu, kao i praćenje stanja objekta slanjem posebnih zahteva.

"Bilješka!

Za komunikaciju sa vlasnikom objekta, osim GSM modula, mogu se koristiti i obični modemi koji omogućavaju komunikaciju putem interneta.”

U tom slučaju, kada se senzor aktivira, signal koji procesor obrađuje prenosi se preko modema na poseban portal ili web stranicu. A sa stranice se automatski generira SMS upozorenja ili slanje e-pošte na povezanu e-poštu.

zaključci

Upotreba Arduino modula omogućit će korisnicima da samostalno dizajniraju GSM alarme koji mogu raditi s različitim funkcionalnim senzorima i kontrolom eksternih uređaja. Zahvaljujući mogućnosti korištenja različitih senzora, funkcije alarma se mogu značajno proširiti i stvoriti kompleks koji će pratiti ne samo sigurnost objekta, već i njegovo stanje. Na primjer, biće moguće kontrolisati temperaturu u objektu, otkriti curenje vode i plina, isključiti im dovod u slučaju nužde i još mnogo toga.

Jednostavan kućni sigurnosni alarm koji koristi Arduino Uno je tema ove recenzije. Uprkos činjenici da su mikrokontroleri ove porodice prvobitno bili namenjeni učenju učenika, sasvim je moguće da se koristan projekat na Arduinu. Sigurnosni alarmi za dom ili okućnica moći će upozoriti vlasnika na hitan slučaj i poslati poruku sa senzora na pametni telefon.

Kućni alarm koristeći Arduino

Pogledajmo kako napraviti alarm za kuću, seoski vrt ili garažu koristeći Arduino Uno ili Nano. U projektu smo koristili senzor pokreta, senzor vode i temperature - ovo je skup osnovnih senzora za najjednostavniji sistem upozorenja. Saznat ćete o pucanju vodovodne cijevi, padu temperature u kući ili neovlaštenom ulasku u prostorije u bilo koje vrijeme i bilo gdje.

Arduino senzori za sigurnosne alarme

U ovom projektu koristili smo stari pametni telefon za prijenos informacija putem interneta. Shodno tome, na lokaciji vašeg posjeda mora postojati GPRS signal i bilo koji mobilni operater Povezana je najjednostavnija tarifa sa pristupom Internetu. Ako ovi uslovi nisu ispunjeni, onda sigurnosni sistem Postoji zvučna sirena, koja takođe može da uplaši razbojnike.

Projekt koristi najjednostavnije senzore - temperaturni senzor DHT11, senzor curenja vode koji možete sami napraviti i senzor pokreta. Ukoliko se odlučite za izradu složenijeg alarmnog sistema, preporučujemo da pogledate projekat požarni alarm ili alarm na GSM-u. Takođe ćete morati da instalirate aplikaciju na svoj pametni telefon i da registrujete dva Twitter naloga.

Kako napraviti Arduino alarm

Za ovaj projekat će nam trebati:

  • Arduino Uno / Arduino Nano / Arduino Mega ploča;
  • pametni telefon s pristupom internetu;
  • senzor temperature i vlažnosti DHT11;
  • senzor curenja vode;
  • senzor pokreta i dugme (prekidač);
  • LED diode, otpornici, žice itd.


Skica alarma, sve potrebne biblioteke i aplikacija za pametni telefon mogu se preuzeti u jednoj arhivi. Imajte na umu da Arduino neće biti moguće kontrolisati na daljinu, jer je projekat što jednostavniji. O očitanjima senzora instaliranih u kući možete saznati samo putem poruka na vašem pametnom telefonu nakon određenog vremenskog perioda ili kada se senzor aktivira.

Skica sigurnosnog alarma na Arduino Uno/Nano

#include // povezivanje biblioteke SoftwareSerial.h SoftwareSerial mySerial(2, 3); // specificira pinove rx i tx respektivno#include // povezivanje biblioteke za senzor DHT dht(16, DHT11); // obavještavamo na kojem portu će senzor biti int tmp; #defini PIR 5 // priključak za povezivanje senzora pokreta int pir; #defini KNP 7 // port za povezivanje prekidača int knp; #define WTR 19 // priključak za spajanje senzora vode int wtr; #defini LED 11 // priključak za spajanje LED dioda#defini BUZ 9 // priključak za povezivanje piezodinamičkog zvučnika // nizovi za identifikaciju informacija primljenih na pametnom telefonu String stringT = String ("*" ); String stringP = String ("^" ); String stringW = String ("-" ); String stringH = String ("#"); // varijable za brojače, brojanje ciklusa, itd. nepotpisani dugi pokret; nepotpisani dugi sat; bajt m, ​​s1, s2, s3, c = 10; void setup() ( mySerial.begin(9600); Serial.begin(9600); dht.begin(); pinMode(PIR, INPUT); analogWrite(PIR, LOW); pinMode(KNP, INPUT); analogWrite(KNP, LOW);pinMode(WTR, INPUT);analogWrite(WTR, LOW); // provjera LED dioda i bipera prilikom uključivanja napajanja pinMode(BUZ, OUTPUT); pinMode (LED, IZLAZ); analogWrite(LED, 255); ton (BUZ, 100); kašnjenje (1000); analogWrite(LED, 0); noTone(BUZ); kašnjenje (1000); ) void loop() (tmp = dht.readTemperature(); pir = digitalRead(PIR); knp = digitalRead(KNP); wtr = analogRead(WTR); // pokreće brojač sat = millis(); // 3600000 milisekundi je 1 sat, 10800000 je 3 sata // ako su prošla 3 sata, pošaljite podatke na pametni telefon // ako je potrebno, unesite svoje vrijednosti umjesto 10800000 if (millis() - sat > 10800000) ( mySerial.println(tmp + stringT); mySerial.println(stringH); // šalje signal da je prošlo 3 sata } // brojanje ciklusa, slanje podataka na pametni telefon svaki deseti ciklus c--; Serial.print(c); Serial .println (" - petlja" ); Serial.println(""); kašnjenje (1000); noTone(BUZ); ako (c > 10) ( c = 10; ) ako (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // šaljemo vrijednost temperature mySerial.println(pir + stringP); // poslati prisutnost kretanja u kući mySerial.println(wtr + stringW); // šalje podatke sa senzora vode // SENZOR POKRETANJA JE AKTIVIRAN I DUGME JE ISKLJUČENO - UKLJUČI SVJETLO if (pir == VISOKO && knp == NISKO ) ( analogno upisivanje (LED, 255); ) // SENZOR POKRETANJA JE ISKLJUČEN I DUGME JE ISKLJUČENO - UGASI SVJETLO if (pir == LOW && knp == LOW ) ( gibanje = millis (); while (pir == LOW ) ( tmp = dht.readTemperature (); pir = digitalRead(PIR); knp = digitalRead(KNP); wtr = analogRead(WTR); c--; Serial .print (c); Serial .println (" - ciklus"); Serial .println ( ""); kašnjenje (1000); noTone (BUZ); if (c > 10 ) ( c = 10; ) ako je (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // šaljemo vrijednost temperature mySerial.println(pir + stringP); // poslati prisutnost kretanja u kući mySerial.println(wtr + stringW); // šalje podatke sa senzora vode // prikazuje sve podatke sa senzora na monitoru broja porta Serial.print("TMP = "); Serial.println(tmp); Serial.print("PIR = "); Serial.println(pir); Serial.print("KNP = "); Serial.println(knp); Serial.print("WTR = "); Serial.println(wtr); Serial.println(""); ) // INTERVAL GAŠENJA SVJETLA U MILISEKUNDIMA if (millis() - kretanje > 5000) ( analogni Write (LED, 0); prekid ; ) if (pir == HIGH ) ( analogni zapis (LED, 255); prekid ; ) ) // SENZOR POKRETANJA JE AKTIVIRAN I DUGME JE UKLJUČENO - POKRENI TAJMER if (pir == HIGH && knp == HIGH ) ( motion = millis(); kašnjenje (1000); analogWrite(LED, 255); Serial.println( "SENZOR UKLJUČEN"); Serial.println(""); kašnjenje (1000); while (knp == HIGH) ( tmp = dht.readTemperature(); pir = digitalRead(PIR); knp = digitalRead(KNP); wtr = analogRead(WTR); c--; Serial .print (c); Serial . println (" - petlja" ); Serial .println ( "" ); kašnjenje (1000); noTone (BUZ); if (c > 10) ( c = 10; ) ako (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // šaljemo vrijednost temperature mySerial.println(pir + stringP); // poslati prisutnost kretanja u kući mySerial.println(wtr + stringW); // šalje podatke sa senzora vode // prikazuje sve podatke sa senzora na monitoru broja porta Serial.print("TMP = "); Serial.println(tmp); Serial.print("PIR = "); Serial.println(pir); Serial.print("KNP = "); Serial.println(knp); Serial.print("WTR = "); Serial.println(wtr); Serial.println(""); ) // AKO JE SENZOR POKRETANJA ONEMOGUĆEN - SLANJE PORUKE NA BLUETOOTH if (knp == LOW ) ( Serial .println ( "ALARM ONEMOGUĆEN"); Serial.println(""); kašnjenje (1000); ) // AKO JE PROŠLO VIŠE OD 10 SEKUNDI - SLANJE PORUKE NA BLUETOOTH if (milis () - kretanje > 10000 && s1 != 1) (m = 1; idi na poruku1; ) kašnjenje (1000); ) ) // AKO SE DOGODI ISPUŠTANJE VODE - POŠALJITE PORUKU NA BLUETOOTH if (wtr > 500 && s2 != 2) ( m = 2; idi na poruku2; ) if (wtr > 500) ( ton (BUZ, 400); ) if (wtr<= 500) { noTone (BUZ); } // AKO TEMPERATURA OPADNE - POŠALJITE PORUKU NA BLUETOOTH if(tmp< 20 && s3 != 3) { m = 3; goto message3; } if (tmp < 20) { tone (BUZ, 200); } if (tmp >= 20) ( noTone (BUZ); ) poruka1: dok (m == 1) ( Serial .println ( "ALARM POSLAN NA BLUETOOTH" // šaljemo vrijednost temperature mySerial.println(1 + stringP); // poslati prisutnost kretanja u kući mySerial.println(wtr + stringW); // šalje podatke sa senzora vode s1 = 1; m = 0; break ; ) message2: while (m == 2) ( Serial .println ( "SIGNAL O ISPUŠTANJU VODE POSLAN NA BLUETOOTH"); Serial.println(""); kašnjenje (1000); mySerial.println(tmp + stringT); // šaljemo vrijednost temperature mySerial.println(pir + stringP); // poslati prisutnost kretanja u kući mySerial.println(500 + stringW); // šalje podatke sa senzora vode s2 = 2; m = 0; break ; ) message3: while (m == 3) ( Serial .println ( "Signal TEMPERATURE POSLAN NA BLUETOOTH"); Serial.println(""); kašnjenje (1000); mySerial.println(20 + stringT); // šaljemo vrijednost temperature mySerial.println(pir + stringP); // poslati prisutnost kretanja u kući mySerial.println(wtr + stringW); // šalje podatke sa senzora vode s3 = 3; m = 0; break ; ) )

Objašnjenja za kod:

Na prvi pogled, shema može izgledati komplikovano, ali nije. Alarm se može sastaviti na bilo kojoj ploči, uključujući Arduino Uno. Umjesto LED dioda, možete koristiti LED traku, ali napajanje za ploču mora biti 12 volti, a LED traku spojite ne na 5V, već na Vin Arduino pin. Sa LED diodama možete koristiti običan punjač za telefon od 5 volti za napajanje strujnog kola.

Instaliranje aplikacije na pametnom telefonu za alarm

Da biste instalirali aplikaciju, preuzmite home_twit.apk fajl na svoj telefon putem USB kabla, pronađite ga u memoriji telefona i kliknite na „Instaliraj“. Ovaj telefon uvijek mora biti u opsegu Arduino Bluethoth signala. Nakon instalacije, otvorite aplikaciju i kliknite na dugme "Prilagodi". Ovdje ćete morati odrediti minimalne i maksimalne vrijednosti temperature na kojima će poruka biti poslana.

A sada je najteži dio postavljanje Twitter naloga. Navedite u postavkama Twitter korisničko ime kome ćete poslati poruku. Od vas se također traži da navedete login API ključ I API tajni ključ u čije ime će se poruke primati. Najnovije inovacije zaslužne su za borbu protiv neželjene pošte i prikupljanje informacija o korisnicima na društvenoj mreži. Kako doći do API ključa i API tajne - pročitajte u ovoj recenziji.

Na telefonu koji će uvijek biti uz vas i koji će primati poruke, morat ćete instalirati zvaničnu Twitter aplikaciju sa PlayMarketa i prijaviti se na nju sa potrebnom prijavom. Kao rezultat toga, aplikacija signalizaciya.apk sa telefona koji se nalazi u kući prikupljat će podatke sa Arduino senzora i slati ih privatnom porukom putem Twittera korisniku pod čijim loginom ste instalirali Twitter aplikaciju.

Ako imate bilo kakvih problema s postavkama alarma na Arduinu, napišite svoja pitanja u komentarima na ovu recenziju.

Povratak

×
Pridružite se zajednici “koon.ru”!
U kontaktu sa:
Već sam pretplaćen na zajednicu “koon.ru”