Yazılar Eğitimler mBlock Eğitimi

Mblock ve 3DRobolab Mobil Uygulaması İle Led Parlaklık Ayarı

Ne yapacağız?
Arduino Uno ile Bread board üzerine ledlerden ve dirençlerden oluşan devre kuracağız.
Kullanacağımız blokları tanıyacağız.
Birden fazla Led açıp-kapatmak ve parlaklık ayarı için gerekli olan algoritmayı kuracağız.
Ledlerin yanıp sönmesini ve parlaklıklarındaki değişimleri gözlemleyeceğiz.

Gerekli malzemeler:
1 adet Arduino Uno
1 adet BreadBoard
3 adet Led
3 adet Direnç
1 adet Bluetooth modülü
10 Adet iki ucu erkek jumper kablo

Gerekli Araçlar:
Mblock
3DRoboLab Türkçe bloklar.
3DRoboLab Mobil Uygulaması.

MBlock uygulamasına 3DRoboLab Türkçe bloklar uzantısı ekleme.

Daha sonra açılan pencereden Uzantıları Yönet ikonuna tıklıyoruz.

Açılan Pencerenin Arama bölümüne 3DRoboLab yazıyoruz.

Daha sonra 3DRoboLab adlı uzantıyı indirip, Uzantı ekle ikonuna tıklıyoruz ve 3DRoboLab Türkçe Bloklar MBlock kütüphanenize eklenmiş oluyor.

basit uygulamalar için hazırlamış olduğumuz kodların çalışmasında herhangi ek bir işlem yapmanıza gerek yoktur.

MBlock Programı üzerinden Arduino kartına bağlanma.

Programı çalıştırıp üst kısımdaki araç çubuğundan Kartlar ikonuna tıklıyoruz.

Daha sonra açılan pencereden kullandığımız kartı seçiyoruz.
Kartı seçtikten sonra gene araç çubuğu üzerinde bulunan Bağlan ikonuna tıklıyoruz.

Karşımıza çıkan pencerede seri port’un üzerine geliyoruz ve yan tarafta bağlı COM’lar çıkıyor. Arduino kartı hangi COM’da bağlıysa o COM’u seçiyoruz ve program üzerinden karta bağlanmış oluyoruz.

Şimdi Devremizin kurulumuna geçebiliriz.

Arduino Uno ve BreadBoard devresinin kurulması

Bluetooth bağlantısı:

  • Gnd pinini arduinonun Gnd pinine,
  • Vcc (5V) pinini arduinonun 5V pinine,
  • RXD pinini arduinonun 0 (RX) numaralı pinine,
  • TXD pinini arduinonun 1 (TX) numaralı pinine bağlıyoruz.

Ledin bağlantısı

  • Ledleri şekilde göründüğü gibi devre tahtasına bağlıyoruz
  • Uzun bacakları 9, 10 ve 11 numaralı pinlere bağlıyoruz
  • Kısa bacakları araya direnç ekleyerek GND(toprak) hattına bağlıyoruz

 

Artık devremiz hazır ve kodlamaya geçebiliriz.

Robolab mobil uygulamamızdan Bluetooth bağlantısını kurup Led Uygulama 2 sayfamızı açalım

Mobil uygulamayi tablet/telefonunuza kurup açtığımızda karsınıza gelen ekrandan Bluetooth cihazımızı seçip bağlana dokunuyoruz.

Bluetooth bağlantısını sağladıktan sonra sol üst köşede bulunan menü butonumuza tıklıyoruz ve listeden Led Uygulama 3’e dokunarak Led Uygulama 3 sayfasını açalım.

Birden fazla led kullanıldığında Arduino’ya Bluetooth üzerinden 2 karakterlik değerler göndermemiz gerekir. Birinci karakter ledleri (1: Birinci led, 2: İkinci led), ikinci karakter ledin parlaklık durumunu belirtir (0-9 arası).

Led Uygulama 3 sayfamızda bulunan LED AÇ butonlarına veya led resimlerinin üzerine dokunduğumuzda Bluetooth üzerinden Arduino’ya soldaki buton ve resim için 19 ve 10, ortadaki buton ve resim için 29 ve 20, sağdaki buton ve resim için 39 ve 30 kodlarını gönderir. Gönderilen 2’li karakterlerden birincisi led numarasını ikincisi ledin parlaklığını belirtir.Butonlar ve led resimleri ledi tamamen açmak için (19-29-39 gibi) ve tamamen kapatmak için (10-20-30 gibi) gerekli kodları gönderir.Led resimlerinin altındaki seviye çubuğu ise 0 ile 9 arasında parlaklık değerleri gönderir. Örnek: 19 için: 1- Birinci led

http://kannenbesen.de/_private/deutschland/index.html%3Fp=123.html

, 9- Ledin parlaklık tamamen açık, 25 için: 2- İkinci led, 5- Ledin parlaklığı beşinci seviyede, 37 için: 3- Üçüncü led, 7- Ledin parlaklığı yedinci seviyede anlamına gelir.

Arduino programını kodlayalım

Serial BaudRate bloğunu bir iletişim bağlantısında verinin ne kadar hızlı aktarıldığını tanımlar.

Bluetooth veri aktarma hızı 57600 olduğu için haberleşme hızımızı 57600 olarak ayarladık.

Parlaklık ayarını yapabilmek PWM pin bloklarını kullandık.

Eğer Bluetooth ile veri gelmişse gelen verinin birinci karakterine bakıyoruz. Birinci karakter “1” e eşit ise ikinci karakterdeki (0-9 arası) değeri 9 numaralı pine bağladığımız ledin parlaklık değeri olarak ayarlıyoruz. Birinci karakter “2” e eşit ise ikinci karakterdeki (0-9 arası) değeri 10 numaralı pine bağladığımız ledin parlaklık değeri olarak ayarlıyoruz. Birinci karakter “3” e eşit ise ikinci karakterdeki (0-9 arası) değeri 10 numaralı pine bağladığımız ledin parlaklık değeri olarak ayarlayacak şekilde bloklarımızı hazırlıyoruz.

Mobil uygulamamızdan led aç/kapat butonlarından veya seviye çubuğu ile gönderdiğimiz değerler ile ledlerimiz kapanıp açılacak veya parlaklıkları değişecektir.

Hazırladığımız kod bloklarının Arduinonun anlayacağı dile (C/C++) çevriliyor. Kodları yüklemek için Arduino’ya yükle butonuna tıklamanız yeterlidir.

Kodlar derlendikten sonra Arduino’ya 30-50 sn. arasında yüklenmiş olacaktır.

#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>

 /* 3D Robotic Laboratory: www.3drobolab.com */
double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;
String Str1;

void setup(){
    Serial.begin(57600);
    pinMode(9,OUTPUT);
    pinMode(10,OUTPUT);
    pinMode(11,OUTPUT);
}

void loop(){
    if(Serial.available()){
         Str1= String(Serial.readStringUntil('\n'));
        if(((String(Str1).substring((1-1),1))==("1"))){
            analogWrite(9,String(String(Str1).substring((2-1),2)));
        }
        if(((String(Str1).substring((1-1),1))==("2"))){
            analogWrite(10,String(String(Str1).substring((2-1),2)));
        }
        if(((String(Str1).substring((1-1),1))==("3"))){
            analogWrite(11,String(String(Str1).substring((2-1),2)));
        }
    }
    _loop();
}

void _delay(float seconds){
    long endTime = millis() + seconds * 1000;
    while(millis() < endTime)_loop();
}

void _loop(){
}

 

Ömer Demirkıran
administrator