Mobil Dünya

Sen De Birşeyler Yap!

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ı...

Halil Keskin |

26.01.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.

Halil Keskin |

26.01.2015

Yorumlar

Anıl
03.03.2015 - 10:17

projeyi yapıpta çalıştıran arkadaşlar varmı acaba aci dönüş yaparsanız sevinirim 

Halil Keskin
04.03.2015 - 12:25
Çalıştı bende :)
Mustafa
11.03.2015 - 07:36
yardımcı olabilirim.
Yusuf Eren Utku
23.02.2015 - 04:01

Çok kaliteli bir anlatım olmuş elinize sağlık. Devam yazılarınız için sabırsızlanıyorum :)

İbrahim
09.02.2015 - 12:11

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...

Hasancan Zubaroğlu
26.01.2015 - 07:55

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

Bekir Dursun
27.01.2015 - 10:38

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

Halil Keskin
27.01.2015 - 11:22
Sök tabi 1-2 yazı sonrasında size araba yaptıracağım.