You are on page 1of 29

T.C.

SEYH

BILEC
IK

EDEBALI NIVERS
ITES
I
IK
FAKLTESI
MHENDISL
I BLM
ISAYAR

IG
BILG
MHENDISL

ARDUINODA
LM35 SENSR ILE
ODA SICAKLIGININ
THINGSPEAK
IN

IN
ELDE EDILMES

ZERINDEN
GRAFIG
I
Frat UAR
PROJE II ALISMASI

PROJE II DANISMANI

: gr. Gr. Murat ZALP

BILEC
IK
11 Ocak 2017

T.C.

SEYH

BILEC
IK

EDEBALI NIVERS
ITES
I
IK
FAKLTESI
MHENDISL
I BLM
ISAYAR

IG
BILG
MHENDISL

ARDUINODA
LM35 SENSR ILE
ODA SICAKLIGININ
THINGSPEAK
IN

IN
ELDE EDILMES

ZERINDEN
GRAFIG
I
Frat UAR
PROJE II ALISMASI

PROJE II DANISMANI

: gr. Gr. Murat ZALP

BILEC
IK
11 Ocak 2017

ZET

Projenin Amac

Arduino UNO ile LM35 sensr kullanlarak oda scaklgnn www.thingspeak.com


intertet sitesi zerinden scaklk - zaman grafiginin elde edilmesi amaland.

Projenin Kapsam

Proje iki ana blmden olusmaktadr. Birinci blmde genel itibariyle arduino ve kullanlan malzemeler tantlrken, ikinci blmde ise verilerin aktarldg www.thingspeak.
comun islevi ve kod paralarnn alsmas incelendi.

Sonular

Sonu olarak oda scaklgn LM35 sensr ile www.thingspeak.com zerinden tm


internet kullanclarna ak olarak zamana bagl degisimi gsterildi.

ii

ABSTRACT

Project Objective

By using the Arduino UNO LM35 sensor, it was aimed to obtain a temperature-time
graph of room temperature over the www.thingspeak.com internet site.

Scope of Project

The project consist of two main parts. The first part introduces the arduino and the used
materials in general, while the second part examines the function of the information and
the functioning of the code pieces of www.thingspeak.com.

Results

As a result, the room temperature was shown to change over time with the LM35 sensor,
open to all internet users via www.thingspeak.com.

iii

TESEKKR

Bu projenin basndan sonuna kadar hazrlanmasnda emegi bulunan ve beni bu konuya


ynlendiren saygdeger hocam ve dansmanm Sayn Murat ZALPa tm katklarndan
ve hi eksiltmedigi desteginden dolay tesekkr ederim.

Frat UAR
11 Ocak 2017

iv

INDEK

I
ILER
ZET

ii

ABSTRACT

iii

TESEKKR

iv

LISTES

SEK

IL
I

vii

IS
1 PROJEYE GIR
1.1

Proje Yapm Asamalar . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 PROJEDE KULLANILAN SERSORLERIN TANITIMI VE KANAL OLUSTURMA

2.1

Arduino UNO ve Teknik zellikleri . . . . . . . . . . . . . . . . . . . .

2.1.1

G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.2

Hafza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.3

Giris-ks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.4

Haberlesme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1.5

Programlama . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ESP8266y Tanyalm . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.1

Genel zellikleri . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.2

ESP8266 Gncellenmesi . . . . . . . . . . . . . . . . . . . . . .

2.3

LM35i Tanyalm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4

Thingspeakde Kanal Olusturma . . . . . . . . . . . . . . . . . . . . . .

2.2

3 AT KOMUTLARI VE PROGRAM KODU

12

3.1

AT Komutlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3.2

Program Kodlarnn Incelenmesi . . . . . . . . . . . . . . . . . . . . . .

15

4 SONULAR VE NERILER

19

KAYNAKLAR

21
v

ZGEMIS

22

vi

LISTES

SEK

IL
I
1

Arduino UNO R3 [1] . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Teknik zellikler [1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ESP8266 wifi sensr [2] . . . . . . . . . . . . . . . . . . . . . . . . . .

ESP8266 genel zellikleri[2] . . . . . . . . . . . . . . . . . . . . . . . .

Gncelleme devresi[3] . . . . . . . . . . . . . . . . . . . . . . . . . . .

Gncelleme islemleri 1 [3] . . . . . . . . . . . . . . . . . . . . . . . . .

Gncelleme islemleri 2 [3] . . . . . . . . . . . . . . . . . . . . . . . . .

Gncelleme islemleri 3 [3] . . . . . . . . . . . . . . . . . . . . . . . . .

LM35 scaklk sensr [4] . . . . . . . . . . . . . . . . . . . . . . . . .

10

My channel mens [5] . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

11

New channel [6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

12

Yeni kanal olusumu [6] . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

13

AT komutlar iin gerekli baglant [7] . . . . . . . . . . . . . . . . . . . .

12

14

BaudRate ayar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

15

CWLAP kullanm [8] . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

16

AT komutlar [8] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

17

Tanmlamalar ve ktphane ekleme . . . . . . . . . . . . . . . . . . . . .

15

18

Setup metodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

19

Loop metodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

20

Scaklk yolla fonksiyonu . . . . . . . . . . . . . . . . . . . . . . . . . .

17

21

Scaklk - zaman grafiginin thingspeakde grns . . . . . . . . . . . .

18

vii

IS
PROJEYE GIR

Bu projede arduinoda LM35 scaklk sensr ile oda scaklgnn degerinin bir internet
sitesi zerinden tm kullanclara ak bir sekilde scaklk-zaman grafiginin gsterilmesi
amaland .

Bylece devresini kurdugumuz bu proje sayesinde istedigimiz bir yerin anlk scaklgnn grafigini herhangi bir internet baglantsyla projenin linkine tklayarak grenmis
olacagz.
Verilerin gnderilecegi site olan Thingspeak ayn zamanda birok daha uygulamann
tabann olusturmaktadr. Thingspeak ve uygulama alanlar 1. Blmde daha detayl anlatlacaktr.
Bu blmde projenin yapm asamalarna da deginilirse ;

1.1

Proje Yapm Asamalar

1- Projede kullanlacak olan malzemelerin tespit ve tedarik edilmesi


2- Arduino kullanm ve kod yazm hakknda detayl bir arastrma yaplmas
3- Projede kullanlacak internet sitesi uygulamasnn arastrlmas ve tesbitinin yaplmas
4- Proje uygulamalarnn yaplmas
5- Projeye ilave edilebileceklerin tespitinin yaplmas ve uygulanmas
6- Proje raporunun hazrlanmas
7- Projenin tamamlanmas

Maddeler halinde belirtilen bu asamalarn detaylar ilerleyen blmlerde aklanmstr.

PROJEDE KULLANILAN SERSORLERIN TANITIMI


VE KANAL OLUSTURMA
Projenin 1. blm olan bu blmde projede kullanlan sensrlerin tantmn , alsma

prensibini ve thingspeakde kanal olusturmay grecegiz.


ncelikle projemizde kullanacagmz arduinomuzu tanyalm.

2.1

Arduino UNO ve Teknik zellikleri

Projemizde kullanlan arduino modeli Arduino UNO R3 Klon modelidir.

Sekil

1: Arduino UNO R3 [1]

Arduino UNO; Atmega328 temelli bir mikrodenetleyici kartdr. zerinde 14 adet dijital giris/ks pini (6 tanesi PWM ks olarak kullanlabilir), 6 analog giris, 16Mhz
kristal, usb soketi, g soketi, ISCP konektr ve reset tusu bulundurmaktadr. Kart zerinde mikrodenetleyicinin alsmas iin gerekli olan her sey bulunmaktadr. Kolayca usb
kablosu zerinden bilgisayara baglanabilir, adaptr ve ya pil ile alstrlabilir.
Arduino UNOnun teknik zellikleri asagda belirtilmistir.
2

Sekil

2: Teknik zellikler [1]

2.1.1

Arduino UNO gcn usb zerinden ve ya harici g kaynagndan alabilir. Harici


g kaynag AC-DC adaptr olabilecegi gibi bataryada olabilir. Adaptr kart zerindeki
2.1mm merkez-pozitif g soketinden baglanabilir. Batarya kart zerindeki GND ve Vin
pinleri zerinden baglanabilir.

Kartn alsmas iin srekli olarak usbnin bagl olmas

sart degildir. Kart sadece adaptr ve ya batarya ile alstrlabilir. Bu sayede kart bilgisayardan bagmsz olarak alstrlabilir.

Harici g kaynag olarak 6-20V aras kullanla-

bilir.Ancak bu degerler limit degerleridir. Kart iin nerilen harici besleme 7-12V arasdr.
nk kart zerinde bulunan reglatr 7V altndaki degerlerde stabil alsmayabilir. 12V
stndeki degerlerde de asr snabilir. UNO kartnn zerindeki mikrodenetleyicinin alsma gerilimi 5Vdur. Vin pini ve ya g soketi zerinden verilen 7-12V aras gerilim
kart zerinde bulunan voltaj reglatr ile 5Va dsrlerek karta daglr.
G pinleri asagdaki gibidir.
VIN: Harici g kaynag kullanlrken 7-12V aras gerilim giris pini.
5V: Bu pin reglatrden kan 5V ks verir. Eger kart sadece usb(5V) zerinden alsyor ise usb zerinden gelen 5V dogrudan bu pin zerinden ks olarak verilir. Eger
karta g Vin(7-12V) ve ya g soketi (7-12V) zerinden veriliyorsa reglatrden kan
3

5V dogrudan bu pin zerinden ks olarak verilir.


3V3: Kart zerinde bulunan 3.3V reglatr ks pinidir.Maksimum 50mA ks verebilir.
GND: Toprak pinleridir.

2.1.2

Hafza

Atmega328 32KBlk flash bellege sahiptir.(0.5 KB kadar bootloader tarafndan kullanlmaktadr). 2 KB SRAM ve 1 KB EEPROMu bulunmaktadr.

2.1.3

Giris-ks

UNO zerindeki 14 adet dijital pinin hepsi giris ve ya ks olarak kullanlabilir. 6


tane analog giris pinide bulunmaktadr. Bu analog giris pinleride ayn sekilde dijital giris
ve ks olarak kullanlabilir. Yani kart zerinde toplam 20 tane dijital giris ks pini
mevcuttur. Bu pinlerin tamamnn lojik seviyesi 5Vdur. Her pin maksimum 40mA giris
ve ks akm ile alsr. Ek olarak, baz pinlerin farkl zellikleri bulunmaktadr.

2.1.4

Haberlesme

Arduino UNOnun bilgisayarla, baska bir arduino ve ya mikrodenetleyici ile haberlesmesi iin birka farkl seenek vardr. Atmega328, 0(RX) ve 1(TX) pinleri zerinden
UART TTL(5V) seri haberlesme imkan sunar. Kart zerinde bulunan Atmega16u2 usbseri dnstrcde bilgisayarda sanal bir com port aarak Atmega328 ile bilgisayar arasnda bir kpr kurar. Arduino bilgisayar program ierisinde barndrdg seri monitr ile
arduino ile bilgisayar arasnda text temelli bilgilerin gnderilip alnmasn saglar. Usb-seri
dnstrc ile bilgisayar arasnda usb zerinden haberlesme oldugu zaman kart zerinde
bulunan RX ve TX ledleri yanacaktr. UNO zerinde donanmsal olarak bir adet seri port
bulunmaktadr. Ancak SoftwareSerial ktphanesi ile bu say yazlmsal olarak arttrlabilir.
4

Atmega328 ayn sekilde I2C ve SPI portlarda saglamaktadr. Arduino bilgisayar program ile gelen Wire ktphanesi I2C kullanmn, SPI ktphaneside SPI haberlesmesini
saglamak iin kullanlr.

2.1.5

Programlama

Arduino UNO kart Arduino bilgisayar program (Arduino IDE) ile programlanr. Programda Tools>Board sekmesi altnda Arduino UNOyu seip programlamaya baslayabilirsiniz. Arduino UNO zerindeki Atmega328 zerine bootloader denilen zel bir yazlm
ykl gelir. Bu sayede kart programlarken ekstra bir programlayc kullanmanza gerek
yoktur. Haberlesme orjinal STK500 protokol ile saglanr.
Bootloader yazlm bypass edilerek kart dogrudan mikrodenetleyicinin ISCP headeri
zerinden ISP programlayc ile programlanabilir. Bootloader yazlm gibi Atmega16u2
ierisindeki kaynak yazlmda ak kaynakldr. Bu yazlma da DFU bootloader yazlm
ad verilir. Gerek Atmega328 gerekse 16u2 ierisindeki yazlmlar her zaman en gncel
hali ile gnderilir. O yzden mecbur kalmadka bu yazlmlar degistirmenize gerek yoktur.

2.2

ESP8266y Tanyalm

Bu projede kullanlan Wifi Sensr asagda gsterilen ESP8266 sensrdr.

Sekil

3: ESP8266 wifi sensr [2]


5

ESP8266 Wifi Serial Transceiver Modl olduka ekonomik ve kullansl bir modldr.
TCP/IP protokoln desteklemektedir.

zerinde dahili anten bulunmaktadr. Bu sayede

ortamdaki wifi agna rahatlkla baglanabilmekte, veri paketleri alp gnderebilmektedir.

2.2.1

Genel zellikleri

ESP8266 wifi sensrnn genel zellikleri asagda gsterilmistir.

Sekil

4: ESP8266 genel zellikleri[2]

2.2.2

ESP8266 Gncellenmesi

Modl aldgmzda kullanmaya baslamadan nce modl iindeki srm gncellemek gerekiyor. Bunun nedeni her gelen yeni srm ile modln daha da stabil bir hale
gelmesidir. Modln gncellenmesi iin nce baglantlar asagdaki sekilde yapmamz
gerekiyor.
6

Sekil

5: Gncelleme devresi[3]

Gncelleme iin gerekli olan gncelleme dosyalarn https://www.dropbox.com/


sh/ty249pqq1mlvg06/AAB8H2Lxafg2tDFqEetmSZTQa?dl=0 burdaki linkten
indirebilirsiniz.
Dosyalar indirdikten sonra ESP8266Flasher programn ayoruz ve karsmza asagdaki gibi bir grnt geliyor.

Sekil

6: Gncelleme islemleri 1 [3]

Yukarda gsterilen sekilde stten 2. menye giriyoruz ve ayarlarmalar asagdaki gibi


yapyoruz.
7

Sekil

7: Gncelleme islemleri 2 [3]

Ayarlar dogru bir sekilde yaptktan sonra, tekrar ilk menye dnp ortadaki byk
butona basyoruz ve bylece gncelleme islemi baslams oluyor. Islem tamamlandgnda
ESP8266 modlmz gncellenmis oluyor.

Sekil

8: Gncelleme islemleri 3 [3]

2.3

LM35i Tanyalm

Yar iletken bir yapya sahip olan LM35 s sensrdr. Hassas ve kk degerli scaklk
lmleri iin ideal bir sensrdr. -55 ile +150 derece arasnda alsabilen LM35 s
8

sensr ks geriliminin scaklk farkna gre degismesi prensibi ile alsr. Bir derece
degisim ks voltajn 10 mV degistirir. 4 ile 20V arasnda giris voltaj uygulanabilecek
sensr, 0.5 derece hassasiyete sahiptir.

Sekil

9: LM35 scaklk sensr [4]

2.4

Thingspeakde Kanal Olusturma

Projeyi gereklestirebilmek iin ESP8266y gncelledikten sonra www.thingspeak.


com adresinden bir kanal olusturmamz gerekiyor. Adrese girdikten sonra sag st kseden Sing Up butonuna tkladgmzda bizden kullanc ad, email gibi bilgileri isteyen bir
ekran geliyor. Burada Time Zone ksmn dogru girmemiz gerekiyor. Aksi takdirde siteye
gnderdigimiz verileri grntlemekte skntlar yasayabiliriz. Kayt olup giris yaptktan
sonra stteki Channels mensnden My Channels seenegi seildiginde karsmza asag daki gibi bir men geliyor.
9

Sekil

10: My channel mens [5]

Bu menye girdigimizde New Channel sekmesine tkladgmzda yeni bir kanal amak
iin hazrlklarmz yapms bulunuyoruz.

Sekil

11: New channel [6]

Gelen sayfada Name yazan yere kanalmzn ismini yazyoruz. Bu alanlara yazdklarmz daha sonra degistirmemiz de mmkn. nemli olan ksm yapacagmz isimlendirmelerde Trke karakter kullanmamamz gerektigi. Description ksmna ise kanalmz
ile ilgili bir aklama yazmamz gerekiyor. Field 1 yazan ksm ise yolladgmz veriler
ile olusturacagmz grafigin ne grafigi oldugudur. Birden fazla grafik almak istediginizde
10

Field 2, Field 3 gibi baska grafiklerde olusturabilirsiniz. Bilgileri girip Save Channele
tkladgmzda kanalmz olusturuluyor ve karsmza asagdaki gibi bir ekran geliyor.

Sekil

12: Yeni kanal olusumu [6]

Bu sayfada yolladgmz verileri scaklk-zaman grafigi seklinde grebilecegiz. st menden biraz bahsetmek gerekirse Private View sekmesi grafigi sadece bizim grebildig imiz sekmedir. Eger veriler herkes ile paylasmak istenirse kanalmz public olarak deg istirip sayfann linkini paylasmamz yeterli olacaktr. Channel Settings sekmesinden
ise yukarda ayarladgmz tm ayarlar degistirebiliriz. API Keys sekmesi ise bizim iin
nemli bir ksm nk Arduino ve ESP modlmz ile kanalmz haberlestirirken bu
sekme iinde bulunan, bize zel API Keyini kullanacagz. Bu key tamamen bize zel
olup, kanal ve ESP arasnda bir sifre gibi dsnlebilir. En sagdaki Data Inport/Export
sekmesinde ise daha nce elimizde kanalmza ait bir veri varsa bu veriyi grafigimize
eklemeye ya da grafigimizdeki verileri bilgisayarmza indirmeye olanak saglar.

11

AT KOMUTLARI VE PROGRAM KODU


Projemizin bu blmnde program kodlarmzn byk bir blmn kapsayan AT

komutlarn ve programmzn alsma yapsn inceleyecegiz.

3.1

AT Komutlar

AT komutlarn ncelikle tanmlamak gerekirse, Hayes ismindekir bir firma tarafndan


olusturulan haberlesme standarddr. Ismini her komutun basnda AT harflerinin bulunmasndan alr ve zellikle GSM, fax, modem, bluetooth gibi haberlesme birimlerinde kullanlr. rnegin telefonunuz ile bir arama yapacagnzda telefonunuzun islemcisi, GSM
modlne bir AT komutu yollar ve arama baslar.
Bu AT komutlar yardm ile ESP modlmzde ortamdaki kablosuz aglar bulup, bu
aglara baglanabiliyor ve ya kendi kablosuz agn kurabiliyor.
Direk olarak seri port zerinden AT komutlarn kullanmak iin Arduino ve ESP arasnda asagdaki baglantlar yaplmas gerekiyor.

Sekil

13: AT komutlar iin gerekli baglant [7]

Bu baglantlar yaptktan sonra komut setlerini yollayabilmek iin bir seri port uygulamasna ihtiya duyacagz. Kullanm kolaylg asndan projemizde Arduino IDE seilmistir. Komutlar kullanmadan nce Arduino IDEnin serial port ekrannda esitli
ayarlamalar yapmamz gerekiyor. Yaplacak ayarlar asagdaki resimdeki gibi olmaldr.
12

Eger BaudRateyi 115200den farkl bir degerde girecek olursak modl ile haberlesmede
sorun kabilir.

Sekil

14: BaudRate ayar

Bu ayarlar ile beraber artk komutlar kullanmaya baslayabiliriz. Serial port ekrannn
komut satrna AT yazdgmzda ESP modl bize OK mesaj ile geri dnecektir. OK
mesaj modl ile iletisimin saglandg anlamna gelmektedir. Modl ile iletisimi sagladgmza gre diger komutlara geebiliriz. AT+CWMODE? komutu ile modlmz
hangi modda kullandgmz grenebiliriz. Modl bize 1, 2 ve ya 3 geri dns yapacaktr.
1 ile dnerse modl STA modunda yani baska aglara baglanabilecek sekilde kullanyoruz anlamna gelmektedir. 2 ile dnerse modlmz access point(AP) olarak kullanlabilmektedir. Bu mod ile local ag kurulabilip, bir ka ESPyi birbirine baglayabiliriz. Modl
bize 3 ile dnerse hem STA hem de AP olarak alsmaktadr.
Modl STA moduna sokmak iin AT+CWMODE=1 komutunu vermemiz gerekmektedir. Diger modlar iinde ilgili sayy yazmak yeterli olacaktr. Eger ortamdaki aglara
baglanmak istiyorsak STA modunda alstrmamz gerekiyor.

AT+CWLAP

Bu komutu kullandgmzda ortamdaki tm aglar taranp listelenmis bir sekilde karsmza


kyor. Asagdaki resimde buna bir rnek gsterilmistir.
13

Sekil

15: CWLAP kullanm [8]

Asagdaki resimde diger AT komutlar gsterilmektedir.

Sekil

16: AT komutlar [8]


14

3.2

Program Kodlarnn Incelenmesi

AT komutlarnn ne ise yaradgn, islevlerini ve uygulamalarn grdkten sonra artk


program kodlamaya baslayabiliriz. Programda kullanlan kod paralar blmler halinde
resimli bir sekilde anlatlacaktr.
Asagdaki resimde programmzn ilk asamas olan tanmlamalar ve thingspeakin kendine zel ktphanesinin eklenmesini grecegiz.

Sekil

17: Tanmlamalar ve ktphane ekleme

Kodumuzun bu blmnde ncelikle internet sitesinden indirdigimiz thingspeak ktphanesini programmza dahil ediyoruz. Ardndan define kullanarak ESP modlmz
baglamak istedigimiz wifi agnn ismini, sifresini ve uygulamada kullandgmz thingspeakin ip adresini tanmlyoruz. Son olarak program iinde bize asl lazm olan scaklk
degerini de float olarak tanmlyoruz. Simdi

ise her arduino proje kodunda yer alan Loop


ve Setup metodlarn grecegiz.
15

Sekil

18: Setup metodu

Yukarda grdgmz kod ksmnda ESP modlmzn ayarlamalarn yaptktan sonra


bir nceki resimdeki kodda gsterdigimiz tanmlamalardaki agmza baglanabilmemiz
iin gerekli AT komutlaryla ESP modlmz wifi agmza baglatmay gsterdik. Raporun 2. Blmnn ilk konu baslg olan AT komutlarnda anlatldg gibi gerekli komutlar
yapldktan sonra ESP wifi agna baglanms oldu. Asagda ise Loop metodunun iinde
bulunanlar ve gereklestirdigi komutlar grecegiz.

Sekil

19: Loop metodu

Yukarda grdgnz Loop metodumuzun iinde kodlamann en basnda tanmlams oldugumuz scaklk degerine A0 pinine baglams oldugumuz LM35 sensrnn okudugu
scaklk degerini atams olduk. Bu atamay yaptktan sonra Loop metodu dsnda tanmladgmz sicaklikyolla fonksiyonuna bu scaklk degerimizi gndermis bulunduk. Bundan
16

sonra son islem olan sicaklikyolla fonksiyonu ierisinde LM35 ile ltgmz scaklk
degerini komutlarmzla thingspeak adresine grafigini olusturmak zere gnderecegiz.
Asagda programn kod asamasnn son ksm olan sicaklikyolla fonksiyonu gsterilmistir.

Sekil

20: Scaklk yolla fonksiyonu

Yukarda grdgmz scaklkyolla fonksiyonu ierisinde ncelikle AT komutlarmzla


thingspeak sunucusundan baglanmak iin izin istiyoruz. Ardndan baglant esidi olarak
TCP ile sunucuya baglanyoruz. Baglantnn olmamas halinde durumdan haberdar olabilmek adna if ile hata mesaj yazdryoruz. Ardndan asl islem olan thingspeak adresine
scaklk degerini GET komutuyla gnderiyoruz. Bu kullandgmz GET komutu ierisine
daha nce kanalmzdan aldgmz Write API KEYi de ekliyoruz. Islemlerin sonunda
AT komutlaryla scaklgmz gnderiyoruz ve uzunlugunu ekrana yazdryoruz. Yaplan bu islemler sonucunda thingspeak adresine scaklk degerimizin grafigini olusturmak
zere degerimizi gndermis bulunuyoruz. Bundan sonra thingspeak zerinde karsmzda
olusacak grafik scaklk degerlerine bagl olarak asagdaki sekilde grafige yansyor ve
bylelikle program istenilen sonuca ulasms oluyor.
17

Sekil

21: Scaklk - zaman grafiginin thingspeakde grns

18

SONULAR VE NERILER

Bu projede elde edilen sonular asagda projeye baslamadan ncesi ve sonras seklinde
iki blmde ifade edilmistir.

Projeye baslamadan nce; arduionun genel itibariyle alsma prensipleri, genel yaps, kapsadg alanlar detaylar bir sekilde arastrlp, incelendi.
Projede kullanlacak olan malzemelerin siparisleri verildi ve malzemeler temin edildi.
Malzemeler temin edildikten sonra bu malzemelerin alsma prensipleri, uygulama alanlar, rnek uygulamalar arastrlp, incelendi.
Projenin kodlama asamasnda gerekli olacak ktphaneler belirlendi ve uygulamaya dahil edilmesi iin indirildi.

Projeye basladktan sonra; ncelikle projede kullanlacak malzemelerin board zerinde olusturacag devre iin gerekli arastrmalar yapld. Daha nce arduino ile ilgili bir
proje ve ya uygulamada bulunulmadg iin ok daha fazla arastrma ve inceleme yaplmas uygun grld.
Yaplan bu yogun arastrmalardan sonra board zerinde kurulmas gereken devre sekillendi ve sonunda kuruldu. Devre kurulduktan sonra bu konuda daha fazla bilgiye sahip
olan kisiler tarafndan devrenin dogrulugu teyit ettirildi.
Devreyi kurduktan sonra wifi modlnn baglant kuracag sunucu konusunda arastrmalar yapld. Bu sunucu bize wifi modlnn gnderdigi degeri grafik haline getirecegi
iin nemli bir paya sahipti. O yzden hem arduino ile uyumlu hem de wifi modl ile
uyumlu bir site olmas gerekliydi. Internette yaplan arastrmalar sonunda tam da bu tarz
uygulamalar iin ok uygun bir alt yap olusturan www.thingspeak.com adresi kesfedildi. Bu adres arastrlp detayl bir sekilde uygulama alanlar, ierdigi uygulamalar
arastrld. Daha birok gzel uygulamaya yer veren bu site bizim projemiz iinde belkide
en uygun siteydi.
Scaklk sensrnden okunan degeri wifi modl ile gnderecegimiz adreste belirlendikten sonra geriye kalan bu islemleri koda dkmek oldu. Projenin kodlama asamasna
geildi. Bu kodlama asamas iinde ok fazla uygulama ve rnek arastrlp, incelendi.
19

Yaplan arastrmalar, incelemeler ve denemeler sonucunda projenin kod ksmda tamamland. Artk scaklk sensrnn ltg degeri sunucuda grmek kald. Ilk birka deneme
de esitli hatalarla karslaslsa da www.thingspeak.com adresinden scaklk-zaman
grafigi grld. Bu asamadan da sonra projede istenilenlere ulaslms olundu.

Sonu olarak; projenin tm arastrma ve inceleme islemleri yapldktan sonra kodlama


islemi de tamamland ve LM35 sensr ile llen deger ESP8266 ile www.thingspeak.
com adresine gnderildi ve scaklk-zaman grafigi elde edildi.

20

KAYNAKLAR
[1] http://www.robotistan.com/orjinal-arduino-uno-r3-yeni-versiyon

[2] http://www.robotistan.com/esp8266-ekonomik-wifi-serial-transceiv

[3] http://maker.robotistan.com/esp8266-ile-iot-dersleri-1-esp8266-m
[4] http://www.robotistan.com/lm35/
[5] https://thingspeak.com/channels/
[6] https://thingspeak.com/channels/new/

[7] http://maker.robotistan.com/esp8266-dersleri-3-at-komutlarinin-k
[8] http://gu.ray.kim/esp/kitap.pdf/
[9] https://community.particle.io/t/update-twitter-with-thingspeak/
5587/
[10] https://thingspeak.com/apps/thingtweets/

21

You might also like