Sen De Bir Şeyler Yap!
Arduino kartı ile uzaktan kumandalı ve Bluetooth teknolojili bir araba yapmaya ne dersiniz? O halde buyrun dersimize!
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.
Arduino ile uzaktan kumandalı araba için ihtiyaç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:
[php][/php]
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;
}
}
}
[/php
Arduino ile uzaktan kumandalı araba 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 :).
Arduino ile uzaktan kumandalı araba için örnek uygulama kaynağı:
Geribildirim: Sen de Bir Şeyler Yap! (2) – Artistanbul
Geribildirim: Sen De Bir Şeyler Yap! (2) – Halil Keskin
Geribildirim: Sen de Bir Şeyler Yap! (2)