Panoul de anunțuri fără fir este un termen foarte selectiv pentru acest proiect, deoarece are un domeniu de aplicare foarte larg decât să fie doar un simplu panou de anunțuri. Mai întâi ar trebui să înțelegem scopul acestui proiect, în acest sistem putem afișa un mesaj sau o notificare către un dispozitiv de afișare precum LCD, iar acest mesaj poate fi setat sau schimbat cu ușurință de oriunde în lume, doar prin utilizarea facilității SMS a telefonului dvs. receptor mobil. Orice observație pe care dorim să o afișăm, trebuie doar să trimiteți SMS-ul textului respectiv, cu un prefix și un sufix.
Acest lucru este foarte util în hoteluri, centre comerciale, facultate, birouri și poate fi folosit oriunde, chiar și acasă. De exemplu, puteți seta mesajul „Nu deranjați” la poarta camerei hotelului dvs., puteți seta mesajul la ușa casei dvs. atunci când sunteți plecat și, desigur, este folosit ca avizier în școli, colegii, săli de cinema etc. Și da, nu este doar un simplu forum, utilitatea acestui proiect este că puteți seta sau modifica mesajul sau notificarea de oriunde, doar trimiterea de SMS-uri de pe telefon. Puteți verifica, de asemenea, un proiect similar, dar pe un alt tip de afișaj: Arduino Scoreboard folosind Outdoor P10 LED Matrix Display.
Am folosit anterior facilitatea SMS a telefonului mobil pentru securitatea locuinței și controlăm de la distanță aparatele electrocasnice: senzor PIR și sistem de securitate bazat pe GSM și automatizare la domiciliu bazată pe GSM folosind Arduino
(…)
Explicație de lucru:
În acest proiect, Arduino UNO este utilizat pentru controlul întregului proces, modul GSM (SIM900A) pentru a primi SMS-ul / mesajul trimis de pe telefonul mobil și LCD pentru a afișa mesajul.
Putem trimite un mesaj sau o notificare, cum ar fi „#Circuit Digest *”, „#We Welcome You *” prin SMS. Aici am folosit un prefix în șirul de mesaje care este „#”. Acest prefix este utilizat pentru a identifica începutul mesajului sau a notificării. Și „*” este utilizat ca sufix pentru a indica sfârșitul mesajului sau al notificării.
Când trimitem SMS de pe telefonul mobil către modulul GSM, atunci GSM primește acel SMS și îl trimite la Arduino. Acum Arduino citește acest SMS și extrage mesajul principal de notificare din șirul primit și stochează într-un alt șir. Și apoi trimite mesajul extras pe 16x2 LCD utilizând comenzile corespunzătoare.
Funcționarea în continuare a acestui sistem este explicată în secțiunea „Descrierea codului” de mai jos. Înainte de a intra în detalii de programare, ar trebui să știm despre modulul GSM.
Modul GSM:
Modulul GSM este utilizat în multe dispozitive de comunicații care se bazează pe tehnologia GSM (Global System for Mobile Communications). Este folosit pentru a interacționa cu rețeaua GSM utilizând un computer. Modulul GSM înțelege numai comenzile AT și poate răspunde corespunzător. Cea mai de bază comandă este „AT”, dacă GSM răspunde OK, atunci funcționează bine, altfel răspunde cu „EROARE”. Există diverse comenzi AT, cum ar fi ATA pentru a răspunde la un apel, ATD pentru a forma un apel, AT + CMGR pentru a citi mesajul, AT + CMGS pentru a trimite sms etc. Comenzile AT ar trebui să fie urmate de Carriage return ie \ r (0D în hex), cum ar fi „AT + CMGS \ r”. Putem folosi modulul GSM folosind aceste comenzi:
ATE0 Pentru ecou oprit
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = „Număr mobil”
>> Acum putem scrie mesajul nostru
>> După scrierea mesajului
Comanda Ctrl + Z trimite mesaj (26 în zecimal).
ENTER = 0x0d în HEX
SIM900 este un sistem complet Quad-band Modul GSM / GPRS, care oferă GSM / GPRS 850/900 / 1800 / 1900MHz de performanță pentru serviciile de voce, SMS și date cu un consum redus de energie.
Descrierea circuitului:
Conexiunile panoului de anunțuri wireless folosind GSM și Arduino sunt simple și sunt prezentate în figura de mai jos. Aici este utilizat un afișaj cu cristale lichide (LCD) pentru afișarea „Observației” sau a mesajului, care este trimis prin telefonul mobil ca SMS. Pinii de date ai ecranului LCD și anume RS, EN, D4, D5, D6, D7 sunt conectați la pinul digital arduino numărul 7, 6, 5, 4, 3, 2. Și pinii Rx și Tx ai modulului GSM sunt conectați direct la Tx și Rx pinul Arduino respectiv. Iar modulul GSM este alimentat folosind un adaptor de 12 volți.
Descrierea codului:
Codul programului este ușor de înțeles; noul lucru aici este funcția de inițializare GSN gsm_init (), care este explicată în cele din urmă.
În program, în primul rând includem o bibliotecă pentru afișajul cu cristale lichide (LCD) și apoi definim date și pini de control pentru LCD și unele variabile.
#include
După aceasta, comunicația serială este inițializată la 9600 bps și oferă direcția pinului folosit. Și inițializați modulul GSM în bucla de configurare.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (led, OUTPUT); digitalWrite (led, HIGH); lcd.print ("GSM Initilizing…"); gsm_init (); lcd.setCursor (0,0); lcd.print („Notificare wireless”);
Pentru a primi date în serie, folosim două funcții, una este Serial.available, care verifică dacă există date seriale sau nu, iar alta este Serial.read, care citește datele care vin în serie.
void serialEvent () {while (Serial.available ()) {char ch = (char) Serial.read (); str = ch; if (ch == '*') {temp = 1; lcd.clear (); lcd.print („Mesaj primit”); întârziere (1000); }}}
După primirea datelor în serie, le stocăm într-un șir și acest șir este verificat pentru „#” și „*”, pentru a găsi începutul și sfârșitul Notificării sau mesajului. Apoi, în cele din urmă, Notificarea este tipărită pe LCD folosind lcd.print:
bucla void () {pentru (nesemnat int t = 0; t <60000; t ++) {serialEvent (); if (temp == 1) {x = 0, k = 0, temp = 0; în timp ce (x
Funcția de inițializare „gsm_init () ” pentru GSM este importantă aici, unde, în primul rând, modulul GSM este verificat dacă este conectat sau nu, trimitând comanda „AT” către modulul GSM. Dacă este primit răspunsul OK, înseamnă că este gata. Sistemul continuă să verifice modulul până când devine gata sau până când se primește „OK”. Apoi ECHO este oprit prin trimiterea comenzii ATE0, altfel modulul GSM va face ecou la toate comenzile. Apoi, în sfârșit, disponibilitatea rețelei este verificată prin „AT + CPIN?” comanda, dacă cardul introdus este cartela SIM și codul PIN este prezent, acesta dă răspunsul + CPIN: GATA. Acest lucru este verificat în mod repetat până când rețeaua este găsită. Acest lucru poate fi clar înțeles de videoclipul de mai jos.
void gsm_init () {lcd.clear (); lcd.print ("Modul de căutare.."); boolean at_flag = 1; while (at_flag) {Serial.println ("AT"); while (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } întârziere (1000); }