Textul și imaginile din acest document sunt licențiate
Attribution-NonCommercial-NoDerivs
CC BY-NC-ND
Codul sursă din acest document este licențiat
Public-Domain
Ești liber să distribui acest document prin orice mijloace consideri (email, publicare pe website /
blog, tipărire, sau orice alt mijloc), atât timp cât nu aduci nici un fel de modificări acestuia. Codul
sursă din acest document poate fi utilizat în orice fel de scop, de natură comercială sau nu, fără nici
un fel de limitări dar autorii nu își asumă nici o răspundere pentru pagubele pricinuite de
implementările realizate de utilizatori. Schemele și codul sursă au un rol educativ și nu sunt gândite
pentru a fi utilizate în mediu de producție (industrial, casnic sau comercial).
Blynk the Siren
Sirenele vizuale sunt elemente ce permit avertizarea
unor situații de urgență dar pot fi și elemente de
divertisment vizual. În cadrul lecției de față dorim să
vă propunem un sistem de comandă la distanță (prin
WiFi) a unei astfel de sirene luminoase.
Pentru comandă vom utiliza o placă de dezvoltare
Adafruit Feather HUZZAH ESP8266 [1] și un shield
mini releu bistabil FeatherWing [2]. Shieldul se
conectează la placă în mod simplu (ca orice shield
Arduino) dar este necesară realizarea a două conexiuni suplimentare: pinul SET la
shield-ului se conectează la pinul 4 al shield-ului iar pinul UNSET la pinul 5. Pentru
mai multe detalii legate de funcționarea shield-ului puteți consulta materialul „Mini
Relay FeatherWings” [3].
Pentru transmiterea comenzii prin Internet se va utiliza serviciul Blynk [4] despre care
am vorbit și în lecția cu același nume. Programul pentru placa de dezvoltare a fost
dezvoltat și testat utilizând mediul Arduino IDE 1.8.5 având instalate extensia
ESP8266 Community 2.4.1 și biblioteca Blynk 0.5.3.
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
În cadrul programului trebuie personalizate datele de acces la o rețea WiFi și cheia de
acces la serviciul Blynk ce se obține prin înregistrare gratuită.
char auth[] = "...";
char ssid[] = "...";
char pass[] = "...";
#define SETPin 4
#define UNSETPin 5
[Link]
În cadrul secțiunii setup() vom inițializa pinii de comandă (pinii 4 și 5 de SET și
UNSET) și comunicația cu serviciul Blynk.
void setup() {
pinMode(SETPin, OUTPUT);
pinMode(UNSETPin, OUTPUT);
digitalWrite(SETPin,LOW);
digitalWrite(UNSETPin,LOW);
[Link](auth, ssid, pass);
}
Procedura BLYNK_WRITE va primi comenzile transmise prin serviciul Blynk și va
comanda releul prezent pe shield. Secțiunea loop nu conține altceva decât apelul la
procedura de primire a comenzilor.
BLYNK_WRITE(V0)
{
int pinValue = [Link]();
if (pinValue) {
digitalWrite(SETPin,HIGH);
delay(10);
digitalWrite(SETPin,LOW);
}
else {
digitalWrite(UNSETPin,HIGH);
delay(10);
digitalWrite(UNSETPin,LOW);
}
}
void loop() {
[Link]();
}
[Link]
Comanda se va realiza de pe un telefon mobil ce rulează
Android și pe care trebuie instalată aplicația Blynk [5]. În
cadrul aplicației vom crea un proiect nou ce va conține un
buton de tip switch asociat cu pinul virtula V0.
Astfel vom putea comanda de la distanță prin intermediul Internet-ului releul de pe
shield. Bineînțeles, proiectul de comandă se poate îmbunătăți, se pot adăuga diverși
alți declanșatori automați de tip timer sau chiar senzori.
Pentru finalizarea sistemului nu mai rămâne decât
conectarea ansamblului de comandă (placă de dezvoltare
+ shield) la sirena luminoasă. Dispozitivul de sirenă
luminoasă poate fi cumpărat la un preț modic din
magazinele de jucării. Acesta se poate porni / opri cu
ajutorul unui întrerupător ce controlează alimentarea
componentele electronice interne.
Prin desfacerea carcaseri se deconectează acest
întrerupător și se conectează la shield-ul sistemului.
[Link]
Firele deconectate se vor conecta după cum urmează: firul care vine de la
compartimentul cu baterii de va conecta în pinul conectorului cu șurub al shield-ului
COM, pinul care pleacă spre componentele electronice ale sirenei luminoase se va
conecta la pinul NO.
După efectuarea conexiunilor nu mai rămâne decât să vă bucurați de sistemul de
comandă nou creat. Blynk the Siren!
[Link]
Referințe on-line
[1] Feather HUZZAH cu ESP8266 WiFi
[Link]
[2] Mini releu bistabil FeatherWing
[Link]
[3] Mini Relay FeatherWings
[Link]
[4] Blynk
[Link]
[5] Blynk - IoT for Arduino, ESP8266/32, Raspberry Pi
[Link]
[Link]