Mobitel je revolucionarni izum stoljeća. Prvenstveno je dizajniran za upućivanje i primanje poziva i tekstualnih poruka, ali postao je cijeli svijet nakon što se pametni telefon pojavio u slici. U ovom projektu gradimo sustav kućne automatizacije, gdje se može kontrolirati kućanski uređaji, koristeći jednostavni telefon temeljen na GSM-u, samo slanjem SMS-a putem njegovog telefona. U ovom projektu nije potreban pametni telefon, samo će stari GSM telefon raditi na UKLJUČIVANJU i ISKLJUČIVANJU bilo kojih kućnih elektroničkih uređaja s bilo kojeg mjesta. Ovdje možete provjeriti još neke projekte bežične automatizacije kuće: IR daljinsko upravljana kućna automatizacija pomoću Arduina, Bluetooth kontrolirana kućna automatizacija, zajedno s DTMF automatiziranom kućnom automatizacijom, PC upravljana kućnom automatizacijom pomoću Arduina.
Objašnjenje u radu
U ovom se projektu Arduino koristi za kontrolu cijelog procesa. Ovdje smo koristili GSM bežičnu komunikaciju za upravljanje kućanskim aparatima. Šaljemo neke naredbe poput "# A.light on *", "# A.light off *" i tako dalje za kontrolu AC kućanskih aparata. Nakon primanja zadanih naredbi od strane Arduina putem GSM-a, Arduino šalje signal relejima, da UKLJUČUJE ili ISKLJUČUJE kućanske uređaje pomoću pokretača releja.
Komponente sklopa:
- Arduino UNO
- GSM modul
- ULN2003
- Relej 5 volti
- Žarulja s držačem
- Spajanje žica
- Daska za kruh
- LCD 16x2
- Napajanje
- Mobitel

Ovdje smo upotrijebili prefiks u naredbenom nizu koji je "#A.". Ovaj se prefiks koristi za utvrđivanje da glavna naredba dolazi pored njega, a * na kraju niza označava da je poruka završena.
Kada pošaljemo SMS na GSM modul putem Mobitela, tada GSM prima taj SMS i šalje ga Arduinu. Sada Arduino čita ovaj SMS i izvađuje glavnu naredbu iz primljenog niza i pohranjuje u varijablu. Nakon toga, Arduino uspoređuje ovaj niz s predefiniranim nizom. Ako se dogodilo podudaranje, Arduino šalje signal releju preko pokretača releja za UKLJUČIVANJE I ISKLJUČIVANJE kućanskih aparata. A relativni rezultat također se ispisuje na LCD zaslonu 16x2 pomoću odgovarajućih naredbi.
Ovdje u ovom projektu koristili smo žarulju od 3 nule za demonstraciju koja pokazuje ventilator, svjetlo i TV.
Ispod je popis poruka koje šaljemo putem SMS-a za uključivanje i isključivanje ventilatora, svjetla i televizora:
|
S.br. |
Poruka |
Operacija |
|
1 |
# A.fan na * |
VENTILATOR UKLJUČEN |
|
2 |
# A.fan isključen * |
VENTILATOR ISKLJUČEN |
|
3 |
# A.svjetlo na * |
Uključeno svjetlo |
|
4 |
# A.isključi * |
Svijetlo ugašeno |
|
5 |
# A.tv na * |
TV UKLJUČEN |
|
6 |
# A.tv isključen * |
TV isključen |
|
7 |
# A.sve na * |
Sve UKLJUČENO |
|
8 |
# A.sve isključeno * |
Sve isključeno |
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
Priključci ovog sklopa kućne automatizacije temeljenog na GSM- u prilično su jednostavni, ovdje se zaslon s tekućim kristalima koristi za prikaz stanja kućanskih uređaja koji je izravno povezan s arduinom u 4-bitnom načinu. Podatkovni pinovi LCD-a, naime RS, EN, D4, D5, D6, D7, spojeni su na arduino digitalni pin broj 6, 7, 8, 9, 10, 11. A Rx i Tx pin GSM modula izravno su povezani na Tx i Rx pin Arduina. A GSM modul napaja se pomoću 12-voltnog adaptera. 5-voltni SPDT 3 releji koriste se za upravljanje SVJETLOM, VENTILATOROM i TV-om. A releji su spojeni na arduino pin broj 3, 4 i 5 preko pokretača releja ULN2003 za upravljanje LIGHT, FAN i TV.

Šifra Opis
U programski dio ovog projekta, prije svega u programiranje, uključujemo biblioteku za prikaz tekućih kristala, a zatim definiramo podatke i upravljačke igle za LCD i kućanske uređaje.
#include
Nakon toga se serijska komunikacija inicijalizira pri 9600 bps i daje smjer korištenom pinu.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (led, IZLAZ); pinMode (Ventilator, IZLAZ); pinMode (svjetlo, IZLAZ); pinMode (TV, IZLAZ);
Za serijski prijem podataka koristili smo dvije funkcije jedna je Serial.available koja provjerava dolaze li neki serijski podaci, a druga Serial.read koja čita podatke koji dolaze serijski.
while (Serial.available ()) {char inChar = Serial.read ();
Nakon serijskog primanja podataka pohranili smo ih u niz i čekali Enter.
void serialEvent () {while (Serial.available ()) {if (Serial.find ("# A.")) {digitalWrite (led, HIGH); kašnjenje (1000); digitalWrite (led, LOW); while (Serial.available ()) {char inChar = Serial.read (); str = inChar; if (inChar == '*') {temp = 1; povratak; }
Kada dođe Enter, program započinje uspoređivanje primljenog niza s već definiranim nizom i ako se niz podudara, tada se izvodi relativna operacija pomoću odgovarajuće naredbe dane u kodu.
void check () {if (! (strncmp (str, "tv on", 5))) {digitalWrite (TV, HIGH); lcd.setCursor (13,1); lcd.print ("ON"); kašnjenje (200); } inače if (! (strncmp (str, "tv off", 6))) {digitalWrite (TV, LOW); lcd.setCursor (13,1); lcd.print ("OFF"); kašnjenje (200); }
