Turkcell | Geleceği Yazanlar

GELECEĞİ YAZANLAR BLOG

Yeni Blog Yaz

Sen De Birşeyler Yap!

Halil Keskin - 26 Ocak 2015

 

Son yazımda sizlere geleceği en çok etkileyecek hareketlerden birinin Maker projeleri olduğunu ve artık ihtiyacımız olan teknolojinin bir kısmını kendimizin üreteceğini yazmıştım. Ben de kendi ihtiyaçlarımı karşılamak ve öğrenmek için birşeyler yapmaya başladım. Bu sırada da tecrübelerimi ve bu işe temel olarak nasıl başlayabileceğinizi anlattığım bir yazı dizisinin ilkini, sizinle paylaşıyorum.

Ben her cihazı telefonumla kontrol etmeyi seviyorum, bu sebeple de anlatacağım projelerde kablosuz teknolojileri kullanacağım. İlk yazımda da Bluetooth ile bağlandığım bir Android telefondan basit komutlar vererek motor çevirme işlemini anlatacağım.

 

İhtiyaçlar

İhtiyacımız olan malzemeleri tanıtmak ve bunları nerede bulabileceğinizi belirtmekle başlayayım:

  • Arduino: Proje için herhangi bir modeli kullanılabilir ama ben giriş aşamasındaysanız Uno modelinin yeterli olacağını düşünüyorum.
  • Bluetooth mikroişlemcisi: Hc-05 modelini kullandım, Hc-06 da kullanabilirsiniz.
  • DC motor: Eski bir oyuncak arabadan çıkarttım.
  • L298D: Motoru mantıklı şekilde yönetmemize olanak veren çip.
  • Çeşitli kablolar
  • Devre tahtası
  • Batarya

Bu ürünleri robotkutusu.com, robotistan.com gibi İnternet sitelerinde bulabilirsiniz. Bunun haricinde Kadıköy'de Yazıcıoğlu İş Hanı, Karaköy'de Elektronikçiler Çarşısı'nda da bulmak mümkün.  

 

Arduino kodu

Öncelikle Arduino'ya kod yükleyebilmeniz için buradan Arduino yazılımlarında kullanılan Arduino IDE'sini indirmeli ve kurmalısınız. Şimdi Arduino'ya yükleyeceğimiz koda geçelim:

int motorPin1 = 3; // L293D üzerindeki pin 2
int motorPin2 = 4; // L293D üzerindeki pin 7
int enablePin = 5; //  L293D üzerindeki pin 1
int state;
int flag=0; // Gelen bilgileri kontrol için kullanacağız

void setup() {
  //Pinleri çıkışlarına göre tanımlamak
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(enablePin, OUTPUT);
  // Çalıştırılabilir (enable) pini yükseğe ayarlıyoruz
  digitalWrite(enablePin, HIGH);
  // Saniyede alınabilecek bit miktarını ayarlıyoruz.
  Serial.begin(9600);
}
void loop() {
  // Gelen komut varsa bunları oku ve kaydet
  if(Serial.available() > 0){     
    state = Serial.read();   
    flag=0;
  }   
  // Gelen mesajın 0 olması durumu
  if (state == '0') {

// Motora çift taraflı düşük veriyoruz.
      digitalWrite(motorPin1, LOW); 
      digitalWrite(motorPin2, LOW); 
      if(flag == 0){
        Serial.println("Motor: off");
        flag=1;
      }
  }
  // Gelen durum 1 ise motor sağa dönecektir.
  else if (state == '1') {
    // Motorun bir tarafına düşük bir tarafına yüksek veriyoruz.
      digitalWrite(motorPin1, LOW);
      digitalWrite(motorPin2, HIGH);  
      if(flag == 0){
        Serial.println("Motor: right");
        flag=1;
      }
  }
  // Gelen komut 2 ise motor sola dönecektir.
  else if (state == '2') {
// Motorun bir tarafına düşük bir tarafına yüksek veriyoruz.
      digitalWrite(motorPin1, HIGH);
      digitalWrite(motorPin2, LOW);
      if(flag == 0){

        Serial.println("Motor: left");

        flag=1;
      }
  }
}

 

Devre şeması

Şimdi bağlantıları nasıl yapacağınıza değinelim. Kodu yüklerken Bluetooth ile Arduino arasındaki bağlantıyı çıkarmanız gerekir.

Bluetooth'un RX çıkışını Arduino'nun TX'ine, Bluetooth'un TX çıkışını RX'e bağlıyorsunuz. Vcc için 5V, GND için de GND pinlerini kullanabilirsiniz.

Arduino'nun dijital 3, 4, 5 pinlerini de şemada anlatılan şekilde L2393D mikroişlemcisine bağlamanız gerekir.

 

Motorumuzu döndürüyoruz

İlk örneğimizde uygulama yazmayacağız. Onun yerine Google Play Store'dan Bluetooth Terminal'i indirmeniz yeterli.

Bluetooth Terminal'i açtığınızda yaptığımız projenin Bluetooth'una bağlanarak 0, 1, 2 kodlarını vererek motorunuzu döndürebilirsiniz.

Şimdiden iyi eğlenceler.

Bu arada bu örnek benim kendi örneğim değil. İnternet'te benzeri birçok proje var, ben anlatımını yaptım.

Gelecek yazımızda sizlerle birlikte Arduino tabanlı arabamızı hayata geçirmeye başlayacağız :).

 

Örnek uygulama kaynağı:

Farklı projeler için bakılması gereken yerler:

Serinin diğer yazısı burada.

10 Cevap

Hasancan Zubaroğlu

26 Ocak 2015

Arduinoya ilgi saldığım şu günler benim için çok faydalı bir yazı oldu, teşekkürler.

Bekir Dursun

27 Ocak 2015

Şu mini drone'u sökeyim de 4'ünü birden takayım şuna :) Ellerine sağlık @halil

Halil Keskin

27 Ocak 2015

Sök tabi 1-2 yazı sonrasında size araba yaptıracağım.

İbrahim

09 Şubat 2015

Son iki haftadır arduino ve raspberry'e merak salmıştım çok iyi oldu her ne kadar ingilizce kaynaklardan bişeyler öğrensekte aynı dili konuştuğumuz insanların anlatması çok daha iyi oluyor Teşekkürler...

Mustafa

20 Şubat 2015

Bluetootlu araç projesini 3. sınıfta yapmıştım.Araştırma süreci uzun ve sıkıcı olsa da gerçekleme evresi oldukça eğlenceliydi. Ben Arduino yerine PIC16F877, motor sürücü olarak da L293D kullanmıştım. Keşke o zaman da böyle kaynaklar bulabilseydim :) Umarım daha güzel yazılar ve projeler de yayınlarsınız. İyi çalışmalar :)

Sayfalar

Yorum yapmak için Giriş Yapın ya da Üye olun.