Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
U ovom tutorijalu pokazat ću vam kako otkriti događaj otvaranja vrata i poslati obavijest putem Gmaila koristeći Arduino Uno.
Ako ste početnik, možete naučiti o wifi -ju i senzoru u Arduino - WiFi i Arduino - Door Sensor tutoriali.
Započnimo!
Otkrivanje događaja otvaranja vrata Magnetski senzor koji sam koristio sastoji se od dva dijela: senzora i magneta. Kad su dva dijela u blizini, izlazni pin senzora je VISOK, u suprotnom izlazni pin je NISAK. Iskoristivši ovu značajku, instalirao sam jedan dio senzora na krilo vrata, a drugi na okvir vrata. Provjerom stanja izlaznog pina možemo otkriti kada su vrata otvorena i zatim upozoriti ili poslati obavijest.
Rukovanje događajem
Kad dođe do otvaranja vrata, obavijest se šalje putem Gmaila.
Korak 1: Stvari koje nam trebaju
1. Arduino UNO ili Genuino UNO
2. PHPoC štit za Arduino
3. Magnetski senzor
Korak 2: Montaža
1. Složite PHPoC Shield na Arduino.
2. Spojite LAN kabel na štit za Ethernet.
3. Pin ožičenje između Arduina i senzora.
---- 5v -------- crvena iglica.
---- A0 ------- crna iglica.
Korak 3: Instalirajte ovaj set na vrata
1. Pričvrstite osjetnički dio, Arduino set (uključujući PHPoC štit) na okvir vrata
2. Pričvrstite magnetski dio na krilo vrata.
3. Napajanje Arduino
4. Povežite se s internetom putem LAN kabela ili USB Wifi ključa.
Korak 4: Preuzmite i instalirajte knjižnicu na Arduinu
Instalirajte knjižnicu PHPoC i ezButton
Korak 5: Arduino kod
#uključi
#include PhpocEmail e -pošta; gumb ezButton (A0); // izrada objekta Button koji se pričvršćuje na pin A0; void setup () {Serial.begin (9600); Phpoc.početak (PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.početakIP6 (); raskomentirajte ovaj redak ako namjeravate koristiti gumb IPv6.setDebounceTime (100); // postavljanje vremena debounce na 100 milisekundi} void loop () {button.loop (); // MORA prvo pozvati funkciju loop () if (button.isPressed ()) {// ako su vrata otvorena … email.setOutgoingServer ("smtp.gmail.com", 587); email.setOutgoingLogin ("Google ID", "Google lozinka"); email.setFrom ("Gmail adresa", "Ime pošiljatelja"); email.setTo ("E -adresa primatelja", "Ime primatelja"); email.setSubject ("Vrata su otvorena. [#905]"); // Predmet pošte // Sadržaj pošte email.beginMessage (); email.println ("#905"); email.println (""); email.println ("Vrata su otvorena."); email.endMessage (); if (email.send ()> 0) // Pošalji e -poruku Serial.println ("Vaša pošta je uspješno poslana"); else Serial.println ("Vaša pošta nije poslana"); } else if (button.isReleased ()) {// ako su vrata zatvorena … // Napišite kodove na isti način}}
Korak 6: Reference funkcija
- petlja()
- postaviti()
- Serial.begin ()
- Serial.println ()
- odgoditi()
- za petlju
- petlja while
- ako drukčije
- String.toInt ()