Translate

9 Mart 2017 Perşembe

Arduino ve Bluetooth Modül ile Led Parlaklığı Ayarlama

                           Merhabalar, bu yazımızda önceliklere nazaran alan değiştirip elektronik ile ilgili bir şeyler yazmak istedim. Arduino, geliştiricileri tarafından açık kaynak olarak tasarlanmış bir platformdur. Farklı performanslarda denetleyiciler ile çok çeşitli işler için tasarlanmış birbirinden farklı birçok kartı bulunmaktadır.
                           Bu kart çeşitliliği de yapacağınız işin türüne göre en uygun fiyatlı seçeneği edinmenizi sağlamaktadır. Eğer motor kontrolü ve bunun yanında bir kaç donanım daha kontrol edecekseniz Arduino Uno ve ya eş değeri bir kart yeterli iken 3 boyutlu yazıcı gibi yüksek işlem gücü gerektiren bir projeniz varsa bu durumda Arduino Mega kullanabilirsiniz.
                           Piyasa da rahatlıkla bulabileceğiniz bu geliştirme kartlarının fiyatları bazı mikrodenetleyicilerden daha ucuz, bu uygun fiyatlar da bu platformun tercih edilmesinde büyük rol oynamaktadır.

                           Bu kısa tanıtımdan sonra dilerseniz uygulamamıza geçelim. Uygulamamız gayet basit olacak. Arduino nano kartımızla ( elimde nano olduğu için kullandım ) HC - 05 bluetooth modül üzerinden Telefon, tablet ya da bilgisayar ile haberleşerek bir ledin parlaklığını kontrol edeceğiz. Bu uygulama için ihtiyacımız olacak malzemeler;

1 adet Arduino Kart ( nano, uno, mega vs. )
1 adet HC-05 Bluetooth modül
1 adet 2k direnç
1 adet 1k direnç
1 adet 330R direnç
1 adet led
ve bağlantı kablosu

Devre:

Devreyi kurduktan sonra unutulmaması gereken bir bağlantı var. Bluetooth modülünün RX pinine mutlaka gerilim bölücü üzerinden bağlantı yapılması gerekmektedir. Bunun nedeni Arduino seri haberleşme pinleri TTL seviyesinde haberleşirken bluetooth modülü 3.3V seviyesinde çalışmaktadır. Modüle zarar vermemek için gerilim bölücü kullanılması gerekmektedir.

Arduino Kartımıza ait Program:

// Değişkenler
  char Data;       // Seri iletişim için tanımlanan karakter tipi değişken
  int parlak=0;    // Ledin parlaklığını ayarlamak için PWM'e ait integer değişken

void setup() {
  Serial.begin(9600); // BT Modül ile seri haberleşmenin başlatılması
  pinMode(9,OUTPUT);  // Led parlaklığını ayarlamak için PWM çıkış
}

void loop() {
  if(Serial.available()) // Seri iletişim uygun mu?
  {
    Data=Serial.read(); // Modülden gelen veriyi Data değişkenine al
    if(Data=='P')parlak=Serial.parseInt(); // Eğer P ise Android programını hazırlarken Slider'dan okuduğumuz veri gönderirken P karakterini önceden göndermiştik.
    if(Data=='a')parlak=255; // Led Yak butonuna basılmışsa a karakteri gelecek ve led tam parlaklıkta yanacak
    if(Data=='b')parlak=0;    // Led Söndür butonuna basılmışsa b karakteri gelecek ve led söndürülecek
  }
  Serial.print(parlak); // Slider'dan gelen veriyi seri port ekranına yaz. Android üzerinde Label1 den gördüğümüz değerin aynısı
  analogWrite(9,parlak); // Slider'dan gelen veriyi PWM modülüne aktar
  delay(10); // 10 ms'lik bekleme
}

Bu aşamadan sonra android üzerinden devam edeceğiz. Android cihazlar için uygulama geliştirebileceğiniz site;
http://ai2.appinventor.mit.edu

Siteye gmail hesabınız ile giriş yapabilirsiniz. Siteye girdikten sonra;

Create apps' a tıklayın. Daha sonra yönlendirildiğiniz sayfadan yeni bir proje oluşturun. Sonrasında 
şöyle bir ekran gelecek:






Bu adımları izledikten sonra Build kısmından uygulamaya ait apk dosyasını ister bilgisayarınıza indirebilir isterseniz Qr kod olarak oluşturup telefonunuzdan indirebilirsiniz. 

Uygulamaya Ait Video 1:



Uygulamaya Ait Video 2:


Uygulamaya Arduino ve Android Programları: https://drive.google.com/drive/folders/0B8FdGm8eWN9keEF2ZHpBd19YOTA?usp=sharing

Arkadaşlar bu uygulamayı isteğinize göre çeşitlendirebilirsiniz. Bluetooth modülü ile arduino üzerinden pwm kontrolünü ve dijital çıkış kontrolünü görmüş olduk. Programları istediğiniz şekilde düzenleyerek motor hız kontrolü, ya da odanızdaki lambanın parlaklığını, kapı kilidi, rgb led kontrolü gibi birbirinden farklı birçok uygulamaya bu yazıda ki altyapı ile gerçekleştirebilirsiniz. Konu ile ilgili sorularınız olursa yorum bölümünden sorabilirsiniz.

Herkese iyi çalışmalar.

6 yorum:

  1. Arduino Kartımıza ait Program derlenmiyor hata veriyor

    YanıtlaSil
    Yanıtlar
    1. Hataya ait ekran görüntüsünü paylaşır mısınız?

      Sil
  2. Açıklamalardan dolayı oldu galiba. Açıklamaları silince çalıştı

    YanıtlaSil
  3. Arduino ile Bluetooth kontrollü Drone uçuş kontrol kartı yazılımı bulmak mümkün mü. Yaptığınız bu projedeki gibi . Bluetooth üzerinden telefonla arduino ile yapılmış uçuş kontrol kartını kontrol eden bir. apk proğram?

    YanıtlaSil
    Yanıtlar
    1. Bu konuyu hiç araştırmamıştım. Vardır diye düşünüyorum

      Sil
  4. Merhaba. Picproje forumunda paylaştığınız PIC18F67K22 Dahili RTC Kullanımı uygulamasının kaynak kodlarını tekrar paylaşabilir misiniz? Elimde dahili RTC'si olan bir PIC var, ama dahili RTC'yi bir türlü çalıştıramadım.

    YanıtlaSil