Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
În acest tutorial, vă voi arăta cum să detectați evenimentul de deschidere a ușii și să trimit o notificare prin Gmail folosind Arduino Uno.
Dacă sunteți începător, puteți afla despre wifi și senzor în tutorialele Arduino - WiFi și Arduino - Senzor de ușă.
Să începem!
Detectarea evenimentului de deschidere a ușii Senzorul magnetic pe care l-am folosit include două părți: senzor și magnet. Când două părți sunt în apropiere, pinul de ieșire al senzorului este HIGH, în caz contrar pinul de ieșire este LOW. Profitând de această caracteristică, am instalat o parte a senzorului pe panoul ușii și cealaltă pe cadrul ușii. Verificând starea pinului de ieșire, putem detecta când ușa este deschisă și apoi vom face o alertă sau vom trimite o notificare.
Eveniment de manipulare
Când apare evenimentul de deschidere a ușii, o notificare este trimisă prin Gmail.
Pasul 1: Lucruri de care avem nevoie
1. Arduino UNO sau Genuino UNO
2. PHPoC Shield pentru Arduino
3. Senzor magnetic
Pasul 2: Asamblare
1. Stivați PHPoC Shield pe Arduino.
2. Conectați cablul LAN la ecranul pentru Ethernet.
3. Cablare pin între Arduino și senzor.
---- 5v -------- pin roșu.
---- A0 ------- pin negru.
Pasul 3: Instalați acest set pe ușă
1. Atașați partea senzorului, setul Arduino (inclusiv scutul PHPoC) la cadrul ușii
2. Atașați piesa magnetică pe foaia ușii.
3. Power Arduino
4. Conectați-vă la Internet prin cablu LAN sau USB Wifi Dongle.
Pasul 4: Descărcați și instalați biblioteca pe Arduino
Instalați biblioteca PHPoC și ezButton
Pasul 5: Cod Arduino
#include
#includeți e-mailul PhpocEmail; butonul ezButton (A0); // creați un obiect Buton care se atașează la pinul A0; void setup () {Serial.begin (9600); Phpoc.begin (PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.beginIP6 (); decomentați această linie dacă doriți să utilizați butonul IPv6.setDebounceTime (100); // setați timpul de debounce la 100 de milisecunde} void loop () {button.loop (); // TREBUIE să apelați funcția loop () mai întâi dacă (button.isPressed ()) {// dacă ușa este deschisă … email.setOutgoingServer ("smtp.gmail.com", 587); email.setOutgoingLogin („ID Google”, „Parolă Google”); email.setFrom („Adresa Gmail”, „Numele expeditorului”); email.setTo („Adresa de e-mail a destinatarului”, „Numele destinatarului”); email.setSubject ("Ușa este deschisă. [# 905]"); // Subiectul e-mailului // Conținutul e-mailului email.beginMessage (); email.println ("# 905"); email.println (""); email.println ("Ușa este deschisă."); email.endMessage (); if (email.send ()> 0) // Send Email Serial.println ("E-mailul dvs. a fost trimis cu succes"); else Serial.println („E-mailul dvs. nu este trimis”); } else if (button.isReleased ()) {// dacă ușa este închisă … // Scrieți coduri în același mod}}
Pasul 6: Referințe funcționale
- buclă()
- înființat()
- Serial.begin ()
- Serial.println ()
- întârziere()
- pentru bucla
- în timp ce bucla
- dacă altceva
- String.toInt ()