Ang board ng abiso ng wireless ay napili ng term para sa proyektong ito, dahil mayroon itong napakalawak na saklaw kaysa sa pagiging isang simpleng paunawa lamang. Una dapat nating maunawaan ang layunin ng proyektong ito, sa sistemang ito maaari nating ipakita ang isang mensahe o paunawa sa ilang ipinakitang aparato tulad ng LCD, at ang mensaheng ito ay madaling maitakda o mabago mula sa kahit saan sa mundo, sa pamamagitan lamang ng paggamit ng pasilidad ng SMS ng iyong mobile handset. Anumang abiso na nais naming ipakita, ipadala lamang ang SMS ng teksto na iyon, na may kaunting unlapi at panlapi.
Kapaki-pakinabang ito sa Mga Hotel, Malls, kolehiyo, tanggapan at magagamit kahit saan, kahit sa bahay. Tulad ng maaari mong itakda ang mensahe tulad ng "Huwag abalahin" sa gate ng kuwarto ng iyong hotel, maaaring magtakda ng mensahe sa hakbang ng pinto ng iyong bahay kapag wala ka, at syempre ginagamit ito bilang board ng paunawa sa mga paaralan, kolehiyo, bulwagan ng sinehan atbp. At oo, hindi lamang ito isang simpleng board ng mensahe, ang pagiging kapaki-pakinabang ng proyektong ito ay maaari mong itakda o baguhin ang mensahe o abiso mula sa kahit saan, nagpapadala lamang ng SMS mula sa iyong telepono. Maaari mo ring suriin ang isang katulad na proyekto ngunit sa iba't ibang uri ng pagpapakita: Arduino Scoreboard gamit ang Panlabas na P10 LED Matrix Display.
Ginamit namin dati ang pasilidad ng SMS ng mobile phone para sa seguridad sa bahay at malayo na makontrol ang mga gamit sa bahay: PIR Sensor at GSM Batay sa Security System at GSM Batay sa Home Automation gamit ang Arduino
Nyawang
Paggawa ng Paliwanag:
Sa proyektong ito, ginagamit ang Arduino UNO para sa pagkontrol sa buong proseso, module ng GSM (SIM900A) upang matanggap ang SMS / mensahe na ipinadala mula sa mobile phone at LCD upang maipakita ang mensahe.
Maaari kaming magpadala ng ilang mensahe o paunawa tulad ng "#Circuit Digest *", "#We Welcome You *" sa pamamagitan ng SMS. Dito ay gumamit kami ng isang unlapi sa string ng mensahe na '#'. Ginamit ang unlapi na ito upang makilala ang simula ng mensahe o paunawa. At ang '*' ay ginagamit bilang panlapi upang ipahiwatig ang pagtatapos ng mensahe o paunawa.
Kapag nagpapadala kami ng SMS mula sa mobile phone sa module ng GSM pagkatapos natanggap ng GSM ang SMS na iyon at ipinapadala ito sa Arduino. Ngayon basahin ni Arduino ang SMS na ito at kumuha ng pangunahing mensahe ng paunawa mula sa natanggap na string at mga tindahan sa isa pang string. At pagkatapos ay nagpapadala ng nakuhang mensahe sa 16x2 LCD sa pamamagitan ng paggamit ng naaangkop na mga utos.
Ang karagdagang pagtatrabaho ng sistemang ito ay ipinaliwanag sa seksyong 'Paglalarawan ng Code' sa ibaba. Bago kami mapunta sa mga detalye sa pagprogramo dapat nating malaman ang tungkol sa module ng GSM.
Module ng GSM:
Ginagamit ang module ng GSM sa maraming mga aparato sa komunikasyon na nakabatay sa teknolohiyang GSM (Global System for Mobile Communications). Ginagamit ito upang makipag-ugnay sa GSM network gamit ang isang computer. Nauunawaan lamang ng module ng GSM ang mga utos ng AT, at maaaring tumugon nang naaayon. Ang pinaka-pangunahing utos ay "AT", kung ang GSM ay tumutugon sa OK pagkatapos ito ay gumagana nang maayos kung hindi man tumugon ito sa "ERROR". Mayroong iba't ibang mga utos ng AT tulad ng ATA para sa pagsagot sa isang tawag, ATD upang i-dial ang isang tawag, AT + CMGR upang basahin ang mensahe, SA + CMGS upang ipadala ang mga sms atbp. Ang mga utos ng AT ay dapat sundin ng pagbalik ng Car ie ie r (0D sa hex), tulad ng "AT + CMGS \ r". Maaari naming gamitin ang module ng GSM gamit ang mga utos na ito:
ATE0 Para sa echo off
SA + CNMI = 2,2,0,0,0
ATD
SA + CMGF = 1
SA + CMGS = "Numero ng Mobile"
>> Ngayon ay maaari naming isulat ang aming mensahe
>> Pagkatapos ng pagsusulat ng mensahe
Ang Ctrl + Z ay magpadala ng utos ng mensahe (26 sa decimal).
ENTER = 0x0d sa HEX
Ang SIM900 ay isang kumpletong Quad-band GSM / GPRS Module na naghahatid ng GSM / GPRS 850/900/1800 / 1900MHz na pagganap para sa boses, SMS at Data na may mababang paggamit ng kuryente.
Paglalarawan ng Circuit:
Ang mga koneksyon ng Wireless Notice Board na gumagamit ng GSM at Arduino ay simple at ipinapakita sa figure sa ibaba. Dito ginagamit ang isang likidong kristal na display (LCD) para maipakita ang "Paunawa" o mensahe, na ipinadala kahit na ang mobile phone bilang SMS. Ang mga data pin ng LCD na katulad ng RS, EN, D4, D5, D6, D7 ay konektado sa arduino digital pin number 7, 6, 5, 4, 3, 2. At ang Rx at Tx pin ng GSM module ay direktang konektado sa Tx at Rx pin ng Arduino ayon sa pagkakabanggit. At ang module ng GSM ay pinalakas ng paggamit ng isang 12 volt adapter.
Paglalarawan ng Code:
Ang code ng programa ay madaling maunawaan; ang bagong bagay dito ay ang GSN initialization function gsm_init (), na ipinaliwanag sa huli.
Sa programa, una sa lahat isinasama namin ang silid-aklatan para sa likidong kristal na pagpapakita (LCD) at pagkatapos ay tinutukoy namin ang data at mga pin na kontrol para sa LCD at ilang mga variable.
# isama
Pagkatapos nito, ang serial na komunikasyon ay napasimulan sa 9600 bps at nagbibigay ng direksyon sa ginamit na pin. At pasimulan ang GSM Module sa loop ng pag-setup.
walang bisa ang pag-set up () {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 ("Abiso sa Wireless");
Para sa pagtanggap ng data nang serial gagamitin namin ang dalawang mga pag-andar, ang isa ay Serial. Magagamit na susuriin ang anumang serial data ay darating o hindi at ang isa pa ay Serial. Basahin kung saan binabasa ang data na dumating nang serial.
void serialEvent () {habang (Serial.available ()) {char ch = (char) Serial.read (); str = ch; kung (ch == '*') {temp = 1; lcd.clear (); lcd.print ("Natanggap ang Mensahe"); pagkaantala (1000); }}}
Pagkatapos makatanggap ng data nang serial, iniimbak namin ito sa isang string at ang string na ito ay nasuri para sa '#' at '*', upang hanapin ang simula at pagtatapos ng Paunawa o mensahe. Pagkatapos sa wakas ang Paunawa ay naka-print sa LCD gamit ang lcd.print:
void loop () {para sa (unsigned int t = 0; t <60000; t ++) {serialEvent (); kung (temp == 1) {x = 0, k = 0, temp = 0; habang (x
Ang pagpapauna ng pagpapaandar na 'gsm_init () ' para sa GSM ay mahalaga dito, kung saan una, ang module ng GSM ay nasuri kung ito ay konektado o hindi sa pamamagitan ng pagpapadala ng 'AT' na utos sa module ng GSM. Kung natanggap ang pagtugon OK, nangangahulugang handa na ito. Patuloy na sinusuri ng system ang module hanggang sa maging handa ito o hanggang sa matanggap ang 'OK'. Pagkatapos ang ECHO ay naka-off sa pamamagitan ng pagpapadala ng utos ng ATE0, kung hindi man ay i-echo ng module ng GSM ang lahat ng mga utos. Pagkatapos sa wakas ang kakayahang makuha ng Network ay nasuri sa pamamagitan ng 'AT + CPIN?' utos, kung ang ipinasok na card ay SIM card at naroroon ang PIN, nagbibigay ito ng tugon + CPIN: HANDA. Suriin din ito nang paulit-ulit hanggang sa matagpuan ang network. Maaari itong malinaw na maunawaan ng Video sa ibaba.
walang bisa gsm_init () {lcd.clear (); lcd.print ("Paghahanap ng Modyul.."); boolean at_flag = 1; habang (at_flag) {Serial.println ("AT"); habang (Serial.available ()> 0) {kung (Serial.find ("OK")) at_flag = 0; } pagkaantala (1000); }