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 materialului 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 și un shield mini releu bistabil FeatherWing. 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”.
Pentru transmiterea comenzii prin Internet se va utiliza serviciul Blynk despre care am vorbit și în materialul „Cum să realizăm un sistem IoT fără să scriem nici o linie de cod?”.. 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
Î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);
Blynk.begin(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 = param.asInt();
if (pinValue) {
digitalWrite(SETPin,HIGH);
delay(10);
digitalWrite(SETPin,LOW);
}
else {
digitalWrite(UNSETPin,HIGH);
delay(10);
digitalWrite(UNSETPin,LOW);
}
}
void loop() {
Blynk.run();
}
Comanda se va realiza de pe un telefon mobil ce rulează Android și pe care trebuie instalată aplicația Blynk.
Î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.
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!