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ı...
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.
26.01.2015
Yorumlar
Çok kaliteli bir anlatım olmuş elinize sağlık. Devam yazılarınız için sabırsızlanıyorum :)
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...
Arduinoya ilgi saldığım şu günler benim için çok faydalı bir yazı oldu, teşekkürler.
Şu mini drone'u sökeyim de 4'ünü birden takayım şuna :) Ellerine sağlık @halil
projeyi yapıpta çalıştıran arkadaşlar varmı acaba aci dönüş yaparsanız sevinirim