Yazılar Eğitimler mBlock Eğitimi

Mblock ve 3DRobolab Mobil Uygulaması İle Buton Kullanımı

Ne yapacağız?
Arduino Uno ile Bread board üzerine ışık sensöründen oluşan bir devre kuracağız.
Kullanacağımız blokları tanıyacağız.
Işık değerini okumak için gerekli olan algoritmayı kuracağız.
Işık değerinin nasıl değiştiğini gözlemleyeceğiz.

 

Gerekli malzemeler:
1 Adet Arduino Uno
1 Adet BreadBoard
1 Adet Buton
1 Adet Bluetooth Modülü
9 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.

Butonun bağlantısı

  • Butonu şekilde göründüğü gibi devre tahtasına bağlıyoruz
  • Sol alt bacağını Vcc (5V) hattına bağlıyoruz.
  • Sağ alt bacağını araya direnç ekleyerek 8 numaralı pine bağlıyoruz.

 

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

Robolab mobil uygulamamızdan Bluetooth bağlantısını kurup Sensör: Buton sayfamızı açalım

doxycyclin 50 kaufen

,serif; color: #666666; background: white;”>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 Sensör: Buton’a dokunarak Sensör: Buton sayfasını açalım.

Sensör: Buton sayfamızda Bluetooth üzerinden gelen veriler okunur. Gelen verinin buton değeri olduğunu anlayabilmek için, Bluetooth üzerinden gönderilen verinin başına verinin buton değeri olduğunu belirtmek için B ve bunun bir numaralı buton sensörü değeri olduğunu belirtmek için 1, yani B1 kodu eklenmelidir. Buton değeri 0 ve 1 olarak iki değer alır. 0: Butona basılmadığı, 1: Butona basıldığı anlamına gelir. Örnek : B11= B1: Bir numaralı buton, 1 ise butona basıldığı 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.

8 numaralı pine bağladığımız butondan okuduğumuz değeri “buton” değişkenimize aktardık.

Mobil uygulamanın bu değerin buton değeri olduğunu anlaması için başına B1 kodunu ekleyip bluetooth üzerinden mobil uygulamamıza gönderdik.

Programın her tekrardan sonra kısa bir süre beklemesi için program sonuna 0.1 saniyelik bekleme süresi ekledik.

Yazdığımız kodlar Arduinonun anlayacağı dile çevrilir. Ardından Arduino kartına yazılır.

Bu programı Arduinoya yüklediğimizde mobil uygulamamızın “Sensör: Buton” sayfasında buton değerini gözlemleyebiliriz.

 

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.

Mobil uygulama “Sensör: Buton” Ekranından Sıcaklık değerini takip edebilirsiniz.

 

#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;
double buton;

void setup(){
    Serial.begin(57600);
    pinMode(8,INPUT);
}

void loop(){
    buton = (1-digitalRead(8));
    Serial.println(String("B1")+String(buton).toInt());
    _delay(0.1);
    _loop();
}

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

void _loop(){
}

 

 

İyi Eğlenceler…

Ömer Demirkıran
administrator