Sadržaj:

ESP-01 Senzor pokreta s dubokim mirovanjem: 5 koraka
ESP-01 Senzor pokreta s dubokim mirovanjem: 5 koraka

Video: ESP-01 Senzor pokreta s dubokim mirovanjem: 5 koraka

Video: ESP-01 Senzor pokreta s dubokim mirovanjem: 5 koraka
Video: Light Sensor Installation #shorts 2024, Novembar
Anonim
Image
Image

Radio sam na izradi domaćih senzora pokreta koji šalju poruku e -pošte kada se aktiviraju. Postoji mnogo primjera instrukcija i drugih primjera kako se to radi. Nedavno sam to morao učiniti s PIR senzorom pokreta na baterije i ESP-01. ESP-01 je vrlo funkcionalan i ima sve potrebne sposobnosti pa zašto ne biste upotrijebili minimalne i najmanje skupe potrebne? Miksu je dodan još jedan odvojeni i udaljeni ESP-01 modul koji je aktivirao zvučni signal kada se aktivirao senzor pokreta.

Kôd i mogući raspored kola prikupljeni su iz brojnih izvora na webu i mislim da ih ne mogu točno identificirati. Ideja o slanju e -pošte putem gmaila došla je iz instrukcijskih i drugih izvora, a konačni kod je amalgam tih izvora. Duboki san na posao doveo me do mnogih puteva koji su se često pokazali besplodnim. Smiješno je to što, kad se put pokaže plodnim, prestajete tražiti više puteva. Zato se zahvaljujem svima onima koji su doprinijeli mom uspjehu, a još uvijek nisu poznati.

I ja sam imao isti problem s aktiviranjem PIR senzora pri aktiviranju dubokog sna ESP-01. Mnogo je puteva dok nije postojao jedan koji je funkcionirao.

Nepotrebno je reći da su postojale neke zanimljive prepreke ili možda relevantnije, bolje razumijevanje elektronike koja mi je bila potrebna. Učite sve dok nešto ne uspije, a zatim ne morate više učiti.

ESP-01 spava duboko, kao i bilo koji drugi ESP8266 modul, sve dok vam nije potreban vremenski uspavan san. Ako želite da se modul probudi nakon zadane količine proteklog vremena, ESP-01 nije modul za korištenje. Ali to nije ono što sam želio. Proteklo vrijeme je besmisleno kada se koristi PIR. Htio sam da se ESP-01 probudi samo kada ga pokrene pokret koji je osjetio PIR. Ako se satima ili danima ne osjeti pokret, ESP-01 ostaje u stanju mirovanja koristeći minimalnu snagu baterije.

Vidjet ćete mnoga kola koja koriste GPIO16 spojena na ESP8266 Reset jer je GPIO16 signal za buđenje. To je istina, ali to je signal za buđenje iz vremenskog sna. Ovaj PIN možemo zanemariti, što je dobro jer nije dostupno na ESP-01.

U osnovi, sve što nam je potrebno je da dobijemo signal od PIR-a da pokrene pin za resetiranje ESP-01. Prva poteškoća koju ćete pretpostaviti je da se Reset pokreće na LOW signalu, a PIR šalje HIGH signal kada se aktivira. Resetiranje također mora biti visoko ili plutati pri pokretanju. Dakle, da ovo bude kratko, nakon što sam isprobao neka druga kola, odlučio sam se koristiti NPN tranzistor s pull-up otpornikom kako bih držao pin za resetiranje na visokom položaju tijekom pokretanja. Izlaz iz PIR -a je minimalan, ali osigurava dovoljnu baznu struju za uključivanje tranzistora.

Kao što ćete vidjeti na donjem dijagramu kola, ESP-01 se budio iz dubokog sna svaki put kada je PIR osjetio kretanje.

Ali postojao je još jedan problem. Resetiranje ESP-01 dogodilo se tek nakon što je PIR prestao osjetiti kretanje i vratio se na niski signal isključujući tranzistor i vraćajući pin za resetiranje na HIGH zbog otpornika. To bi značilo da e -pošta neće biti poslana, niti će se zvučni signal aktivirati sve dok PIR ne prestane osjetiti kretanje. Htio sam da se okidač dogodi čim se osjeti kretanje.

Ono što sam utvrdio iz ovog ponašanja je da se ESP-01 zapravo aktivira na rastućoj ivici signala. Držanje pin za resetiranje na masi zapravo ne pokreće ESP-01 iz dubokog sna, ali u trenutku kada napon poraste na signal HIGH, tada se događa resetiranje.

Moj vrlo jednostavan odgovor na ovo ponašanje bio je dodavanje kondenzatora na liniju između PIR izlaza i baze tranzistora. Zbog toga se tranzistor uključio samo dok se kondenzator punio. Nakon punjenja više nije bilo struje i tranzistor se isključio. Otpornik od 5 k omogućava struji da istječe na masu. Testirao sam ovo sa LED diodom umjesto ESP-01 i mogao sam vidjeti kako LED dioda svijetli na djelić sekunde prije nego što se isključi. Ovaj mali puls bio je dovoljan da povuče pin za resetiranje na tlo na trenutak i dovoljno dugo da pokrene reset iz dubokog sna.

Korak 1: Modul dubokog sna ESP-01

ESP-01 Modul za duboki san
ESP-01 Modul za duboki san
ESP-01 Modul za duboki san
ESP-01 Modul za duboki san

Modul dubokog sna koristi dva radna napona. Nasumičnih 5v+ baterija za PIR, kao i 3,3-voltna regulatorna ploča za ESP-01. Također sam uključio diodu u krug kako bih spriječio oštećene dijelove od obrnutih napona. Ovo troši malo dodatne energije i smanjuje napon baterije za 0,7 volti. Dioda se može izostaviti iz kruga ako ste sigurni da nikada nećete preokrenuti vodiče baterije. Prekidač je takođe dodat iz praktičnosti.

Ovaj modul je manje ažuriranje mog originalnog rasporeda bez dubokog sna. U konfiguraciji bez dubokog sna, PIR je direktno povezan s RX pinom ESP-01. Koristim RX pin ESP-01 kao ulazni pin za PIR iz nekoliko razloga. GPIO0 nije radio jer bi pri pokretanju PIR izlazni PIN bio NIZAK što bi uzrokovalo ulazak ESP-01 u način rada bljeskalice. Nisam koristio GPIO2 jer tada nisam mogao koristiti ugrađenu LED diodu za vizualnu povratnu informaciju. RX i TX pinovi se često opisuju kao dodatni IO pinovi, ali moje iskustvo je da je RX dodatni INPUT pin, a TX dodatni OUTPUT pin.

U konfiguraciji dubokog sna, RX veza nije strogo potrebna. Koristim ga samo za praćenje koliko dugo se PIR aktivira uključivanjem LED diode dok je ulaz VISOK. Kao što je već spomenuto, ako očistite funkciju petlje i koristite samo rutinu postavljanja, tada RX veza nije potrebna.

Evo liste dijelova za modul dubokog sna ESP-01:

1 - 5 x 7 cm PCB Prototipna ploča

1 - 2 pinski konektor

2 - 1 x 3 ženska zaglavlja

1 - AMS1117 - 3.3 ploča regulatora napona

1 - 1 x 3 Muški pin zaglavlja pod pravim uglom

1 - 1 x 3 ženski zaglavlje utičnice

1 - 1 x 4 ženski zaglavlje utičnice

1 - 2 x 4 žensko zaglavlje

1 - 1uf kondenzator

1 - HC -SR501 PIR senzor pokreta

1 - 2N2222 Tranzistor

1 - 10k otpornik

1 - 4.7k Otpornik

1 - 1k otpornik

1 - 1N4148 dioda

1 - prekidač SS12D00G4 SPDT

1 - ESP -01

1 - 4AA baterija

Imajte na umu da u video ploči ploča koristi adapter za matičnu ploču ESP-01 umjesto zaglavlja 2 x 4. Iako je ovaj adapter lakše lemiti, zaglavlje 2 x 4 radi dobro i zapravo bolje pristaje.

Korak 2: ESP-01 Kôd za duboki san

Kod za duboko spavanje obavlja dvije funkcije. Pošaljite poruku e-pošte (putem gmaila prema zadanim postavkama) i pošaljite http web zahtjev pridruženom modulu zujalice ESP-01 da pokrene zvučni signal.

Kada se pokrene, ovaj modul nudi dvije mogućnosti obavijesti i može biti posebno koristan kada ne obraćate pažnju na poruke e -pošte.

Morat ćete ažurirati šest redaka koda sa svojim specifičnim vrijednostima da bi skica funkcionirala:

const char* ssid = "xxxxx"; // Vaš WiFi SSIDconst char* password = "xxxxx"; // Vaš niz lozinki WiFi WiFi Senders_Login = "xxxxx"; // prijava vašeg dobavljača e -pošte String Senders_Password = "xxxxx"; // lozinka vašeg davatelja usluga e -pošte

To = "xxxxxx"; From = "xxxxxx"; // Gmail općenito preferira da ovo bude isto kao Senders_Login i može ga zamijeniti

Otkrio sam da modul dubokog sna radi nepredvidljivo kada je PIR senzor postavljen na ispod 10 sekundi za dužinu okidača. Moj je postavljen na 20 sekundi. Ovo se pokazalo vrlo pouzdanim, ali također znači da bi se s tom frekvencijom mogli dogoditi i okidači.

Dodao sam i kôd funkciji petlje kako bi ESP-01 bio uključen sve dok PIR još uvijek osjeća kretanje. Sav kôd u funkciji petlje može se ukloniti i poziv u duboki san premjestiti na kraj funkcije postavljanja.

Koristim funkciju treptanja za vizualni pokazatelj aktivnosti s modulom ESP-01.

Iako sam koristio i testirao povezanost s gmailom, rade i drugi davatelji usluga e -pošte. Probao sam par. Zapravo, smatrao sam gmail problematičnijim. Gmail zahtijeva da vaš račun bude konfiguriran za pristup manje sigurnim aplikacijama. Ova postavka računa je prema zadanim postavkama ISKLJUČENA pa je svakako pronađite i promijenite je u manje sigurnu. Gmail drugačije neće raditi.

Ako se odlučite za više od jednog modula zujalice, samo dodajte dodatne pozive http klijenta (ponovite tri retka koda, ali promijenite korištenu IP adresu i definirajte samo varijablu httpCode kao int jednom!

Imajte na umu da je ip adresa zujalice teško kodirana u ovom modulu. Ne morate koristiti IP adresu koju sam odabrao, ali morate uskladiti IP adresu web poziva u ovom modulu s IP adresom postavki web servera u sljedećem modulu.

Korak 3: ESP-01 modul zujalice

ESP-01 Modul zujalice
ESP-01 Modul zujalice
ESP-01 Modul zujalice
ESP-01 Modul zujalice
ESP-01 Modul zujalice
ESP-01 Modul zujalice

Modul zujalice ima prilično jednostavno postavljanje. Koristi USB konektor umjesto baterije jer mislim da ovaj modul nije pogodan za bateriju. Mora ostati uključen i nework/wifi spojen cijelo vrijeme jer nikad ne zna kada će biti postavljen web zahtjev. Ovo zahtijeva više kontinuiranog napajanja nego što su korisne baterije.

Zvučni moduli mogu se prikladno postaviti na više lokacija pružajući obavijest o događaju okidača senzora pokreta bez obzira gdje se nalazite!

Zvučni signal je spojen na 5v USB konektora i postoji još jedna regulatorna ploča od 3.3v koja napaja ESP-01.

Modul zujalice će funkcionirati koristeći TX, GPIO0 ili GPIO2 za izlaz. U mojoj konfiguraciji koristim GPIO0. (Na slici modula žica je spojena na GPIO2, ali sam je od tada pomaknuo.) Iako GPIO0 nije radio za modul dubokog sna (kao INPUT), radi dobro s ovim rasporedom kao OUTPUT. Nije pokrenut pri pokretanju što će uzrokovati probleme. Koristio sam GPIO2, ali tada nisam mogao koristiti ugrađenu LED za povratne informacije, ali koristeći GPIO0 za OUTPUT mogu koristiti ugrađenu LED diodu.

Pokušao sam koristiti NPN tranzistor za napajanje zujalice u krugu kada je ESP-01 stavio VISOKI signal na pin GPIO0, ali rezultati su bili užasno nedosljedni. Činilo se da je zujalica u svakom trenutku htjela zvučati, čak i pri vrlo malo snage. Stoga sam umjesto toga koristio N kanal MOSFET (2n7000) i rezultat je bio sjajan. IO pin upravlja kapijom prema potrebi.

Iako nam trebaju samo dva pina iz USB konektora Vcc (+) i Gnd (-), koristim 5-polno zaglavlje za spajanje na PCB ploču radi dodatne stabilnosti i lemljenja prije spajanja USB-a na regulator. Moja ploča s regulatorom od 3,3 V dolazi s prethodno instaliranim pinovima i po mom mišljenju, naopako. Dakle, da biste stavili regulator u pinove zaglavlja, možete vidjeti da je ploča skrivena, ali još gore od toga, vcc i gnd na regulatoru su obrnuti od vcc i gnd na USB konektoru. Tako se žice ukrštaju.

Također imajte na umu da + napajanje aktivnog zujalice dolazi s 5v USB -a. Također, 4 -pinsko žensko zaglavlje odlično funkcionira s postavljanjem pinova na zujalicu.

Lista dijelova modula zujalice ESP-01:

1 - 5 x 7 PCB ploča

1 - USB mini konektor sa pin zaglavljima (7 pinova)

2 - 1 x 3 ženska zaglavlja

1 - Ploča regulatora napona AMS1117-3.3 v

1 - 2 x 4 žensko zaglavlje

2 - 1 x 4 ženska priključka za glavu

1 - 2N7000 N -kanalni MOSFET

Otpor 1 - 10 ohma

1 - 5v aktivni zujalica

Korak 4: Šifra modula zujalice ESP-01

Modul zujalice djeluje kao jednostavan ESP-01 web poslužitelj. Odgovara jednostavnom porukom na root zahtjev, a kada dobije zahtjev za buzz, aktivirat će zujalicu. GPIO0 se koristi za GPIO pin za signal zujalice.

Imajte na umu da je ESP-01 konfiguriran s teško kodiranom IP adresom. To je potrebno kako bi se modul dubokog sna povezao s adresom zujalice.

Kao i prethodni modul, morat ćete ažurirati dva retka koda sa svojim specifičnim vrijednostima:

// SSID i lozinka vašeg WiFi usmjerivača const char* ssid = "xxxxxxx";

const char* lozinka = "xxxxxxxx";

Ako imate više kreiranih zujalica, svaki bi trebao biti učitan vlastitom jedinstvenom IP adresom.

Takođe možete dodati različite metode zujanja koje proizvode različite melodije zujalice. Na primjer, ako imate PIR senzor na ulaznim i jedan na stražnjim vratima, svaki može poslati web zahtjev svakom od vaših modula zujalice, ali jedan senzor može imati skicu koja poziva zujanje, a druga skica može pozvati buzz2 tako da po zvuku možete zaključiti koji je senzor aktiviran. I tako dalje i tako dalje! Funkcija buzz2 ne postoji, već samo kopirajte funkciju buzz i promijenite vrijednosti kašnjenja.

Za web poslužitelj samo trebate dodati redak koda ovako:

server.on ("/buzz2", buzz2);

Korak 5: Završne misli

Ovo je moje prvo uputstvo pa sam možda propustio neke praktične stvari koje sam trebao uključiti. Regulatorna ploča AMS1117-3.3 koju sam koristio uključuje sićušnu LED lampicu koja svijetli kada je uključena. Za modul dubokog sna nisam želio da se ovo uključi i nepotrebno troši energiju. Pa sam raspakirao sve što sam mogao s jedne strane vodiča na ploči, a zatim sam pomoću pomoćnog noža presjekao liniju tragova. Ovo je bilo lakše nego što sam mislio i sprječava da LED zasvijetli. Nisam uspio odrediti kolika je potrošnja energije kada je ESP-01 u dubokom snu, ali možda ću dobiti odgovor za nekoliko sedmica. Moj kolega je radio senzor (nije u dubokom snu) i otkrio da su se baterije ispraznile (5AA) za otprilike nedelju dana. Mislim da bi ovo postavljanje trebalo dati mjesec dana ili čak i više. Ćemo vidjeti.

Modul dubokog sna koštao je oko 8 USD CDN -a u dijelovima (baterije nisu uključene!), A modul zujalice 5 USD.

Preporučuje se: