Bezdrôtová nástenka je pre tento projekt veľmi selektívnym pojmom, pretože má veľmi široký rozsah a nie iba obyčajnú nástenku. Najskôr by sme mali pochopiť účel tohto projektu, v tomto systéme môžeme zobraziť správu alebo upozornenie na niektoré zobrazovacie zariadenie, ako je LCD, a túto správu je možné ľahko nastaviť alebo zmeniť odkiaľkoľvek na svete, iba pomocou služby SMS vášho zariadenia mobilné slúchadlo. Akékoľvek oznámenie, ktoré chceme zobraziť, jednoducho pošlite SMS s týmto textom s určitou predponou a príponou.
To je veľmi užitočné v hoteloch, obchodných centrách, na univerzitách, v kanceláriách a je možné ich použiť kdekoľvek, dokonca aj doma. Môžete nastaviť správu ako „Nerušiť“ na bráne hotelovej izby, môžete nastaviť správu na domovskom schodisku, keď ste preč, a samozrejme sa používa ako nástenka v školách, vysokých školách, kinosálach atď. A áno, nejde len o jednoduchú vývesku, užitočnosť tohto projektu spočíva v tom, že správu alebo upozornenie môžete nastaviť alebo zmeniť odkiaľkoľvek, stačí poslať SMS z telefónu. Môžete tiež skontrolovať podobný projekt, ale na inom type displeja: Arduino Scoreboard pomocou Outdoor P10 LED Matrix Display.
Na zabezpečenie domácnosti a ovládanie domácich spotrebičov na diaľku sme v minulosti využívali zariadenie SMS mobilného telefónu: PIR senzor a bezpečnostný systém založený na GSM a domácu automatizáciu založenú na GSM pomocou Arduina
Zloženie: 100% bavlna.
Pracovné vysvetlenie:
V tomto projekte sa Arduino UNO používa na riadenie celého procesu, modul GSM (SIM900A) na príjem SMS / správ odoslaných z mobilného telefónu a LCD na zobrazenie správy.
Prostredníctvom SMS vám môžeme poslať správu alebo oznámenie ako „#Circuit Digest *“, „#We Welcome You * *“. Tu sme použili predponu v reťazci správy, ktorá je „#“. Táto predpona sa používa na identifikáciu začiatku správy alebo oznámenia. A * sa používa ako prípona na označenie konca správy alebo oznámenia.
Keď pošleme SMS z mobilného telefónu na GSM modul, GSM túto SMS prijme a pošle ju do Arduina. Teraz Arduino prečíta túto SMS a extrahuje hlavnú správu z prijatého reťazca a uloží do iného reťazca. Potom pomocou vhodných príkazov odošle extrahovanú správu na displej 16 x 2 LCD.
Ďalšie fungovanie tohto systému je vysvetlené v časti „Popis kódu“ nižšie. Než sa dostaneme do podrobností programovania, mali by sme vedieť o GSM module.
GSM modul:
Modul GSM sa používa v mnohých komunikačných zariadeniach založených na technológii GSM (Global System for Mobile Communications). Používa sa na interakciu so sieťou GSM pomocou počítača. Modul GSM chápe iba príkazy AT a podľa toho môže reagovať. Najzákladnejším príkazom je „AT“, ak je GSM v poriadku, potom funguje dobre, inak reaguje „CHYBOU“. Existuje niekoľko príkazov AT, napríklad ATA na prijatie hovoru, ATD na vytočenie hovoru, AT + CMGR na prečítanie správy, AT + CMGS na odoslanie sms atď. Po príkazoch AT by mal nasledovať návrat vozíka, tj.), ako napríklad „AT + CMGS“. Modul GSM môžeme použiť pomocou týchto príkazov:
ATE0 Pre vypnutie ozveny
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = „Číslo mobilného telefónu“
>> Teraz môžeme napísať našu správu
>> Po napísaní správy
Ctrl + Z príkaz na odoslanie správy (26 v desatinnej čiarke).
ENTER = 0x0d v HEX
SIM900 je kompletný Quad-band GSM / GPRS modul, ktorý prináša GSM / GPRS 850/900/1800 / 1900MHz výkon pre hlasové volania, SMS a dáta s nízkou spotrebou energie.
Popis obvodu:
Pripojenia bezdrôtovej nástenky pomocou GSM a Arduino sú jednoduché a sú znázornené na obrázku nižšie. Tu sa displej z tekutých kryštálov (LCD) používa na zobrazenie „oznámenia“ alebo správy, ktorá sa posiela cez mobilný telefón ako SMS. Dátové kolíky LCD, menovite RS, EN, D4, D5, D6, D7, sú pripojené k arduino digitálnemu pinu číslo 7, 6, 5, 4, 3, 2. A pin Rx a Tx GSM modulu je priamo pripojený k Tx a Rx pin Arduina, resp. A modul GSM je napájaný pomocou 12 voltového adaptéra.
Popis kódu:
Kód programu je ľahko pochopiteľný; nová vec je tu GSN inicializačná funkcia gsm_init (), ktorá je na konci vysvetlená.
V programe najskôr zahrnieme knižnicu pre displej z tekutých kryštálov (LCD) a potom definujeme dátové a kontrolné piny pre LCD a niektoré premenné.
#include
Potom sa sériová komunikácia inicializuje na 9600 bps a dáva smer použitému kolíku. A inicializujte GSM modul v nastavovacej slučke.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (led, VÝSTUP); digitalWrite (led, HIGH); lcd.print ("GSM inicializuje sa…"); gsm_init (); lcd.setCursor (0,0); lcd.print („Oznámenie o bezdrôtovej sieti“);
Na sériový príjem dát používame dve funkcie, jedna je Serial.available, ktorá kontroluje, či akékoľvek sériové dáta prichádzajú alebo nie, a druhá je Serial.read, ktorá číta dáta, ktoré prichádzajú sériovo.
void serialEvent () {while (Serial.available ()) {char ch = (char) Serial.read (); str = ch; if (ch == '*') {temp = 1; lcd.clear (); lcd.print („Správa prijatá“); oneskorenie (1 000); }}}
Po sériovom prijatí údajov ich uložíme do reťazca a tento reťazec je skontrolovaný na znak „#“ a „*“, aby sme našli začiatok a koniec oznámenia alebo správy. Potom sa konečne oznámenie vytlačí na LCD pomocou lcd.print:
void loop () {for (unsigned int t = 0; t <60000; t ++) {serialEvent (); if (teplota == 1) {x = 0, k = 0, teplota = 0; while (x
Tu je dôležitá inicializačná funkcia 'gsm_init () ' pre GSM, kde sa najskôr skontroluje, či je GSM modul pripojený alebo nie, a to zaslaním príkazu 'AT' do GSM modulu. Ak je odpoveď v poriadku, znamená to, že je pripravená. Systém neustále kontroluje modul, kým nebude pripravený alebo kým nebude prijaté hlásenie „OK“. Potom sa ECHO vypne zaslaním príkazu ATE0, inak GSM modul ozve všetky príkazy. Nakoniec sa dostupnosť siete skontroluje prostredníctvom „AT + CPIN?“ príkaz, ak je vložená karta SIM karta a je prítomný PIN, dáva odpoveď + CPIN: READY. Toto sa tiež opakovane kontroluje, kým sa nenájde sieť. Tomu je zrejmé z videa uvedeného nižšie.
void gsm_init () {lcd.clear (); lcd.print ("Vyhľadávací modul.."); boolean at_flag = 1; while (at_flag) {Serial.println ("AT"); while (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } oneskorenie (1 000); }