Projeler / Elektronik Projeler / Pic Projeleri / Bluetooth ile Kablosuz Haberleşme ve Kontrol


Yazar: Fikret Tozak
Gönderen: Admin   Tarih: 12-12-2007 17:02
Yorumlar: (14)   Oylar:

Bluetooth ile Mikrodenetleyiciler - Giriş

   Üniversitede bitirdiğim bölümün son sınıfında lisans tezi olarak kablosuz haberleşme projesi aldım.

   Projemizin başlangıçtaki amacı şuydu: Paralel porttan bilgisayara bağladığımız yazıcıları yeni bir cihaz geliştirerek kablosuz bir şekilde bağlantısını sağlamak. Aradaki paralel port kablosunu ortadan kaldırmak. Bu şekilde yazıcılar kablonun elverdiği uzaklıktan daha uzak yerlerde kullanabilecek ve kablo kalabalığı da bir miktar azalacaktı. Elbette proje sadece yazıcılar ile sınırlı kalmayıp paralel porttan bilgisayara bağlanabilen diğer cihazlarla da kullanılabilecekti.

   Bunun için tez hocama rf kullanmayı teklif ettiğimde bunun sağlıklı bir yol olmadığını, daha stabil ve güvenilir olan Bluetooth’u kullanmam gerektiğini öğrendim. Bluetooth aynı zamanda bir standart olduğu için proje, geliştirilmek istendiğinde başka cihazlarla da kolaylıkla uyumu sağlanabilecekti.

   Bu hedefler ile yola çıktık. Ancak ihtiyacımız olan elemanları Türkiye’de bulamayışımız ve bu konuda Türkiye’de yapılan çalışmaların kısıtlı kalması istediğimiz sonuçları almamızı engelledi. Tüm bunlara rağmen belli bir aşama kaydettik ve çok güzel bir çalışma çıkardık.

   Bu çalışmalarımı burada sizlerle paylaşıp kablosuz iletişimde Türkiyede yapılacak olan diğer çalışmalar için fayda sağlamak istedim. Ayrıca sizlerden gelecek olan yorumlar ile bu küçük projeyi daha farklı alanlarda da kullanılacak bir hale getirmek istiyorum. Yorumlarınız ve yazacaklarınız benim için gerçekten önemlidir.

Bilinmesi Gereken Konular

Benzer Çalışmalar

Neden Bluetooth Kullandık ?

Amaç ?

Problemin Tanımı

Devre Tasarımı

Yazılım Tasarımı

 

Bilinmesi Gereken Konular:

  • Bluetooth Nedir?
  • Bluetooth Nerelerde Kullanılır?
  • PIC16F877 Mikrodenetleyicisi
  • PIC C
  • Proteus Devre Tasarım ve Simülasyon Programı
  • Baskı Devre Hazırlama
  • Seri Haberleşme Nasıl Gerçekleşir?
  • LCD Nasıl Kullanılır?
  • Gerçekten İstemek
  •  

    Benzer Çalışmalar:

  • ODTÜ Robot Topluluğu Kaligraf Robot Projesi
  • “Ara Beni” Adlı Depremde Hayat Kurtaran Cihaz - Haliç Ünivresitesi
  • Ses Kontrollü Robot Projesi - Birleşik Arap Emirlikleri Üniversitesi
  • Vücut sağlık bilgilerini cep telefonuna gönderen bir giyisi projesi BlueCare - New York State Ünivresitesi
  •  

    Neden Bluetooth Kullandık?

       Birçok kablosuz haberleşme standardı vardır. Bunları sayacak olursak: kablosuz haberleşmenin temeli diyebileceğimiz Radyo Frekansı (RF) Haberleşme, 802.11a/b/g (WLAN), Bluetooth ve ZigBee şu anda sıklıkla kullanılmakta olan kablosuz haberleşme standartlarıdır.
       Bluetooth tercih edilmesinin farklı sebepleri vardır. Bunlar: RF’in manyetik ortamdan çok etkilenmesi, verimli çalışmaması ve güvenilir olmaması. 802.11a/b/g’nin karmaşık yapısı, kullanımının zor olması ve güç tüketiminin fazla olması. ZigBee teknolojisinin ise henüz yaygın olmamasıdır.
       Bluetooth, erişim mesafesi içerisinde gayet düzenli ve doğru çalışan, kurulumu ve kullanımı kolay, günümüzde çok yaygın olarak kullanılan bir standarttır. Ancak bu projede imkanların elvermemesinden dolayı yüzeye montaj tümdevreler yerine DIP kılıf tümdevreler kullanılmıştır. Bu da proje maliyetini oldukça artıran bir etmendir.

     

    Amaç:

       Projede yapılmaya çalışılan mikrodenetleyici-mikrodenetleyici arası iletişimi kablosuz şekilde sağlamak. Veri iletimi ya da komut iletimini bu bağlantı üzerinden gerçekleştirmektir. İki adet PIC mikrodenetleyici birbirleriyle iki yönlü olarak kablosuz şekilde haberleşebilmektedir. Arzu edilen bilgileri birbirlerine çok kısa bir süre içeisinde (<30ms) gönderip alabilmektedirler. PIC ile BT (Bluetooth) modüller arası iletişim 9600 Baudrate RS232 ile sağlanmaktadır.

     

    Problemin Tanımı:

       Kablo kullanmanın mümkün olmadığı durumlarda (ör. bir müze veya bir deniz altı araştırmasında) ya da bir cihazın birden fazla cihaza tek kanaldan bağlanamayacağı durumlarda (ör. bir alıcı sistem değişik vericilerden ısı bilgisi alıyorsa bunu tek bir kanaldan sağlayamaz) kullanabiliriz. Çeşitli robot projelerinde robotun daha bağımsız hareket etmesini sağlamak için, hastahanelerde hastaların yatağa olan bağımlılığını azaltmak için çeşitli ölçüm cihazlarında kablosuz haberleşme kullanmak gerekir. Bunları ucuz ve verimli yapabilmek problemin temelini oluşturuyor.
       Bu tez çalışmasındaki problemimiz göndermek istediğimiz verinin yeteri hızda, kayıpsız olarak karşı tarafa bluetooth ile ulaştırılmasıdır. Bunun için gerekli olan modüllerin bulunması ilk problemimizdir.


    Bluetooth ile Mikrodenetleyiciler - Devre Tasarımı

    Kullanılan Devre Elemanları ve Özellikleri:

  • PIC16F877
  •    Alıcı ve verici devrelerde PIC mikrodenetleyicisi kullanıldı. PIC kullanılmasının sebebi ise PIC programlayıcı kartın elimizde olması daha önceden bu mikrodenetleyici ile tecrübelerimizin olması ve kullanımının daha kolay olmasından kaynaklanıyordu. 16F877 modelinin kullanılma sebebi ise giriş/çıkış sayısının çok oluşu. Seri haberleşmeye uygun olması. Diğer modellere göre daha hızlı çalışmasıydı. Ayrıca ASSEMBLY kullanmadan PIC C kullanarak kod yazımı daha kolay bir hale getirildi. Tüm bu avantajlar bu mikrodenetleyiciyinin seçilmesini sağladı. Aşağıdaki Şekilde PIC16F84 ile PIC16F877 karşılaştırılması görülmektedir.

    /r>

  • Bluetooth Modül
  •    Bluetooth tümdevreleri çok küçük ve yüzeye montaj şeklinde kılıflara sahiptir. Ancak kullandığımız modül DIP kılıf içerisindedir. Böylelikle rahatlıkla deneysel uygulamalarda kullanılabilecek bir yapıya sahiptir. Kurulumu ve kullanımı oldukça basit. AT komutları sayesinde çeşitli uygulamalar yapabilen. Kendi içinde anteni olan bir modüldür. Açık alanda 30m mesafeye kadar yayın yapabilir. Ancak bu değer şartlara göre değişkenlik gösterir. Aşağıdaki Şekilde BT modülün üstten bir görüntüsü görülmektedir.

    Teknik Özellikler

  • LCD ve Tuş Takımı
  •    Kullanıcıya bilgileri göstermek amacı ile 2×16 satırlık 44780 LCD kullanıldı. Bacak bağlantı şeması aşağıdadır. Bununla ilgili çok daha geniş bilgiyi internetten erişilebilir.

    LCD Bacak Bağlantıları

       Geliştirdiğimiz projede kullanıcı komutları gönderdiği için bir tuş takımı kullanıldı. Bu tuş takımı ile kullanıcının daha önceden ayarladığı komuları gönderilebilir.

  • 3.3V Gerilim Regülatörü
       5V TTL ile çalışma her zaman kolay olmuştur. Ancak kullanılan modül 3.3V Doğru akım ile çalışmaktadır. Bu gerilimi elde edebilmek için Richtek’in RT9163 tümdevreleri kullanıldı. Bu elemanlar 500mA’e kadar akım çekebilen çıkışlarında sabit 3.3V gerilim verebilen devre elemanlarıdır. 100mA modüller için yeterli olduğundan bu elemanlar devre tasarımında kullanıldı. bunlarla ilgili bağlantı şemları aşağıda verilmiştir.


    Proje Genel Şeması:

       Bu tez çalışmasında Bluetooth ile iki mikrodenetleyici birbirleriyle haberleştirilmişlerdir. Bilgileri dışardan alan işleyen ve gönderen eleman olarak PIC16F877 kullanılmıştır. Kablosuz haberleşme için ise DIP kılıf Bluetooth modüller kullanılmıştır. Aşağıdaki şekilde sistem görülmektedir.

    Bilgi göndermek ve gönderilen bilginin kullanıcıya gösterilmesi için LCD ekranlar ve tuş takımı kullanıldı. Kontrol Algoritması mikrodenetleyici ile sağlandı. Alıcı ve verici sistemler bu sistemde tek yönlü iletişim gerçekleştiriyorlar.

    Devrelerin Genel Şeması:

       Bu sistemde aynı türde iki modül haberleştiriliyor gibi görülsede bluetooth protokolleri sayesinde alıcı devreye bluetooth ile bağlanan bir cep telefonu da istenilen bilgileri gönderebilir ve alabilir. Bluetooth modül kendine gelen bilgileri otomatik olarak seri portu vasıtası ile mikrodenetleyiciye gönderecektir. Bir cep telefonu ya da avuçiçi bilgisayar ile bir robot ya da motor kontrol edilebilir.

     

    Alici ve Verici Devreler:

  • Verici Devre
  •     Verici devre PIC, Bluetooth modül, tuş takımı ve LCD elemanlarından oluşmaktadır. PIC, tuş takımından aldığı bilgi ya da komutları aynı zamanda hem LCD’de gösterir hem de Bluetooth modüle iletir. Bluetooth modül ise aldığı bu veriyi bağlanmış olduğu karşı BT alıcısına gönderir. Tuş takımı PIC’in B portuna bağlanmıştır. PIC’in D portu ise LCD’yi sürmektedir. RS232 haberleşme için PIC16F877’nin C kulanılmıştır. Bluetooth modülün TTL seviyesinin 3.3V olmasından dolayı PIC ile modül arasına gerilim bölücü yerleştirilmiştir. Bu şekilde PIC’in TX bacağından gönderilen sinyallerin 5 volttan 3.3 Volta düşürülmesi sağlandı. PIC’in RX bacağına ise herhangibirşey yapılmasına gerek kalmadı zaten PIC ile modül arası mesafe kısa olduğundan Modülün TX bacağı PIC’in RX bacağına doğrudan bağlandı. Bluetooth modül sinyalleşmeleri 3.3V seviyesinde yapmasına rağmen PIC için bu bir sorun yaratmadı. Bu nedenden dolayı herhangibir veri kaybı yaşanmadı. Aşağıdaki bağlantıya giderek devre bağlantı şemasını görebilirsiniz.

    Verici devre açıldığında durum ışığı bağlantı gerçekleşinceye kadar yanıp söner ve alıcısına bağlanmaya çalışır. Alıcıya bağlandığında durum ışığı sürekli yanmaya başlar.

        Bu sistemde verici bluetooth modülün bağlanacağı ikincil bluetooth modül önceden ayarlanmıştır. Alıcı tarafın BD adresi modül içerisinde kayıtlıdır. Sadece o BD adrese sahip olan modüle bağlanır. Başka bluetooth cihazlar tarafından görülemez. Gizli moddadır. Bu sayede güvenlik bir kat daha artırlımıştır.

  • Alıcı Devre
  •    Alıcı devrede de bluetooth modül ile PIC aynen verici devredeki gibi bağlandı. Aşağıdaki bağlantıya giderek devre bağlantı şemasını görebilirsiniz.

       Alıcı modüle bir bilgi geldiğinde bu hemen PIC’e iletilir. PIC seri porttan bir bilgi geldiğinde bunu LCD’de gösterir. Bu çalışma şekliyle başka işler de yaptırılabilir. Örneğin gelen veriye bakılarak bir motor sürülebilir.
    Alıcı devrenin bluetooth modülü de sadece daha önceden ayarlanmış olan Bluetooth adresinden bir bağlantı isteği geldiğinde bu isteği kabul eder. Başka bluetooth cihazlar tarafından görülemez gizli moddadır.
    Alıcı devrenin durum ışığı bekleme konumunda iki kez yanıp söner ve bu şekilde vericisinden bağlantı isteği gelmesini bekler. Ne zaman ki vericisi bir bağlantı isteği gönderir o zaman durum ışığı bağlantı gerçekleşince sürekli yanmaya başlar.

    Bluetooth ile Mikrodenetleyiciler - Yazılım Tasarımı

    Program Algoritması
       PIC mikrodenetleyicileri kullanırken assembly yerine daha kolay ve daha kullanışlı olan PIC C kullanıldı. MPLAB yerine bu kez CCS adlı C editörü kullanıldı. Bu sayede LCD alt programı tuş okuma alt programı gibi programları yeniden yazmaya gerek olmadı. Bu alt programlar ana programa gömülerek sadece onların komutları kullanıldı. Hız, port bilgileri gibi değişiklikler registerlerle uğraşmak yerine birkaç kod satırı yazarak ayarlandı. Takip Eden iki akış şemasında verici ve alıcı sistemlerde ne tür bir algoritma kullanıldığı gösterilmiştir.