23
1 T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ÖZEL ELEKTRİK MAKİNALARI DERSİ FİNAL RAPORU ANDROİD BLUETOOTH KONTROLLÜ PİC SULAMA SİSTEMİ Emre CAN (1022706022) Ethem SERÇE (1022706042) Öğretim Görevlisi Yrd. Doç. Dr. Ramazan ŞENOL ELEKTRİK – ELEKTRONİK MÜHENDSİLİĞİ BÖLÜMÜ ISPARTA – 2015

T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

1

T.C.

SÜLEYMAN DEMİREL ÜNİVERSİTESİ

TEKNOLOJİ FAKÜLTESİ

ÖZEL ELEKTRİK MAKİNALARI DERSİ

FİNAL RAPORU

ANDROİD BLUETOOTH KONTROLLÜ PİC SULAMA SİSTEMİ

Emre CAN (1022706022)

Ethem SERÇE (1022706042)

Öğretim Görevlisi

Yrd. Doç. Dr. Ramazan ŞENOL

ELEKTRİK – ELEKTRONİK MÜHENDSİLİĞİ BÖLÜMÜ

ISPARTA – 2015

Page 2: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

2

İÇİNDEKİLER SAFYA NO

SİSTEMİN ÇALIŞMA ÖZETİ .......................................................................................................................... 3

Kullanılan Devre Elemanları ................................................................................................................... 4

PİC 16F877A ............................................................................................................................................. 4

2x16 LCD LM016 ..................................................................................................................................... 6

RTC Modül ................................................................................................................................................. 7

IRF530N MOSFET ................................................................................................................................... 7

HC06 Bluetooth Modül ......................................................................................................................... 8

PİC Kartı Proteus ISIS Genel Görünümü ............................................................................................. 9

PİC Kartı Proteus ARES 3D Genel Görünümü ................................................................................ 10

PİC Kartı Proteus Baskı Devreler ....................................................................................................... 10

Motor Sürücü Kartı ISIS Proteus Çizimi .......................................................................................... 11

Motor Sürücü Kartı ARES Proteus Çizimleri.................................................................................. 11

APP İNVENTOR 2 ANDROİD PROGRAMLAMA .................................................................................. 12

Giriş Kısmı ................................................................................................................................................... 12

Kodlama Kısmı .......................................................................................................................................... 13

ANDROİD ARAYÜZ ....................................................................................................................................... 14

Açılış Ekranı ............................................................................................................................................... 14

Ana Sayfa Ekranı ....................................................................................................................................... 15

Otomatik Mod Ekranı ............................................................................................................................. 15

ANROİD KODLAMA ...................................................................................................................................... 17

Blok Diyagramı Açıklamaları ............................................ Hata! Yer işareti tanımlanmamış.

Bluetooth Bağlantısı ........................................................ Hata! Yer işareti tanımlanmamış.

Mesaj Diyalog Penceresi ................................................. Hata! Yer işareti tanımlanmamış.

Menüler Arası Geçişin Ayarlanması ........................... Hata! Yer işareti tanımlanmamış.

Androidden Veri Gönderme ......................................... Hata! Yer işareti tanımlanmamış.

PİC’den Veri Alma ............................................................. Hata! Yer işareti tanımlanmamış.

PİC PROGRAMLAMA .................................................................................................................................... 18

CCS PIC C Derleyici Programının Özellikleri .................................................................................. 18

CSS C İle Yazılmış 930 Satır Kaynak Kod ............................................................................................. 20

EK A. LCD MENÜ KULLANIMI .................................................................................................................. 21

Page 3: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

3

SİSTEMİN ÇALIŞMA ÖZETİ

Bu çalışmada, PİC 16F877 tabanlı, android cihazlar üzerinden bluetooth kontrollü

otomatik veya manuel olarak damla sulama sistemi (DSS) ve fıskiye sulama sistemi

(FSS) gerçekleştirilmiştir. Bluetooth bağlantı ile PİC ve android cihazlar

haberleşmektedir. Otomatik çalışmada, DHT11 sensörden alınan sıcaklık ve nem

verileri, bizim çalışmasını istediğimiz (Sıcaklık Alt Limit, Sıcaklık Üst Limit, Nem Alt

Limit, Nem Üst Limit) değerler arasında ise, elektronik kartımız üzerinden veya android

cihazdan seçilen sulama modunda (Damla Sulama / Fıskiye Sulama / Damla+Fıskiye

Sulama) çalışacaktır. Manüel çalışmada kullanıcı istediği zaman DSS veya FSS’yi

elektronik kart üzerinden veya android cihazlardan çalıştırıp kapatabilir. Damlama veya

Fıskiyenin birisi çalıştığı durumda su motorumuzda enerjilendirilmektedir.

Yukarıda bahsedilen tüm bu işlemler PİC üzerinde çalışmaktadır. Androidden bir butona

basıldığında PİC’e komut gönderilir, PİC bu komutu alarak yapması gereken işlemi yapar

ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod

olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme label’larında

sonucu gösterir.

Tasarlanan elektronik kartta 2x16 LCD ve 3 buton (Aşağı, Yukarı, Mod) bulunmaktadır.

Aşağı/yukarı butonlar ile menüler arasında geçiş yapılabilir, seçilen değişkenleri arttırıp

azaltabilirsiniz. Mod butonu sayesinde dallı menülerin içerisine girebilir, sistem ile

alakalı değerlerin değiştirilmesi için seçim yapabilir, değişiklikleri kaydedebilir,

menülerden çıkabilirsiniz.

Sistem 5V ile çalışmaktadır. Rölelerin çekmesi için 12V girişine enerji verilmelidir.

Damla sulama ve fıskiye sulama valf çıkışları için 12V röleler kullanılmış, bu valflerin

çektiğini görebilmek için paralel LED’ler bağlanmıştır. Motor kontrolü için MOSFET

kullanılmış, ana elektronik kartımızdan optocoupler vasıtasıyla ayrılarak ufak bir motor

sürücü kartı tasarlanmıştır.

Page 4: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

4

Kullanılan Devre Elemanları

PİC 16F877A

2x16 LCD LM016

RTC Modül

12V Röle

IRF530N MOSFET

HC06 Bluetooth Modül

Buton, Kristal, Diyot, LED, Direnç, Klemens

PİC 16F877A

Page 5: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

5

Page 6: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

6

Bu pic modelini giriş çıkış port sayısının fazla olması, kullanıcı ram ve çalışma hızının

yüksek olması, yapılmış örnek uygulama sayısının fazla olması nedeniyle seçilmiş

bulunmaktadır.

2x16 LCD LM016

Page 7: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

7

2x16 LCD kullanmamız ile kolay menü oluşturmak amaçlanmıştır. Büyük LCD’lere göre

daha düşük akım gerektireceği için enerji tasarrufu sağlanılması düşünülmüştür. Örnek

uygulamaların sayısı daha fazla olduğu için tercih edilmiştir.

RTC Modül

RTC modül kullanarak sistemimizde saat ve tarihi göstermekteyiz. RTC programlanması

için ilk çalıştığında kod atılması sonrasında ise o kodun silinmesi gerekmektedir.

Aşağıdaki kod sayesinde saat ve tarih ayarlaması yapılır.

rtc_set_datetime(Gün,Ay,Yıl,HaftanınGünüRakamOlarak[1-7],Saat,Dakika);

IRF530N MOSFET

Page 8: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

8

Bu mosfet ile motor sürücü devresi tasarlanmıştır. IRF530N mosfeti seçmemizdeki

sebep olarak yüksek akıma dayanması söylenebilir. Mosfetin görevi anahtarlama

yapmaktır.

HC06 Bluetooth Modül

HC-06 Bluetooth Modülü, Bluetooth SSP(Serial Port Standart) kullanımı ve kablosuz seri

haberleşme uygulamaları için yapılmıştır. Üzerinde bulunan Rx, Tx, Vcc, Gnd pinleri

yardımı ile kolay kullanım sağlar.

Özellikleri;

Çalışma Gerilimi: 3.3-5V

Bluetooth Protokolü: Bluetooth 2.0+EDR(Gelişmiş Veri Hızı)

2.4GHz haberleşme frekansı

Hassasiyet: ≤-80 dBm

Çıkış Gücü:≤+4 dBm

Asenkron Hız: 2.1 MBps/160 KBps

Senkron Hız: 1 MBps/1 MBps

Güvenlik: Kimlik Doğrulama ve Şifreleme

Akım: 50 mA

Boyutları: 43x16x7mm

(http://www.robotkutusu.com/Arduino-Bluetooth-Modulu-HC-06,PR-107.html)

Page 9: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

9

PİC Kartı Proteus ISIS Genel Görünümü

Page 10: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

10

PİC Kartı Proteus ARES 3D Genel Görünümü

PİC Kartı Proteus Baskı Devreler

Page 11: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

11

Motor Sürücü Kartı ISIS Proteus Çizimi

Motor Sürücü Kartı ARES Proteus Çizimleri

Page 12: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

12

APP İNVENTOR 2 ANDROİD PROGRAMLAMA

( http://appinventor.mit.edu/ adresinden ulaşılmaktadır)

Giriş Kısmı

1. Diğer projelerinizi görebileceğiniz, yeni proje oluşturabileceğiniz, keystore export ve import yapabileceğiniz bir seçenek.

2. Uygulamanızı emülatöre ve usb yardımıyla android cihazınıza bağlayabileceğiniz bir seçenek.

3. Uygulamanızın .apk olarak bilgisayarınıza kaydedebileceğiniz, istersenizde telefonunuza indirmek için QR kodunu görüntüleyebileceğiniz bir seçenek.

4. Oluşturduğunuz uygulama ekranlarının listelendiği menü. 5. Uygulamamıza yeni ekran oluşturabileceğimiz bir buton. 6. Birden fazla ekrana sahip olduğumuzda seçili olanı silebileceğimiz bir buton. 7. Arayüz tasarımı için kullanacağımız nesnelerin olduğu kısım. 8. Nesneleri eklediğimiz, uygulamamızın telefonumuzda görünecek ekranın tasarlandığı

kısım. 9. Eklenen Nesnelerin sıralandığı kısım. 10. Yüklenen dosyaların ve dışardan dosya yükleyebileceğimiz kısım. 11. 9 numaralı kısımdan seçtiğimiz nesnenin default özelliklerini ayarlayabileceğimiz

kısım. 12. Şuan bulunduğumuz ekrana geçmek için buton. 13. Kod bloklarının olduğu kısma geçmek için buton.

Page 13: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

13

Kodlama Kısmı

1. Kod bloklarının türüne göre ayrıldığı bölüm. 2. Nesnelerden hariç olarak kod bloklarını açacak seçenekler. 3. Eklenen nesnelerle ilgili kod bloklarını açacak seçenekler. 4. Seçilen türe göre kod bloklarının sıralandığı bölüm. 5. Seçtiğiniz kod bloklarını birleştirebileceğiniz ekran.

Page 14: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

14

ANDROİD ARAYÜZ

Açılış Ekranı

Android arayüz açılış ekranı Şekil 1.’ deki gibidir. Bluetooth bağlantısını yapmak için “BAĞLAN” resmindeki listpicker butonuna dokunulduğunda Şekil 2.’ deki gibi bir ekran karşımıza çıkacaktır. Seçilen bir bluetooth cihazına bağlandıktan sonra eğer bağlantı yapılmışsa yeşil renkte “Bağlantınız Başarılı!” yapılmamışsa kırmızı renkte “Bağlantınızı Kontrol Ediniz” uyarısı gelecektir. İsimlerimizin yazılı olduğu butona basıldığında ise Şekil 3’ deki mesaj diyalog penceresinde bilgilerimiz gösterilmektedir. “Sisteme Giriş” butonuna basıldığında, sistem ile ilgili bilgilerin ve seçimlerin olduğu Şekil 4 ‘deki “Ana Sayfa” gösterilecektir.

Şekil 2. Anroid Arayüz Bluetooth Seçenekleri

Şekil 1. Android Arayüz Açılış Ekranı

Şekil 3. Anroid Arayüz Mesaj Diyolog Penceresi

Page 15: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

15

Ana Sayfa Ekranı

Ana sayfa üzerinde bulunan “Damla Sulama Aç”, “Damla Sulama Kapat”, “Fıskiye Sulama Aç”,

“Fıskiye Sulama Kapat” butonları sayesinde PİC’e bluetooth üzerinden (d,e,f,g) harf

gönderilir. PİC’ten gelen sıcaklık (500-600 arası) ve nem bilgisi (600-700 arası) Sıcaklık-Nem

label’larına ilgili alt limit rakamlarından çıkartılarak yazılır. Picten gelen diğer bilgilerde

labellara yazılır. Bunlar; Damla Sulama Açık (10), Damla Sulama Kapalı (11), Fıskiye Sulama

Açık (12), Fıskiye Sulama Kapalı (13), Otomatik Mod Aktif (15), Otomatik Mod Pasif (16)

verileridir. “Otomatik Mod” butonuna basıldığında Şekil 5’deki Otomatik Mod ekranı gelir.

Şekil 4. Anroid Arayüz Sistem Ana Sayfa Ekranı

Otomatik Mod Ekranı

Otomatik mod ekranında pic kendinde tanımla olan ilk değerleri android cihaza

gönderecektir, bu sayede android cihazda alt limit üst/limit değerleri gösterilmektedir. Bu

limitleri değiştirmek için karşılarındaki “ + ” / “ - ” butonları kullanılmaktadır. Bu butonlara

basıldığında her birine ait harf elektronik karta gönderilecek, pic bu gelen harfe göre

toplama/çıkartma işlemini yapacak ve son değeri android cihaza gönderecek, LCD’de ve

androidde güncel veri gösterilecektir. Otomatik modda hangi sistemin çalışması istenilirse alt

tarafta bulunan (Damlama, Fıskiye, Damlama+Fıskiye) butonlardan seçim yapılmalıdır.

Mevcut seçilmiş olan damlamadır. Eğer seçim yapılmadan otomatik mod başlatılırsa ilgili

değerler arasında sistem damla sulama sistemini çalıştıracaktır. Pic’den senkron şekilde gelen

veriler ilgili labellarda gösterilmektedir. “Geri Dön” butonuna basıldığı zaman ana sayfa

ekranı gelmektedir.

Page 16: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

16

Şekil 5. Anroid Arayüz Sistem Otomatik Mod Ekranı

Page 17: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

17

ANROİD KODLAMA

Dizayn (Designer) Bölümü: Arayüz oluştururken kullanılmak istenen arayüz elemanları, sensörler, clocklar vb. nesnelerin alındığı ve bunların tasarım özelliklerinin ayarlandığı kısımdır.

Designer Bölümü Genel Görünümü Blok (Block) Bölümü: Seçilen arayüz elemanları, sensörler, clocklar vb. nesnelerin programlandığı kısımdır.

Block Bölümü Genel Görünümü

Page 18: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

18

PİC PROGRAMLAMA

CCS C ile PİC16F877A programlama işlemi yapıldı.

CCS PIC C Derleyici Programının Özellikleri

CCS PIC mikrodenetleyicileri için kullanılan bir C derleyicisidir. Program yazım editöründe C

dilinde yazılan komutlar derlendiğinde HEX dosyanın yanında LST ve ERR dosyaları da

üretilir. LST Dosya içerisinde C kodlarıyla birlikte ASM komutları da vardır.

Bu dosya içerisine bakarak hangi komutla hangi REGISTER e müdahale edildiğini görebiliriz.

ERR Dosyası içerisinde ise eğer C kodlarının yazımı esnasında bir hata olusmus ise bu dosya

içerisinde hata görülebilir. C kodlarında hata düzeltilir ise bu dosyanın içeriği kendiliğinden

değisir ve hata olmadığını yazar. Derleyici ile 12 bit, 14 bit ve 18 serisi mikrodenetleyiciler için

program yazılabilmektedir.

( http://320volt.com/ccs-pic-c-derleyici-programi-c-dili-ve-ccs-temel-esaslari/ )

Programın Çalışma Alanından Bir Görüntü

Yeni bir çalışma alanı yaratmak için “PIC Wizard” kullanılabilir. PIC Wizard'ı çalıştırmak için

File > New > PIC Wizard yolu izlenir. PIC Wizard birçok prosedürün kullanıcı arayüzü yardımı

ile kolaylıkla yapılmasını sağlar. PIC Wizard başladığında projenin nereye kayıt edileceğini

soran bir pencere açılır. Dosya konumu ve dosya ismi seçilerek “Kaydet” tuşuna tıklanır.

Burada açılan pencere ile birçok prosedür kolaylıkla yapılabilmektedir. Bu pencerede seri

Page 19: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

19

port haberleşmesi, LCD, Timer gibi birçok konuda seçenek bulunmaktadır. Öncelikle

kullanılacak mikroişlemcinin seçilmesi gerekmektedir.

Kodlar yazıldıktan sonra derleme işlemine geçilir. Derleme işlemi Compile > Compile yolu

izlenerek ya da klavye kısayolu F9'u kullanarak yapılabilir. Derleme sonucunda hata ayıklama

işlemi için output penceresi kullanılır. Bu pencere yardımı ile hangi satırlarda ne tür hatalar

yaptığımızı görebiliriz. Derleme sonunda hata yoksa projenin kayıtlı olduğu dosyada .hex

uzantılı bir dosya oluşur. Bu dosya herhangi bir simülasyon programında denenebilir ya da

mikroişlemciye yüklenerek kullanılabilir. CCS C programının yardım bölümüne klavye kısayolu

F1 ile ya da sağ üst kösede bulunan soru işareti yardımı ile ulaşılabilir.

Page 20: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

20

CSS C İle Yazılmış 930 Satır Kaynak Kod

Page 21: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

21

EK A. LCD MENÜ KULLANIMI

Page 22: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

22

Page 23: T.C. - Emrecan · ve sonucunu LCD ekranında gösterirken seri haberleşme ile sonucu android cihaza kod olarak yollar, android cihaz gelen veriyi işleyerek kullanıcıya bilgilendirme

23