Robotik
OKUDUĞUNUZ KONU
Yapboz Çizgi İzleyen Robot
0

Yapboz Çizgi İzleyen Robot

Yazar : Murat Duran19 Kasım 2017

Bu projemizde yapboz robot kiti ile çizgi izleyen robot yapımından bahsedeceğiz , elektronik bilgi gerektirmeden robotlar yapabildiğiniz bu kit ile çizgi izleyen robotlar temelde nasıl çalışır mantığı nedir bunları göstereceğiz.Robot kiti üzerinde beraber gönderilen yapboz arduino shield i çizgi izleyen sensörü ile tam uyumludur.

Bu robotla beraber çizgi izleyen sensörü de gönderilmektedir.Sensör üzerinde 3 adet algılayıcı bulunmaktadır.Yazdığımız koda göre eğer ortadaki algılayıcı çizgiyi görürse 2 motorada tam güç ver eğer sağdaki algılayıcı görürse soldaki motorun hızını düşür yine aynı şekilde soldaki algılayıcı görürse sağdaki motorun hızını düşür , şeklinde programlanmıştır.

Yukarıdaki videoda robotun çalışması gösterilmiştir.Gayet sağlıklı bir şekilde çalışmaktadır.
Robot Kitini Satın Al

Yapboz robot kiti , kolay programlanabilme özelliği ve modüler yapısı sayesinde onlarca robot projesi yapabilirsiniz. “Satın Almak İçin Yukarıda Butona Basınız”

Robot kiti kurulumu aşağıdaki gibidir.

 
// Yapboz Çizgi İzleyen Kodları
#define sol_sensor A0
#define orta_sensor A1
#define sag_sensor A2

 #define Sol_Motor_ileri 10
 #define Sol_Motor_geri 11
 #define Sag_Motor_ileri 8
 #define Sag_Motor_geri 9
 #define Sol_motor_PWM 6
 #define Sag_motor_PWM 5

int sol_sensor_veri;
 int orta_sensor_veri;
 int sag_sensor_veri;
void sol_sensor_durum () {
 sol_sensor_veri = digitalRead(sol_sensor);
 }
void orta_sensor_durum () {
 orta_sensor_veri = digitalRead(orta_sensor);
 }
void sag_sensor_durum () {
 sag_sensor_veri = digitalRead(sag_sensor);
 }

 void sag(unsigned int hiz) {
 analogWrite(Sol_motor_PWM,hiz);
 analogWrite(Sag_motor_PWM,hiz);
 digitalWrite(Sol_Motor_ileri, HIGH);
 digitalWrite(Sol_Motor_geri, LOW);
 digitalWrite(Sag_Motor_ileri, LOW);
 digitalWrite(Sag_Motor_geri, HIGH);
 }

 void sol(unsigned int hiz) {
 analogWrite(Sol_motor_PWM,hiz);
 analogWrite(Sag_motor_PWM,hiz);
 digitalWrite(Sol_Motor_ileri, LOW);
 digitalWrite(Sol_Motor_geri, HIGH);
 digitalWrite(Sag_Motor_ileri, HIGH);
 digitalWrite(Sag_Motor_geri, LOW);
 }

 void ileri(unsigned int hiz) {
 analogWrite(Sol_motor_PWM,hiz);
 analogWrite(Sag_motor_PWM,hiz);
 digitalWrite(Sol_Motor_ileri, HIGH);
 digitalWrite(Sol_Motor_geri, LOW);
 digitalWrite(Sag_Motor_ileri, HIGH);
 digitalWrite(Sag_Motor_geri, LOW);
 }



void setup() {
  pinMode(sol_sensor, INPUT);
pinMode(orta_sensor, INPUT);
pinMode(sag_sensor, INPUT);
  pinMode(Sol_Motor_ileri, OUTPUT);
 pinMode(Sol_Motor_geri, OUTPUT);
 pinMode(Sag_Motor_ileri, OUTPUT);
 pinMode(Sag_Motor_geri, OUTPUT);
 pinMode(Sol_motor_PWM, OUTPUT);
 pinMode(Sag_motor_PWM, OUTPUT);

}


void loop() {


   if(orta_sensor_veri ==HIGH && orta_sensor_veri==HIGH)
   {
     ileri(120); // 120  pwm hızla ileri hareket et

   } if(sol_sensor_veri ==HIGH && sag_sensor_veri==HIGH)
   {
     ileri(120); // 120  pwm hızla ileri hareket et

   } if(sol_sensor_veri ==HIGH && sol_sensor_veri==LOW)
   {
     sol(150); // 150  pwm hızla sola hareket et

   } if(sol_sensor_veri ==LOW && sag_sensor_veri==HIGH)
   {
     sag(150); // 150  pwm hızla sağa hareket et

   }
}
SİZCE NASIL OLMUŞ?
Beğendim
100%
İlginç
0%
Eh İşte
0%
Anlamadım
0%
Kötü
0%
Berbat
0%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
YORUMLAR

YORUM YAP