izrada funkcionalnog mobilnog telefona koristeći arduino · arduino platformu potrebno je u ide-u...

35
VELEUČILIŠTE U RIJECI ODJEL TELEMATIKA Tino Grgurić Izrada funkcionalnog mobilnog telefona koristeći arduino platformu PROJEKTNI ZADATAK Rijeka, 2013./14.

Upload: doankien

Post on 30-Sep-2018

250 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

VELEUČILIŠTE U RIJECI

ODJEL TELEMATIKA

Tino Grgurić

Izrada funkcionalnog mobilnog telefona koristeći arduino

platformu

PROJEKTNI ZADATAK

Rijeka, 2013./14.

Page 2: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

VELEUČILIŠTE U RIJECI

ODJEL TELEMATIKA

IZRADA FUNKCIONALNOG MOBILNOG TELEFONA

KORISTEĆI ARDUINO PLATFORMU

Mentor: dipl.ing.el. Marino Franušić

Kolegij: Projekt u telematici

Student: Tino Grgurić

MBS: 2427005544/11

Rijeka, 2013./14.

Page 3: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

SADRŽAJ 1. UVOD ..................................................................................................................................................1

2. TERMINSKI PLAN IZRADE PROJEKTA ........................................................................................2

3. TEORIJSKA POZADINA MOBILNE TELEFONIJE ........................................................................3

3.1. GSM .....................................................................................................................................3

3.2. MODEL SUSTAVA.............................................................................................................3

3.3. ĆELIJE ................................................................................................................................4

3.4. GPRS ...................................................................................................................................4

3.5. UMTS ..................................................................................................................................5

4. TEORIJSKA POZADINA ARDUINO PLATFORME ......................................................................6

4.1. HARDWARE ......................................................................................................................6

4.2. PROGRAMIRANJE ZA ARDUINO ..................................................................................7

5. PRIMJER POSTOJEĆIH PROJEKATA ............................................................................................8

5.1. ARDUINO MOBITEL S TOUCH SCREENOM ...............................................................8

5.2. ARDUINO MOBITEL .....................................................................................................10

6. ARDUINO UNO ...............................................................................................................................11

6.1 SPECIFIKACIJE, SHEMA, FIZIČKE KARAKTERISTIKE ..........................................11

6.1.1 SPECIFIKACIJE ................................................................................................11

6.1.2 SHEMA ..............................................................................................................11

6.1.3 FIZIČKE KARAKTERISTIKE ..........................................................................13

6.2 NAPAJANJE ......................................................................................................................14

6.2.1 ZAŠTITA RAČUNALA .....................................................................................14

6.3 ULAZNE I IZLAZNE JEDINICE ......................................................................................14

6.4 KOMUNIKACIJA ..............................................................................................................15

7. GPRS/GSM SHIELD ........................................................................................................................16

7.1 SPECIFIKACIJE, SHEMA, FIZIČKE KARAKTERISTIKE ...........................................16

7.1.1 SPECIFIKACIJE ................................................................................................16

7.1.2 SHEMA ..............................................................................................................16

7.1.3 FIZIČKE KARAKTERISTIKE ..........................................................................18

8. PRIMJERI KODA ZA GPRS/GSM SHIELD ..................................................................................19

8.1. PRIMJER KODA ZA SPAJANJE GPRS/GSM SHIELDA NA MREŽU .......................19

8.2. PRIMJER KODA ZA SLANJE SMS-A ...........................................................................20

8.3. PRIMJER KODA ZA SPAJANJE LCD-A .......................................................................21

8.4. PRIMJER KODA ZA USPOSTAVU POZIVA ................................................................22

8.5. PRIMJER KODA ZA USPOSTAVU POZIVA KROZ FAZE ..........................................23

8.6. PRIMJER KODA ZA SLANJE SMS-A KROZ FAZE ....................................................24

8.7. PRIMJER KODA S IZBORNIKOM ................................................................................25

9. OPIS RADA CIJELOG SUSTAVA .................................................................................................27

9.1. PRIKAZ ELEKTRIČNE SHEME .....................................................................................28

9.1.1. SHEMA SPAJANJA ARDUINA I GSM/GPRS SHIELDA .............................28

9.1.2. SHEMA SPAJANJA GSM/GPRS SHIELDA i NOKIA EKRANA .................29

10. ANALIZA RADA ...........................................................................................................................30

11. TROŠKOVNIK ...............................................................................................................................31

12. LITERATURA ................................................................................................................................32

Page 4: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

1

1. UVOD

Tema ovog projektnog zadatka je izrada funkcionalnog mobilnog telefona temeljenog

na Arduino Uno platformi. Mobilni telefon bi trebao imati funkcije slanja i primanja SMS

poruka, primanja i upućivanja poziva. U sljedećoj radnji naći će se detaljno opisan način

izrade spomenutog uređaja, terminski plan izrade, teorijska pozadina vezana za Arduino

platformu i mobilnu telefoniju. Od opreme koristit će se Arduino Uno, Arduino GSM/GPRS

shield koji će biti detaljnije opisan, ekran za mobilni uređaj Nokia 5110. U radnji će biti

prikazani neki već postojeći slični projekti koji će također poslužiti i kao primjer za izradu

ovog projekta.

Page 5: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

2

2. TERMINSKI PLAN IZRADE PROJEKTA

Ovdje je opisan terminski plan izrade ovog projekta. Ovako sam zamislio terminski

plan, te ću ga se nastojati pridržavati.

DATUM OPIS 14. 10. 2013. - 25. 10. 2013. Pisanje teoretskih dijelova projekta kao što su

teorijska pozadina mobilne telefonije i Arduino

sustava, pregled postojećih Arduino sustava koji

se koriste za mobilnu komunikaciju, pisanje

terminskog plana.

28. 10. 2013. - 9. 11. 2013. Detaljan opis Arduino Uno platforme, detaljan

opis Arduino GSM/GPRS shielda, opis planiranog

rješenja.

12. 11. 2013. - 12. 12. 2013. Sastavljanje sustava te opis njegovih programa i

postavki, spajanja na mrežu, primanje i slanje

SMS-ova, glasovnog poziva, spajanja tipkovnice,

opis rada cijelog sustava.

13. 12. 2013. - 2. 1. 2014. Analiza rada u usporedbi s planiranim terminima i

zamišljenim rješenjem, električne sheme i

troškovnik potreban za izradu projekta.

3. 1. 2014. - 12. 01. 2014. Završavanje rada, rješavanje zaostataka i izrada

powerpoint prezentacije.

Page 6: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

3

3. TEORIJSKA POZADINA MOBILNE TELEFONIJE

U početku je mobilna telefonija bila analogna, analogni mobilni uređaji su podržavali

samo govornu komunikaciju. Taj standard naziva se NMT. U početku je radio na frekvenciji

od 450 MHz i kasnije je proširen na frekvencijsko područje od 900 MHz.

3.1. GSM

Kasnije je razvitkom mobilne telekomunikacijske mreže nastao digitalni standard

GSM faze 1. Posebna mogućnost GSM-a naspram NMT-a je bila roaming, odnosno

mogućnost korištenja mobilne komunikacije izvan matične države. Također, GSM je

omogućavao slanje kratkih poruka ili SMS-ova (Short Message Service). GSM je mogao

doseći brzinu prijenosa podataka do 9.600 kbit/s. Sustav je bio potpuno digitalan tako da za

prijenos podataka nisu bili potrebni modemi, nego se sustav mogao integrirati direktno u

mrežu.

Osnovna struktura sustava se sastoji od baznih stanica, njihovih kontrolera te

komunikacijskog sustava koji ih spaja s fiksnom mrežom. GSM je od zlouporabe zaštićen na

par načina: IMEI kodom što je identifikacijski kod uređaja, IMSI kodom (kod SIM kartice),

PIN kodom.

Kasnije, u GSM fazi 2, GSM je zadržao sve svoje mogućnosti samo što su dodane

neke nove ili nadograđene postojeće. U GSM-u faze 2 bilo je moguće tražiti informaciju o

cijeni poziva, omogućen je prikaz broja pozivatelja, omogućeno je ostaviti poziv na čekanju,

uključiti više učesnika u razgovor.

Postoji pet GSM frekvencijskih područja: GSM 450, GSM 800, GSM 900, GSM 1800,

GSM 1900.

3.2. MODEL SUSTAVA

Model mobilnog sustava se koristi na tri razine: razini primjene, razini upravljanja,

razini povezivanja. Razina povezivanja povezuje mobilnu na baznu stanicu i na toj razini

mobilni uređaji dobivaju pristup internetu i fiksnoj liniji. Nakon toga dolazi razina

upravljanja, tamo centrala pregledava registar korisnika i registar preplatnika. I zadnja je

razina primjene, nju koristi korisnik, služi za preuzimanje i slanje MMS-ova, geolokacija,

ringtonova te korištenje ostalih mogućnosti.

Page 7: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

4

Slika 1. Model sustava

3.3. ĆELIJE

Ćelija je osnovna jedinica celularnog sustava. Definira je domet pokrivanja jednog

antenskog sustava bazne stanice. Svaka ćelija ima dodijeljen jedinstveni broj CGI (Cell

Global Identity). GSM može imati makro, mikro i piko ćelije. Optimalna mreža za mobilnu

telefoniju se sastoji od velikih i malih ćelija. Tehnika velikih ćelija se koristi tamo gdje je mali

broj preplatnika, dok se tehnika malih ćelija koristi na područjima gdje je velik intenzitet

prometa. Radius ćelije se može proizvoljno smanjivati, no zbog toga može doći do velikog

broj hand off-ova u toku jednog razgovora, što bi moglo predstavljati smetnje u govornoj

usluzi.

3.4. GPRS

GPRS ili General Packet Radio Service je protokol koji omogućava prijenos podataka

bežičnim putem kroz GSM mrežu. GPRS se koristi na 2G i 3G mreži te omogućava brzinu

prijenosa podataka između 56-114 kbit/s. Uglavnom se koristi na 2G mrežama. Taj standard

Page 8: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

5

se naziva i 2.5 G mrežom iz razloga što je nastao na prelasku s 2G na 3G mrežu. Za

multipleksiranje koristi TDMA (Time Division Multiple Access). GPRS omogućava slanje i

primanje SMS poruka te njihov broadcasting, stalan internet pristup, MMS (Multimedia

Message Service) za slanje multimedijskog sadržaja putem mobilne mreže, PoC (Push To

Talk) način komuniciranja. PoC je half-duplex način komuniciranja pomoću kojeg se mobitel

mogao koristiti kao walkie talkie. GPRS je omogućavao IM (Instant Messaging), internet

aplikacije, P2P (Point to Point) protokol te P2M (Point to Many) protokol.

3.5. UMTS

UMTS (Universal Mobile Telecomication System) je jedna od treće generacije

mobilne telefonije bazirane na GSM-u. 1885-2025 MHz za uplink (komuniciranje mobitela s

baznom stanicom), 2110-2200 MHz za downlink (od bazne stanice prema mobilnom uređaju),

širina kanala je po 5 MHz. Osnovna brzina je do 384 kb/s. UMTS podržava HSPA+ koji

omogućava prijenos podataka po brzini od 42 Mbit/s te HSDPA koji omogućava 7,2 Mbit/s.

Postoji više načina multipleksiranja za UMTS. To su CDMA, FDMA i TDMA.

Page 9: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

6

4. TEORIJSKA POZADINA ARDUINO PLATFORME

Arduino je open-source elektronička platforma koja je nastala 2005. godine na

sveučilištu u Ivery, u Italiji. Arduino sustav se koristi za upravljanje drugim sustavima i

modulima. Lagan je za korištenje te se prodaje u „uradi sam“ paketima kojih je 2011. prodano

oko 300.000.

4.1. HARDWARE

Arduino sustav se sastoji od Atmel 8-bit AVR mikrokontrolera i ostalih dijelova koji

omogućavaju lakše programiranje i spajanje na druge strujne krugove i sustave. Službeni

Arduino sustavi koriste megaAVR čipove. Koriste se linearni regulator od 5 V, kristalni

oscilator od 16 MHz. Najbitnija stvar kod Arduina je lako spajanje novih priključaka i

modula. Moduli za Arduino su poznatiji pod nazivom shield. Mogu se kupiti ili ih možemo

izraditi sami. Svrha modula je davanje novih funkcija Arduino kontroleru kao što su GPS,

ethernet, LCD ekran, bluetooth itd. Arduinov mikrokontroler dolazi s vlastitim bootloaderom

koji omogućava upload napisanih programa na flash memoriju Arduina.

slika 2. Arduino Uno - R3

Prvi prototipi Arduina su za komunikaciju s računalom koristili serijski port RS-232.

Današnji Arduino sustavi koriste USB priključak za programiranje.

Page 10: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

7

4.2. PROGRAMIRANJE ZA ARDUINO

Arduino IDE je pisan u Javi te se može koristiti na svim poznatijim platformama kao

što su Linux, Windows i Mac OSx. Novije Linux distribucije dolaze s predinstaliranim

Arduino IDE-om kao npr. Kali Linux. Arduino IDE se može besplatno preuzeti sa službene

web stranice Arduino sustava. Sam Arduinov IDE napravljen je tako da približi programiranje

korisnicama koji njemu nisu vični ili se s još nisu susreli s njim. Sam IDE ima mogućnost

provjere točnosti koda, te upload gotovog napisanog koda na Arduino sustav. Program ili kod

za Arduino se naziva sketch. Sintaksa Arduino IDE-a je slična sintaksi C i C++ programskih

jezika. U sljedećem primjeru možemo vidjeti primjer koda za paljenje i gašenje LED diode na

Arduino platformi na pinu 13.

Primjer koda:

#define LED_PIN 13

void setup ()

pinMode (LED_PIN, OUTPUT); // Omogućava pinu 13 digitalni Output

void loop ()

digitalWrite (LED_PIN, HIGH); // Uključi ledicu

delay (1000); // Pričekaj 1 sec. (1000 milisekundi)

digitalWrite (LED_PIN, LOW); // Isključi ledicu

delay (1000); // Pričekaj 1 sec.

Većina Arduino platformi ima na sebi ugrađen LED i otpornik između pina 13 i

podnožja pločice koji se koriste za testiranje platforme. Za učitavanje prethodno napisanog na

Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod

učitati, ukoliko nema grešaka. Ukoliko su greške prisutne kod se neće učitati i IDE će javiti

grešku. Nakon što se napisani kod učita Arduino će izvršiti zadani zadatak.

Page 11: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

8

5. PRIMJER POSTOJEĆIH PROJEKATA

Pretražujući internet naišao sam na dva projekta slična mojem projektu. U jednom

projektu osoba radi Arduino mobitel s touch screenom složenim u kućištu koje je napravljeno

pomoću 3D printera. U drugom primjeru osoba radi mobitel koje je nešto sličniji ovome koji

će biti napravljen u ovome projektu.

5.1. ARDUINO MOBITEL S TOUCH SCREENOM

Za izradu ovog uređaja bilo je potrebno nabaviti osam komponenti. To su bile: kućište

za mobitel, Arduino Uno platforma, GPRS Shield, TFT touch screen, baterija i modul za

napajanje, Lipo Rider, Groove RTC.

Prvo je bilo potrebno smjestiti bateriju i modul za napajanje u kućište. Kućište je

napravljeno u 3D printeru tako da je prilagođeno svim komponentama. Modul za napajanje

omogućava napajanje Arduino sustava, a Lipo Rider punjenje baterije putem mini USB

kabela. Za čuvanje vremena na satu zaslužan je shield Groove RTC. Nakon što je napajanje

smješteno u kućište potrebno je spojiti GPRS shield u Arduino UNO zajedno s touch

screenom.

Slika 3. Komponente za izradu Arduino mobitela

Page 12: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

9

Nakon programiranja ovaj Arduino mobitel je imao omogućene sljedeće funkcije1:

Primanje i slanje poruka.

Primanje i upućivanje poziva.

Prikaz sata na zaslonu.

Prikaz dolaznih i odlazni tel. brojeva.

Mogućnost mijenjanja funkcija uređaja na touch screenu.

Čuvanje vremena sata ukoliko je mobitel ugašen.

Na kraju dolazi završni dio u kojem se slaže kompletno kućište i dobiva oblik mobitela.

Slika 4. Završen uređaj

11

Važno je napomenuti da se gotov kod za ovaj uređaj može downloadati s web stranice

http://yexiaobo-seeedstudio.github.io/ArduinoPhone/ .

Page 13: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

10

5.2. ARDUINO MOBITEL

Za razliku od prošlog primjera ovaj uređaj ne koristi TFT touchscreen nego puno

jednostavniji matrični ekran (5x8) ili crno-bijeli Nokia LCD. No, funkcionalnost je slična

prethodnom uređaju.

Za izradu ovo uređaja potreban je LED ili LCD ekran, tiskana pločica, M10 GSM

modul, Arduino Uno, kućište iz 3D printera ili šper ploče, antena, zvučnici, USB priključak.

Slika 5. Arduino mobitel s LED ekranom

Mogućnosti uređaja su2:

Zvanje i primanje poziva telefonskih brojeva

Slanje i pisanje SMS poruka

Alarm

Prikaz mreže

Prikaz dolaznih i odlaznih telefonskih brojeva

2 Software za ovaj uređaj također se može naći za download na web stranici:

https://github.com/damellis/cellphone2.

Page 14: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

11

6. ARDUINO UNO

Arduino Uno je uređaj koji je zasnovan na Atmega328 mikrokontroleru. Na njemu se

nalazi 14 input/output pinova od kojih se šest može koristiti kao PWM output. Posjeduje šest

analognih inputa, 16 MHz keramički resonator, USB konektor, utičnicu za napajanje, tipku za

resetiranje i ICSP header. Arduino Uno ima na sebi sve potrebne komponente koje

omogućavaju nesmetan rad mikrokontrolera. Arduino se napaja po potrebi preko USB kabla

kojim se spaja na računalo, preko lokalne mreže ili pomoću baterije.

6.1 SPECIFIKACIJE, SHEMA, FIZIČKE KARAKTERISTIKE

6.1.1 SPECIFIKACIJE

Mikrokontroler Atmega328

Napon potreban za rad 5 V

Preporučen ulazni napon 7-12 V

Maksimalni ulazni napon 6-20 V

Broj digitalnih pinova 14

Izlazna struja po jednom ulazno-izlaznom pinu 40 mA

Izlazna struja za 3.3 V pin 50 mA

Flash memorija 32 KB, 0,5 KB služi za bootloader

SRAM 2 KB

EEPROM 1 KB

Brzina procesora 16 MHz

6.1.2 SHEMA

Na sljedećoj stranici nalazi se prikaz sheme za Arduino Uno koji koristi mikrokontroler

Atmega 328p. Shema spajanja za svaki noviji mikrokontroler je ista.

Page 15: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

12

Slika 6. Arduino Uno R3 shema

Page 16: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

13

6.1.3 FIZIČKE KARAKTERISTIKE

Arduino sustav dugačak je 6,58 cm i širok 5,12 cm. Najuočljivije komponente su USB

port i port za napajanje. Na rubovima ima četiri rupice za vijke tako da se može pričvrstiti za

željenu površinu. Također je uočljiv razmak izmađu pina 7 i 8 koji iznosi 0,40 cm. S L je

označena testna LED dioda koja se poziva na pinu 13, a ispod nje se nalaze TX i RX diode

koje trepere priliko primanja i slanja podataka. Na srednjoj desnoj strani pločice se nalazi

tipka za reset.

1. USB priključak

2. Regulator napona

3. Priključak za napajanje

4. Digitalni pinovi

5. FTDI USB čip

6. Testna „ledica“ na pinu 13

7. TX i RX diode

8. Dioda koja prikazuje je li Arduino uključen

9. Reset tipka

10. Mikrokontroler

11. Pinovi za napajanje

12. Analogni pinovi

Slika 7. Arduino Uno R2 prikaz komponenti

Page 17: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

14

6.2 NAPAJANJE

Arduino se može napajati preko računala putem podatkovnog USB kabla ili preko

vanjskog izvora. Sam Arduino automatski odabire izvor napajanja. Vanjsko napajanje može

biti AC/DC adapter ili baterija. Adapter se spaja u 2,1 mm utičnicu na Arduino sustavu, dok

baterija može biti spojena preko Gnd ili Vin pinova ili preko utičnice za napajanje. Arduino

sustav može funkcionirati na naponu od 6 V - 20 V, ukoliko sustav dobiva manje od 7 V,

moguće je da pinovi neće funkcionirati kako bi trebali. Ukoliko se koristi više od 12 V postoji

mogućnost da će sustav pregoriti.

Za napajanje se mogu koristiti sljedeći pinovi:

VIN: Ovo je pin za ulazni napon koja se nalazi na Arduinu, na njega se može spojiti

AC/DC adapter ili baterija

5V: Ovaj pin daje izlaznih 5 V, može se napajati pute USB-a ili preko vanjskog

izvora.

3V3: 3,3 V koja su generirana na Arduinovom regulatoru, maksimalna struja koju

može dati je 50 mA

GND: uzemljeni pinovi

IOREF: ovaj pin osigurava kontroleru napon s kojim on izvršava zadaću.

6.2.1 ZAŠTITA RAČUNALA

Za zaštitu računala na kojem je spojen Arduino, sustav ima ugrađen resetabilni

osigurač za slučaj da se u Arduinu javi veća struja od dozvoljene. Ukoliko se na USB portu

javi struja veća od 500 mA osigurač automatski prekida vezu između računala i Arduina.

6.3 ULAZNE I IZLAZNE JEDINICE

Arduino ima na sebi integrirano 14 pinova koji imaju mogućnost primanja i slanja

podataka. Pinovi rade na 5 V te svaki pin prima maksimalno 40 mA. Svaki pin ima unutarnji

pull-up otpornik od 20 - 50 k Ω.

Neki pinovi imaju specijalizirane funkcije.

Serial: 0 (RX) i 1 (TX): RX se koristi za primanje, a TX za slanje serijski podataka.

Ovi pinovi su spojeni na pinove mikrokontrolera.

Page 18: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

15

Vanjski prekidi 2 i 3: Ovi pinovi reagiraju ukoliko dođe do prekida ili promjene

vrijednosti.

PWM: 3, 5, 6, 9, 10 i 11: omogućavaju 8-bitni PWM izlaz pomoću analogWrite()

funkcije.

SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): Omogućavaju SPI komunikaciju

koristeći SPI knjižnice (libary).

LED 13: Tvornički ugrađena „ledica“ na pinu br. 13 koja se uključuje ukoliko je

vrijednost HIGH, a isključuje ukoliko je vrijednost LOW.

Arduino Uno također ima šest analognih ulaza, na pločici su napisani oznakama od A0 do

A5. Svaki od njih omogućava 10 bita prostora. Po normalnim postavkama analogni pinovi

mogu koristiti od 0 – 5 V, no ta granica se može promjeniti koristeću AREF pin i naredbu

analogReference.

Specijalizirani analogni pinovi:

TWI: A4 ili SDA pin i A5 ili SCI pin podržavaju komunikaciju koristeći Wire

knjižnicu (library).

AREF: Referencira napon za analogne ulaze.

Reset: ukoliko ovaj pin dobije naredbu LOW mikrokontroler se resetira.

6.4 KOMUNIKACIJA

Postoji više načina da se Arduino poveže s računalom, drugim Arduinom ili nekim

drugim mikrokontrolerom. Mikrokontroler Atmega328 omogućava UART TTL serijsko

povezivanje na pinovima 0 [RX] i 1 [TX]. Mikrokontroler Atmega16U2 na Arduino pločici

za serijsku komunikaciju koristi USB port te na računalu stvara virtualne serijske portove pod

nazivom COM#. Da bi računalo prepoznalo Arduino preko virtualnog COM# sučelja

potrebno je instalirati drivere na Windows računalima. Za programiranje se koristi Arduino

IDE. Prilikom slanja ili primanja podataka RX i TX „ledice“ na Arduinu trepere.

Komunikaciju s Arduino digitalnim pinovima omogućava SoftwareSerial knjižnica (Library).

Page 19: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

16

7. GPRS/GSM SHIELD

GPRS shield omogućava korištenje GSM mreže za prijenos podataka s neke pristupne

lokacije. Shield omogućava funkcije kao i mobitel, prijenos kratkih tekstualnih poruka ili

SMS, GPRS pristup i audio komunikaciju. Postoje dvije verzije ovog shielda.

GPRS shield je kompaktibilan sa svim mikrokontrolerskim sustavima koji imaju isti

razmještaj pinova kao i GPRS modul. Ovaj shield se najčešće koristi na Arduino i Seeduino

sustavima. GPRS shield se konfigurira i kontrolira pomoću UART-a koristeći AT naredbe.

Shield je baziran na SIM900 modulu, kojeg proizvodi tvrtka SIMCOM. Modul je isti kao i

onaj u mobitelima samo bez korisničkog sučelja. Prilikom korištenja važno je da je SIM

kartica otključana.

7.1 SPECIFIKACIJE, SHEMA, FIZIČKE KARAKTERISTIKE

7.1.1 SPECIFIKACIJE

Modul SIM900

GSM standardi 850/900/1800/1900

GPRS Stanica Klasa B

GPRS multi-slot Kalsa 10/8

Upravljanje AT naredbe

SMS poruke Podržane (ASCII ili heksadecimalni znakovi)

Audio komunikacija Priključci za slušalice i mikrafon

Potrošnja struje (sleep mode) ~1.5 mA

Radna temperatura -40°C do +80°C

Radni napon 5 V

Napajanje Arduino pinovi ili preko AC/DC adaptera

Antena SMA

7.1.2 SHEMA

Na sljedećoj stranici nalazi se shema GPRS modula.

Page 20: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

17

Slika 8. GPRS/GSM shield shema

Page 21: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

18

7.1.3 FIZIČKE KARAKTERISTIKE

Arduino shield verzije 1.0 dugačaj je 6,5 cm, a širok 5,12 cm. S prednje strane uređaja

nauočljiviji je SIM modul na kojemu piše „SIM900“, vidljivi su priključci za audio

komunikaciju, signalno led svijetlo te priključak za antenu. S donje strane shielda vidljivi su

pinovi za spajanje sučelja na Arduino, Seeduino ili neki drugi podržani mikrokontroler te

konektori i držač za SIM karticu.

1. Priključak za antenu - SMA

2. SIM modul

3. Signalne LED-ice

4. Pinovi za spajanje ekrana

5. Tipke za uključivanje i reset

6. Utičnica za spajanje mikrafona

7. Utičnica za spajanje zvučnika/slušalica

8. Konektori za SIM karticu

9. Pinovi za spajanje na mikrokontrolerski sustav

Slika 9. GPRS/GSM shield komponente

Page 22: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

19

8. PRIMJERI KODA ZA GPRS/GSM SHIELD

8.1. PRIMJER KODA ZA SPAJANJE GPRS/GSM SHIELDA

NA MREŽU

Navedeni kod služi da bi Arduino mogao prepoznati GPRS/GSM shield. Ovaj sketch

omogućava kontroliranje GPRS/GSM shelda preko terminalskog sučelja. U ovom konkretno

slučaju koristilo se terminalsko sučelje SSCOM 3.2. i terminalsko sučelje Arduino IDE-a.

Primjer koda:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3);

void setup()

mySerial.begin(19200); //definiramo baud rate za serijsku komunikaciju

Serial.begin(19200);

void loop()

if (mySerial.available()) //definira konstantno primanje naredbi putem serijskog porta

Serial.write(mySerial.read());

if (Serial.available())

mySerial.write(Serial.read());

Naredbe koje koristimo putem terminala započinu sa AT. Prilikom spajanja shilda

potrebno je na terminalu definirati port na koji se spaja sustav. U ovom konkretno slučaju to

je najčešće bio COM4. Na GPRS shieldu je potrebno držati power tipku sve dok terminal ne

javi da je sustav privaćen.

Poruka prilikom prihvaćanja uređaja:

OK

NORMAL POWER DOWN – javlja se samo ponekad

RDY

+CFUN: 1

+CPIN: READY

Call Ready

Nakon prihvaćene poruke plava dioda ispod koje piše net bi trebala treperiti, to znači

da je shield „uhvatio“ signal. Nakon toga još kao dodatnu provjeru možemo mu poslati upit

Page 23: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

20

AT, ukoliko je sve u redu shield će nam odgovoriti OK. U sljedećem primjeru ću prikazati

kako uspostaviti poziv i poslati SMS pomoću terminala.

Slanje SMS-a putem terminala:

AT+CMGF=1; – prvo je potrebno ući u tekstualni mod slanja SMS-a

OK – odgovor na naredbu

AT+CSCA="+385910401"; – potrebno je definirati SMS centar u ovom slučaju Vipov

OK – odgovor na naredbu

AT+CMGS=“#broj mobitela“; – upisujemo željeni broj mobitela

> Ovo je testna SMS poruka –pojavljuju se > nakon kojih pišemo tekst SMS-a

>

> - kada napišemo tekst pritišćemo CTRL+Z ili šaljemo heksadecimalno 1A kako bi terminal

poslao poruku

OK – ukoliko dobijemo ovaj odgovor, poruka bi trebala stići

ERROR – ukoliko dobijemo ovaj odgovor, poruka bi ne bi trebala stići, ali ponekad i stigne.

Čitanje SMS-a putem terminala:

AT+CMGL; – Prikaz dolaznih poruka i bojeva mobitela

AT+CMGR=broj poruke; – Prikaz dolaznih poruke po broju

Uspostavljanje poziva putem terminala:

Uspostavljanje poziva i odgovaranje na dolazni poziv je puno jednostavnije nego slanje

poruke.

ATD Brojmobitela; – uspostavljanje poziva

ATH; – prekid poziva

OK – odgovor

Odgovor na dolazni poziv putem terminala:

ATA – odgovor na dolazni poziv

OK – odgovor

8.2. PRIMJER KODA ZA SLANJE SMS-A

Ovdje je opisan sketch koji se uploada na Arduino i služi za slanje SMS poruke bez

uporabe terminala. Prva i jedna od najbitnijih stvari je ta da kod za SMS poruku nije poželjno

staviti u sekciju void loop(); iz razloga što će Arduino konstantno slati SMS-ove.

Primjer koda:

#include <SoftwareSerial.h>

Page 24: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

21

SoftwareSerial mySerial(2, 3);

void setup()

mySerial.begin(19200);

Serial.begin(19200);

mySerial.print("AT+CMGF=1\r"); //omogućava slanje SMS-a u tekstualnom obliku

delay(100);

mySerial.print("AT+CSCA=\"+385910401\"; \r"); //spajanje na Vip SMS centar

delay(100);

mySerial.println("AT + CMGS = \"#broj mobitela\""); //odabir broja mobitela

delay(100);

mySerial.println("#tekst poruke"); //upisuje se tekst SMS-a

delay(100);

mySerial.println((char)26); //slanje signala za slanje poruke, znak 26 zamjenjuje CTRL+Z ili Hex. 1A.

delay(100);

mySerial.println();

void loop()

if (mySerial.available()) //služi za prikaz unesenih naredbi i ispis odgovora od strane shielda u prozor terminala

Serial.write(mySerial.read());

if (Serial.available())

mySerial.write(Serial.read());

8.3. PRIMJER KODA ZA SPAJANJE LCD-A

Za spajanje ekrana Nokie 5110 na GPRS/GSM shield potrebno je prvo s interneta

preuzeti knjižicu koja omogućava korištenje Nokie 5110 u Arduino IDE-u. Nakon toga se s

lakoćom može ispisati željeni tekst na ekranu. Ekran se spaja na predviđeno mjesto na

GSM/GPRS shieldu baš za taj ekran.

Primjer koda:

#include <LCD5110_Graph.h> //knjižica koja sadrži naredbe za ekran

#include <SoftwareSerial.h> //knjižica koja sadrži naredbe za komunikaciju sa shieldom

LCD5110 myGLCD(9,10,11,12,13); // pinovi na kojima se nalazi ekran

extern uint8_t SmallFont[]; // font koji ekran koristi

#define rxPin 2 //serial input

#define txPin 3 //serial output

SoftwareSerial mySerial(rxPin, txPin); //komunikacija sa inputom i outputom pomoću serial naredbi

void setup()

myGLCD.InitLCD();

Page 25: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

22

myGLCD.setFont(SmallFont);

mySerial.begin(19200); //definiramo baud rate-a za serijsku komunikaciju

Serial.begin(19200);

myGLCD.clrScr(); //početno brisanje sadržaja s ekrana

myGLCD.print("Tino", CENTER, 0); //na vrhu ekrana centrirano prikazuje se tekst Tino

myGLCD.print("Grguric", CENTER, 12); // u sredini ekrana prikazuje se tekst Grgurić

myGLCD.print("Telematika", LEFT, 30); //u donjem lijevom dijelu ekrana prikazuje se tekst Telematika

myGLCD.update(); // prehodno definirani tekst se uploada na ekran

void loop()

8.4. PRIMJER KODA ZA USPOSTAVU POZIVA

Za razliku od koda sa slanje SMS poruke kod za uspostavu poziva je puno

jednostavniji. Također nije poželjno da se definira u void loop sekciji.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(7,8);

void setup()

mySerial.begin(19200);

Serial.begin(19200);

mySerial.println("ATD + #Brojmobitela;"); //šalje se naredba za poziv i ciljani telefonski broj

delay(100);

mySerial.println();

void loop()

Page 26: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

23

8.5. PRIMJER KODA ZA USPOSTAVU POZIVA KROZ FAZE

Ovaj kod prikazuje kod za uspostavu poziva kroz faze za uspostavu poziva koje se

prikazuju na nokiinom ekranu koji je spojen na GSM/GPRS shield.

#include <LCD5110_Graph.h>

#include <SoftwareSerial.h>

LCD5110 myGLCD(9,10,11,12,13);

extern uint8_t SmallFont[];

#define rxPin 2

#define txPin 3

SoftwareSerial mySerial(rxPin, txPin);

void setup()

myGLCD.InitLCD(); //Definiraju se početne postavke ekrana

myGLCD.setFont(SmallFont);

myGLCD.clrScr();

myGLCD.print("POZIV", CENTER, 0);

myGLCD.print("Komunikacija", LEFT, 12); //na ekranu se ispisuje poruka

myGLCD.print("sa shieldom", LEFT, 30);

myGLCD.update();

delay(1000);

mySerial.begin(19200);

Serial.begin(19200);

mySerial.println("ATD +#broj mobitela;" ); // U shield se šalje naredba za svanje određenog telefonskog broja

mySerial.println();

myGLCD.clrScr();

myGLCD.print("POZIV", CENTER, 0);

myGLCD.print("Pozivam", LEFT, 12); //na ekranu se prikazuje tekst i brojtelefona koji se poziva

myGLCD.print("#broj mobitela;", LEFT, 30); // broj telefona se ovdje upisuje ručno ne šalje se automatski

myGLCD.update();

delay(5000);

myGLCD.clrScr();

myGLCD.print("POZIV", CENTER, 0);

myGLCD.print("Poziv je", LEFT, 12); // nakon pet sekundi na ekranu se prikazuje ova poruka

myGLCD.print("Uspostavljen", LEFT, 30);

myGLCD.update();

void loop()

Page 27: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

24

8.6. PRIMJER KODA ZA SLANJE SMS-A KROZ FAZE

Ovaj kod prikazuje način slanja sms poruke kroz faze za slanje SMS poruke koje se

prikazuju na ekranu koji je spojen na GSM/GPRS shield.

#include <LCD5110_Graph.h>

#include <SoftwareSerial.h>

LCD5110 myGLCD(9,10,11,12,13);

extern uint8_t SmallFont[];

#define rxPin 2

#define txPin 3

SoftwareSerial mySerial(rxPin, txPin);

char *init1="AT+IPR=19200"; //inicijalizirane su varijable koje se kasnije šalju umjesto naredbi

char *init2="AT+CMGF=1"; //to su naredbe za komunikaciju sa shieldom, definiranje SMS centra te slanje

char *init3="AT+CSCA=+385910401"; //znaka br 13 između naredbi.

unsigned char CR=13;

void setup()

myGLCD.InitLCD();

myGLCD.setFont(SmallFont); //definiranje ekrana

mySerial.begin(19200);

Serial.begin(19200); //definiranje baund rate-a

Serial.println("OK.");

myGLCD.clrScr();

myGLCD.print("SMS", CENTER, 0);

myGLCD.print("GPRS Shield ", LEFT, 12); //početna poruka na ekranu

myGLCD.print("Tino ", LEFT, 30);

myGLCD.update();

mySerial.write(init1); //Unos prethodno definiranih varijabli

mySerial.write(CR);

delay(1000);

mySerial.write(init3);

mySerial.write(CR);

delay(1000);

mySerial.write(init2);

mySerial.write(CR);

delay(1000);

Serial.read();

myGLCD.clrScr();

myGLCD.print("SMS", CENTER, 0);

myGLCD.print("Pripremanje", LEFT, 12);

myGLCD.print("SMS poruke", LEFT, 30); //ispis na ekranu prije slanja poruke

myGLCD.update();

mySerial.write("AT+CMGS=\"#broj mobitela;"\""); //upis broja mobitela na koji se šalje SMS

mySerial.write(CR);

delay(1000);

Page 28: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

25

mySerial.write("Probna poruka sa arduino uredaja!"); // tekst poruke

mySerial.write(CR);

delay(1000);

myGLCD.clrScr();

myGLCD.print("SMS", CENTER, 0);

myGLCD.print("Saljem na br.", LEFT, 12); // prikaz broja na koji se šalje poruka

myGLCD.print("#broj mobitela;"", LEFT, 30); // broj se unosi ručno

myGLCD.update();

mySerial.write(26); // zamjenjuje CTRL+Z ili HEX 1A koje je potrebno za potvrdu slanja

delay(3000);

myGLCD.clrScr();

myGLCD.print("SMS", CENTER, 0);

myGLCD.print("Poslano :D", CENTER, 15); //prikaz da je poruka poslana

myGLCD.update();

void loop()

8.7. PRIMJER KODA S IZBORNIKOM

Ovaj kod prikazu prethodno prikazane kodove spojene u jedan sa izbornikom.

Izbornik se koristi putem terminala. Šalje se odabir iz izbornika te shield obrađuje naredbu, za

definiranje izbornika koristi se if/else funkcija.

#include <LCD5110_Graph.h>

#include <SoftwareSerial.h>

LCD5110 myGLCD(9,10,11,12,13);

extern uint8_t SmallFont[];

#define rxPin 2

#define txPin 3

SoftwareSerial mySerial(rxPin, txPin);

void setup()

myGLCD.InitLCD();

myGLCD.setFont(SmallFont); // definiranje ekrana

mySerial.begin(19200);

Serial.begin(19200); // definiranje baund rate-a

Serial.print("izbornik\n\n");

Serial.print("1.SMS\n"); // prikaz izbornika u terminalu

Serial.print("2.Poziv\n");

myGLCD.clrScr();

myGLCD.print("ARDUINO", CENTER, 0);

myGLCD.print("GLAVNI", CENTER, 15); // početni prikaz teksta na ekranu

myGLCD.print("IZBORNIK", CENTER, 30);

myGLCD.update();

void loop()

Page 29: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

26

int izbor= Serial.read(); // uneseni odabir se sprema u varijablu izbor

if (Serial.available() > 0)

delay(100);

if(izbor == '1') // ako je izbor broj jedan šalje se poruka

Serial.print("\nsaljem SMS\n"); //u terminalu se ispisuje saljem SMS

myGLCD.clrScr();

myGLCD.print("ARDUINO", CENTER, 0);

myGLCD.print("Priprema SMS-a", LEFT, 12); //na ekranu se ispisuje poruka priprema SMS-a

myGLCD.update();

mySerial.print("AT+CMGF=1\r"); //poruku šaljemo u ascII obliku

delay(100);

mySerial.print("AT+CSCA=\"+385910401\"; \r"); //definiranje SMS centra

delay(100);

myGLCD.clrScr();

myGLCD.print("ARDUINO", CENTER, 0); //Na ekranu se prikazuje proruka slanje poruke

myGLCD.print("Slanje SMS-a", LEFT, 12);

myGLCD.update();

mySerial.println("AT + CMGS = "#broj mobitela\""); //definira se broj mobitela

delay(100);

mySerial.println("poruka sa arduino uredaja"); // tekst poruke

delay(100);

mySerial.println((char)26); // zamjenjuje CTRL+Z ili HEX 1A koje je potrebno za potvrdu slanja

delay(100);

mySerial.println();

delay(500);

myGLCD.clrScr();

myGLCD.print("ARDUINO", CENTER, 0);

myGLCD.print("Poslano :D", CENTER, 15); //Prikazuje na ekranu da je poruka poslana

myGLCD.update();

else if(izbor == '2') //ako je uneseni izbor dva

myGLCD.clrScr();

myGLCD.print("ARDUINO", CENTER, 0); //ekran prikazuje koji tel. Broj se poziva

myGLCD.print("Pozivam", CENTER, 15);

myGLCD.print("#broj mobitela;" , CENTER, 30);

myGLCD.update();

Serial.print("\nPozivam\n"); // terminal ispisuje tekst pozivam

mySerial.print("ATD +#broj mobitela;"); // definira se broj mobitela kojem upučujemo poziv

delay(100);

mySerial.println();

delay(1000);

myGLCD.clrScr();

myGLCD.print("ARDUINO", CENTER, 0);

myGLCD.print("Pozvano :D", CENTER, 15); // ekran ispisuje da je broj pozvan

myGLCD.print(""#broj mobitela;" ", CENTER, 30);

myGLCD.update();

Page 30: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

27

9. OPIS RADA CIJELOG SUSTAVA

GSM/GPRS shield primarno funkcionira tako da se na Arduino uploada sketch za

komunikaciju putem terminala, nakon toga se spaja GSM/GPRS shield. Bitno je da shield ima

posebno napajanje koje se spaja na Arduino mikrokontroler jer bez dodatnog vanjskog

napajanja shield se ne može spojiti na mobilnu mrežu. Za spajanje na mrežu potrebno je

shield spojiti u računalo te pokrenuti terminal, nakon spajanja držati „PWR“ tipku na

GSM/GPRS shieldu. Prilikom spajanja na mrežu plava ledica pod nazivom „NET“ počinje

treperiti te shield šalje odgovor u terminal. Terminal mora biti podešen kao i Arduino na

baund rate 19200. Nakon toga shield je spreman za uporabu. Shield se koristi s prethodno

opisanim naredbama, omogućava sve osnovne funkcije kao i normalan mobitel. Prilikom

slanja SMS poruke obavezno je potrebno upisati broj SMS centra operatera čiju SIM karticu

shield koristi jer inače će poruke kasniti ili neće uopće dolaziti. Za uspostavu poziva potrebno

je posjedovati sušalice i mikrofon, no osim tih zahtjeva uspostava poziva je vrlo jednostavna.

Shield se može koristiti i sa sketchevima za Arduino, znači potrebno je u sketchu definirati

sve naredbe redoslijedom te ih slati preko sketcha u shield umjesto preko terminala. Prednost

korištenja sketcha nad terminalom je ta što s njim možemo lakše koristiti ekran Nokie 5110,

možemo shieldu zadati neku automatsku radnju ili smanjiti zahtjeve za unosom naredbi u

terminal. Ekran se spaja na predviđeno mjesto na shieldu te se definira u sketchu , obavezno s

interneta treba preuzeti library s naredbama za taj ekran. Na ekran je potrebno zalemiti pinove

ili žice kako bi se mogao spojiti te dolazi u bijeloj i plavoj boji.

Slika 10. Shema spajanja shielda za uporabu s terminalom

Page 31: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

28

9.1. PRIKAZ ELEKTRIČNE SHEME

U narednim shemama prikazana su dvije osnovne sheme spajanja, shema spajanja

Arduino uređaja i GSM/GPRS shielda i spajanje shielda i Nokia 5110 ekrana.

9.1.1. SHEMA SPAJANJA ARDUINA I GSM/GPRS SHIELDA

GSM/GPRS Shield se spaja preko Arduino uređaja te obuhvaća sve njegove pinove

kao što je vidljivo na sljedećoj shemi.

Slika 11. Električna shema spajanja shielda na Arduino uređaj

Page 32: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

29

9.1.2. SHEMA SPAJANJA GSM/GPRS SHIELDA i NOKIA EKRANA

Ekran za Nokiu 5110 se spaja na predviđeno mjesto na GSM/GPRS shieldu. Ti pinovi

su na shildu označeni kao „NOKIA5110_LCD“. Ekran ima označene pinove od 1 do 8 te ih je

tim redom potrebno spojiti, ukoliko nisu spojeni tim redom ekran dobiva samo slabo

osvjetljenje.

Slika 12. Električna shema spajanja shielda i ekrana za Nokiu 5110

Page 33: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

30

10. ANALIZA RADA

U početku uređaj je trebao imati tipkovnicu koja je trebala omogućiti upravljanje, ali

to nije postignuto. No uređaj i bez tipkovnice radi odlično te obavlja sve funkcije koje se

mogu tražiti od mobilnog uređaja. Može ostvariti i primiti pozive, poslati i primiti SMS

poruke te uz to pokazati podatke na ekranu. Problem koji se javio prilikom izrade uređaja je

kvar na ispravljaču koji je došao uz GSM/GPRS shield. Ispravljač jednostavno nije želio

raditi, nije napajao shield te zbog toga nije bilo moguće isprobati niti jednu funkciju uređaja

osim ispisivanja teksta na ekranu. Nije bilo moguće isprobati niti jednu funkciju mobilnog

uređaja iz razloga što se shield nije mogao spojiti na mrežu. Nakon što sam nabavio novi

ispravljač uređaj je radio izvrsno osim slanja SMS poruka, često su kasnile ili nisu bile

poslane. Problem je bio taj što nisam definirao SMS centar u shieldu, nakon što je to bilo

definirano uređaj je radio super. Kasnije sam izradio sketch koji je omogućio slanje SMS

poruke prikazujući stanje slanja SMS kroz faze na Nokiinom ekranu te sketcheve za zvanje na

druge uređaje, za ispis teksta na ekran. Zamišljeno rješenje je bilo napraviti izbornik kao na

klasičnom mobitelu te navigirati pomoću tipkovnice. To nažalost nije bio slučaj, zbog

nemogućnosti spajanja tipkovnice. No uspio sam napraviti upravljanje uređaja pomoću

terminala. Uređaj omogućava sve kao i što je bilo zamišljeno, jedino što nema spojenu

tipkovnicu. Projekt je bio završen kao što je bilo i predviđeno u terminskom planu.

Slika 13. Prikaz složenog sustava

Page 34: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

31

11. TROŠKOVNIK

Sljedeća tablica prikazuje predmete koji su se koristili za izradu projekta te njihovu cijenu. Uređaji su prikazani u stranim valutama te su

cijene pretvorene u domaću valutu.

Kol. NAZIV CIJENA

(HRK)

CIJENA (strana valuta) OPIS

1 Arduino Uno 152.78 20.00€ U ovom projektu koristio se Arduino Uno.

1 GSM/GPRS Shield 278.64 49.99$ Korišten je SIM9000 Shield.

1 USB kabel 19.78 3.55$ Koristi se klasični USB 2.0 kabel kao za printer.

1 Slušalice i mikrofon 279.00 Može se kupiti i odvojeno, ovdje je korišten Plantronics headset. Mogu biti

korištene i jeftinije slušalice.

1 Nokia 5110 ekran 32.83 5,89$ Ekran koji se spaja na shield.

1 Ispravljač 9V 89.12 15,99$ Univerzalni ispravljač.

1 SIM start paket 10.00 U ovom slučaju Vip start paket.

1 Vipme bon 50 kn 50.00 Budući da start paket ima samo 10.00 kn bilo je potrebno nadoplatiti račun.

UKUPNO 912.15

Page 35: Izrada funkcionalnog mobilnog telefona koristeći arduino · Arduino platformu potrebno je u IDE-u samo kliknuti „Upload to I/O Board“. Time će se kod učitati, ukoliko nema

32

12. LITERATURA

[1]Emil Prpić - predavanja s kolegija Mobilna komunikacija

[2]http://www.angelfire.com/ne/svetac/diplomski.htm - Neven Zubak - Razvoj mobilne

telefonije

[3]http://en.wikipedia.org/wiki/General_Packet_Radio_Service - Wikipedia - GPRS

[4]http://en.wikipedia.org/wiki/Universal_Mobile_Telecommunications_System - Wikipedia

- UMTS

[5]http://en.wikipedia.org/wiki/Arduino - Wikipedia - Arduino

[6]http://www.arduino.cc/ - Arduino službena stranica

[7]http://www.instructables.com/id/ArduinoPhone/ - Primjer sličnog projekta br. 1

[8]http://yexiaobo-seeedstudio.github.io/ArduinoPhone/ -Software za primjer projekta br. 1

[9]http://blog.arduino.cc/2013/08/12/diy-cellphone/ - Primjer sličnog projekta br. 2

[10]http://arduino.cc/en/Main/arduinoBoardUno - Opis Arduino sustava

[11]http://www.seeedstudio.com/wiki/index.php?title=GPRS_Shield_v0.9b – Opis

GSM/GPRS Shielda

[12]http://www.robotshop.com/media/files/PDF/gprs-shield-sld33149p.pdf - Opis

GSM/GPRS Shielda

[13]http://www.geeetech.com/wiki/index.php/Arduino_GPRS_Shield - Upute za korištenje

shielda

[14]http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield - Upute

za korištenje shielda

[15]http://elecfreaks.com/store/download/datasheet/rf/SIM900/SIM900_AT%20Command%2

0Manual_V1.03.pdf – Detaljan opis naredbi za korištenje GSM/GPRS shielda