RC Robot Araba Nasıl Yapılır

Uzaktan kumandalı arabanızla oynamaktan sıkıldınız mı? Proje ödevimi lazım? Robot veya benzeri proje yarışmalarına mı katılmak istiyorsunuz? O zaman bu yazımız tam size göre. Paralaks Ping Sensörü ve Arduino program kartı kullanılarak gerçekleştirilen bu proje ile RC arabanızı bir robota dönüştürüyoruz. Projenin resimli ve açıklamalı yapım detaylarını yazının devamında bulabilirsiniz.

Proje Videosu

 

Proje için Gerekli Malzemeler

 

RC Robot Araba Nasıl Yapılır

RC Robot Araba Nasıl Yapılır

1 adet R/C Monster Truck araba. Monster Truck olmasının sebebi program devre kartının montaj edilmesi için aracın bagaj kısmını kullanacağız. Siz isterseniz gerekli montaj ayarlamalarını yaparak on-road arabalarda kullanabilirsiniz.
1 adet Arduino Uno REV 3 
1 adet Arduino Motor Shield
1 adet  Parallax Ping Sensörü (Ayrıntılı bilgi için Ultrasonik Uzaklık Algılama Sensörü)
1 adet 9v pil başlığı
1 adet 9v pil tutucu
1 adet alkalin 9v pil
1 adet “M” tip Koaksiyel DC Güç fişi
1 adet 10*10 delikli pertinaks.
Biraz çok damarlı kablo
Küçük boy plastik kelepçeler.
Havya,lehim,keski ve muhtelif proje malzemeleri.

RC Robot Araba Nasıl Yapılır

RC Robot Araba Nasıl Yapılır

İlk olarak arabayı ters çevirip kapağı tutan iki adet vidayı çıkartıp sağlam bir yerde muhafaza ediyoruz. Daha sonra arabanın anakartına motorlardan gelen konnektör bağlantı  uçlarını çıkartıyoruz.

Robot Araba Nasıl Yapılır

Robot Araba Nasıl Yapılır

ޞimdi ise kontrol panelini tutan vidaları söküp paneli çıkartıyoruz. Paneli araca tekrar montaj etmeyeceğiz. Başka tasarım ve projelerde kullanmak üzere zarar görmeyeceği uygun bir ortama kaldırıyoruz. aracın kontrol kartını yazının devamında anlatacağım sensör kısmı yerine getirecek.

Robot Araba Nasıl Yapılır

Robot Araba Nasıl Yapılır

 

Robot Araba Nasıl Yapılır

Robot Araba Nasıl Yapılır

M-tipi koaksiyel kablo  ile pil başlığını lehim yapıyoruz.

Robot Araba Nasıl Yapılır

Robot Araba Nasıl Yapılır

Orta bağlantı yerine kırmızı teli dış bağlantı yerine de siyah kabloyu lehim yapıyoruz.

Robot Araba Nasıl Yapılır

Robot Araba Nasıl Yapılır

Arabanın kasasına yani kargo taşıma kısmına montaj edeceğimiz arduino rev kartını ve pilin montaj delik yerlerini işaretleyip 1/8 matkap ucu ile plastik kelepçe uçlarının rahatça geçebileceği ebatta delikleri açıyoruz.

Arduino Motor Shield REv 3 kartını Arduino Uno REV 3 üzerine pin bacaklarına zarar vermeden montaj ediyoruz.

Uzaktan Kumandalı Robot Araba Nasıl Yapılır

Uzaktan Kumandalı Robot Araba Nasıl Yapılır

 

Uzaktan Kumandalı Robot Araba Nasıl Yapılır

Uzaktan Kumandalı Robot Araba Nasıl Yapılır

Aracın arka kısmına daha önceden açtığımız montaj deliklerine arduino kartımızı plastik kelepçeler ile sıkıca montaj ediyoruz.

RC Araba projeleri

RC Araba projeleri

 

RC Araba Projeleri

RC Araba Projeleri

 

Sensörün montaj edilmesi

Arabanın ön ızgara kısmına sesörü  montaj edeceğiz. İlk önce sensörü montaja hazır hale getirmeliyiz. Sensör 2-3 metreyi tarayarak önündeki engelleri algılamaktadır. Kartın üzerinde 2 adet sensör ve 3 pin (5V kırmızı kablo ,GND siyah kablo, I/Q yeşil kablo) bağlantısı bulunmaktadır. Resimlerde görüldüğü gibi sensörü kart üzerine montaj ediyoruz.

ޞimdi ise arabanın ön ızgara kısmını uygun kısımlarına 1/8 matkap ucu ile delerek plastik kelepçe ile montaj deliklerin açıp sensörü gövdeye montaj ediyoruz.

Motorlardan gelen bağlantı kablo uçlarını kesiyoruz.

RC Robot Nasıl Yapılır

RC Robot Nasıl Yapılır

Birine kırmızı diğerine de siyah kablo lehimleyip bağlantı uçlarını uzatıyoruz. Aynı işlemi ikinci motor içinde yapıyoruz. Kısa devre olmasını engellemek için üzerine yalıtkanlık sağlayacak boş kablo veya bant çekiyoruz.

Her şeyin düzenli olması için bütün kabloları düzgün bir şekilde plastik kelepçeler ile modifiye ediyoruz.

RC Robot

RC Robot

 

RC Robot

RC Robot

Aracın gövde kapağını zarar vermeden tekrar yerine takıyoruz.

RC Robot

RC Robot

 

Kablo Bağlantıları

Kırmızı kablo devrenin (+) ucu.
Siyah kablo devrenin  (-) ucu.
Yeşil kablo kartın sinyal (I/Q) ucu.

Ön Dönüş Motorundan gelen kırmızı ve siyah kabloyu mavi klemens bağlantı noktalarının B kanalının (+) ve (-) ucuna takıyoruz.

arduino projeleri

arduino projeleri

Arka Dönüş Motorundan gelen kırmızı ve siyah kabloyu mavi klemens bağlantı noktalarının A kanalının (+) ve (-) ucuna takıyoruz.

arduino projeleri

arduino projeleri

Ping sensörden gelen yeşil kabloyu arduino kartın sol tarafında bulunan 7 nolu soket ucuna takıyoruz.
Ping sensörden gelen kırmızı kabloyu arduino kart üzerinde sağ tarafta bulunan güç giriş soketine (Vin) takıyoruz. Burada bulunan diğer (Vin) ucuna kırmızı bir kablo takıp onun ucunu da  mavi klemens bağlantı noktalarının bulunduğu yerdeki  (Vin) kısmına taşıyoruz.
Ping sensörden gelen siyah kabloyu arduino kart üzerinde sağ tarafta bulunan GND (-) soketine takıyoruz. Burada bulunan diğer GND ucuna siyah bir kablo takıp onun ucunu da  mavi klemens bağlantı noktalarının bulunduğu yerdeki GND kısmına taşıyoruz.

arduino projeleri

arduino projeleri

Arduino Programı

Sizlere bu yazımızda  Arduino programlaması hakkında bilgi vermeyeceğiz. İlerleyen zamanlarda programlama hakkında ayrıntılı bir yazı dizisi hazırlayacağız. Ardunio programlama hakkında bilgisi olmayanlar Arduino Türkiye sitesini inceleyebilir veya BURADAKİ veya BURADAKİ yazıyı okuyabilir.

RC Robot

RC Robot

Aşağıdaki kodu  kartımıza bilgisayardan yüklüyoruz.

/************************************************************************************
RC Car to Robot Conversion
by Randy Sarafan
Used to convert an RC car into a robot that uses a PING sensor to avoid obstacles,
and an Arduino motor shield for motor control.

Built atop Ping example code by Tom Igoe
************************************************************************************/
// this constant won’t change. It’s the pin number
// of the sensor’s output:
const int pingPin = 7;
void setup() {
//establish motor direction toggle pins
pinMode(12, OUTPUT); //drive motor — HIGH = forwards and LOW = backwards
pinMode(13, OUTPUT); //turn motor — HIGH = left and LOW = right
//establish motor brake pins
pinMode(9, OUTPUT); //brake (disable) the drive motor
pinMode(8, OUTPUT); //brake (disable) the turn motor
//Turns brake off for drive motor
digitalWrite(9, LOW);
//Turns brake on for turn motor
digitalWrite(8, HIGH);
//Sets initial speed of drive motor
analogWrite(3, 200);
//Sets initial direction of drive motor
digitalWrite(12, HIGH);
}
void loop()
{
// establish variables for duration of the ping,
// and the distance result in inches and centimeters:
long duration, inches, cm;
// The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
// The same pin is used to read the signal from the PING))): a HIGH
// pulse whose duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object.
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
// convert the time into a distance
inches = microsecondsToInches(duration);
//
//if objects are less than 12 inches away
//the robot reverses and turns to the right
//for 2 seconds
//
if (inches < 12){
//brake drive motor and pause 1/10 second
digitalWrite(9, HIGH);
delay(100);
//
//setting turn motor
//
//turn off brake for turn motor
digitalWrite(8, LOW);
//set turn motor direction
digitalWrite(13, HIGH);
//activate turn motor
analogWrite(11, 255);
//
//setting drive motor
//
//turn off brake of drive motor
digitalWrite(9, LOW);
//set drive motor backwards direction
digitalWrite(12, LOW);
//activate the drive motor
analogWrite(3, 200);
//backup for 2 seconds
delay(2000);
//
//stopping
//
//brake both motors
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
}
//
//when nothing is within 12″
//the robot simply drives forwards
//
else{
//
//Setting drive motor
//
//set drive motor forward direction
digitalWrite(12, HIGH);
//turn off brake of drive motor
digitalWrite(9, LOW);
//activate drive motor
analogWrite(3, 200);
}
delay(100);
}
long microsecondsToInches(long microseconds)
{
// According to Parallax’s datasheet for the PING))), there are
// 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
// second). This gives the distance travelled by the ping, outbound
// and return, so we divide by 2 to get the distance of the obstacle.
// See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
return microseconds / 74 / 2;
}
***********************************************************************************
Projemiz artık hazır. Güç soketine 9v bağlantı ucunu takıp RC Robot Arabamızı çalıştırıp zevkini çıkartıyoruz.

arduino projeleri

arduino projeleri

 

Kolay Gelsin….

http://www.instructables.com/id/RC-Car-to-Robot/

Posted in Arduino Projeleri, Bu Benim Eserim Projeleri, Elektrik-Elektronik, Genel, R/C Araçlar, Teknoloji ve Tasarım, Yapım Kuşağı and tagged , , , , , , .

2 Comments

  1. Tuttum bu çalışmayı. Ardu programlama olmadan PIC kullanılarak Wifi kontrol panelli prototip üretimini yapabilirmiyiz. Firma altında kar payı olarak.

Bir Cevap Yazın