Bežična oglasna ploča vrlo je selektivan pojam za ovaj projekt, jer ima vrlo širok opseg, a ne samo jednostavnu oglasnu ploču. Prvo bismo trebali shvatiti svrhu ovog projekta, u ovom sustavu možemo prikazati poruku ili obavijest na nekom uređaju za prikaz, poput LCD-a, a tu poruku možete jednostavno postaviti ili promijeniti s bilo kojeg mjesta na svijetu, samo koristeći SMS mogućnost vašeg mobilna slušalica. Koju god obavijest želimo prikazati, samo pošaljite SMS tog teksta s nekim prefiksom i sufiksom.
Ovo je vrlo korisno u hotelima, trgovačkim centrima, na fakultetima, u uredima i može se koristiti bilo gdje, čak i kod kuće. Kao što možete postaviti poruku poput "Ne ometaj" na vratima hotelske sobe, možete postaviti poruku na vrata vašeg doma kad vas nema, a naravno koristi se kao oglasna ploča u školama, fakultetima, kino dvoranama itd. da, to nije jednostavna oglasna ploča, korisnost ovog projekta je što poruku ili obavijest možete postaviti ili promijeniti s bilo kojeg mjesta, samo slanjem SMS-a s telefona. Također možete provjeriti sličan projekt, ali na drugoj vrsti zaslona: Arduino Scoreboard pomoću vanjskog P10 LED matričnog zaslona.
Ranije smo koristili SMS mogućnost mobilnog telefona za kućnu sigurnost i daljinsko upravljanje kućanskim aparatima: PIR senzor i sigurnosni sustav zasnovan na GSM-u i kućnu automatizaciju zasnovan na GSM-u koristeći Arduino
U
Radno objašnjenje:
U ovom se projektu Arduino UNO koristi za kontrolu cjelokupnog procesa, GSM modul (SIM900A) za primanje SMS / poruke poslane s mobilnog telefona i LCD za prikaz poruke.

Putem SMS-a možemo poslati neku poruku ili obavijest poput "#Circuit Digest *", "#We Welcome You *". Ovdje smo upotrijebili prefiks u nizu poruke koji je '#'. Ovaj se prefiks koristi za identificiranje početka poruke ili obavijesti. A '*' se koristi kao sufiks za označavanje kraja poruke ili obavijesti.
Kada pošaljemo SMS s mobilnog telefona na GSM modul, tada GSM prima taj SMS i šalje ga Arduinu. Sada Arduino pročita ovaj SMS i izvadi glavnu obavijest iz primljenog niza i pohrani u drugi niz. A zatim izvađenu poruku šalje odgovarajućim naredbama na LCD 16x2.

Daljnji rad ovog sustava objašnjen je u odjeljku "Opis koda" u nastavku. Prije nego što ulazimo u detalje programiranja trebali bismo znati o GSM modulu.
GSM modul:
GSM modul koristi se u mnogim komunikacijskim uređajima koji se temelje na tehnologiji GSM (Global System for Mobile Communications). Koristi se za interakciju s GSM mrežom pomoću računala. GSM modul razumije samo AT naredbe i može u skladu s tim reagirati. Najosnovnija naredba je "AT", ako GSM odgovori OK, onda radi dobro, inače odgovara "ERROR". Postoje razne AT naredbe poput ATA za odgovor na poziv, ATD za biranje poziva, AT + CMGR za čitanje poruke, AT + CMGS za slanje sms-a itd. AT naredbe treba slijediti Carriage return tj. \ R (0D u hex-u), poput "AT + CMGS \ r". GSM modul možemo koristiti pomoću ovih naredbi:
ATE0 Za isključivanje odjeka
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = "Broj mobitela"
>> Sada možemo napisati svoju poruku
>> Nakon pisanja poruke
Ctrl + Z naredba za slanje poruke (26 u decimalu).
ENTER = 0x0d u HEX-u

SIM900 je kompletan quad-band GSM / GPRS modul koji pruža GSM / GPRS 850/900/1800 / 1900MHz performanse za glasovne, SMS i podataka s niskom potrošnjom energije.
Opis kruga:
Povezivanja bežične oglasne ploče pomoću GSM-a i Arduina jednostavna su i prikazana na donjoj slici. Ovdje se zaslon s tekućim kristalima (LCD) koristi za prikaz obavijesti ili poruke koja se putem mobilnog telefona šalje kao SMS. Podatkovni pinovi LCD-a, naime RS, EN, D4, D5, D6, D7, spojeni su na arduino digitalni pin broj 7, 6, 5, 4, 3, 2. A Rx i Tx pinovi GSM modula izravno su povezani na Tx i Rx pin Arduina. A GSM modul napaja se pomoću 12-voltnog adaptera.

Šifra Opis:
Kôd programa je lako razumljiv; nova stvar ovdje je GSN funkcija inicijalizacije gsm_init (), koja je na kraju objašnjena.
U program, prije svega, uključujemo knjižnicu za zaslon s tekućim kristalima (LCD), a zatim definiramo podatke i upravljačke igle za LCD i neke varijable.
#include
Nakon toga serijska komunikacija inicijalizira se pri 9600 bps i daje smjer korištenom pinu. I inicijalizirajte GSM modul u petlji za postavljanje.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (led, IZLAZ); digitalWrite (led, VISOKO); lcd.print ("GSM pokretanje…"); gsm_init (); lcd.setCursor (0,0); lcd.print ("Bežična obavijest");
Za serijsko primanje podataka koristimo dvije funkcije, jedna je Serial.available koja provjerava dolaze li serijski podaci ili ne, a druga je Serial.read koja čita podatke koji dolaze serijski.
void serialEvent () {while (Serial.available ()) {char ch = (char) Serial.read (); str = ch; ako (ch == '*') {temp = 1; lcd.clear (); lcd.print ("Primljena poruka"); kašnjenje (1000); }}}
Nakon serijskog primanja podataka, pohranjujemo ih u niz i taj se niz provjerava na '#' i '*', kako bi se pronašao početak i kraj Obavijesti ili poruke. Zatim se konačno Obavijest ispisuje na LCD-u pomoću lcd.print:
void loop () {for (unsigned int t = 0; t <60000; t ++) {serialEvent (); ako (temp == 1) {x = 0, k = 0, temp = 0; dok (x
Ovdje je važna funkcija inicijalizacije 'gsm_init () ' za GSM, gdje se prvo GSM modul provjerava je li povezan ili ne slanjem naredbe 'AT' GSM modulu. Ako je primljen odgovor OK, znači da je spreman. Sustav nastavlja provjeravati modul dok ne postane spreman ili dok se ne primi 'U redu'. Tada se ECHO isključuje slanjem naredbe ATE0, inače će GSM modul odjeknuti svim naredbama. Tada se konačno provjerava dostupnost mreže putem "AT + CPIN?" naredba, ako je umetnuta kartica SIM kartica i prisutan je PIN, daje odgovor + CPIN: SPREMNO. To se također provjerava više puta dok se mreža ne pronađe. To jasno može razumjeti video u nastavku.
void gsm_init () {lcd.clear (); lcd.print ("Pronalaženje modula.."); boolean at_flag = 1; while (at_flag) {Serial.println ("AT"); while (Serial.available ()> 0) {if (Serial.find ("OK")) at_flag = 0; } kašnjenje (1000); }
