Arduino Engelden Kaçan Robot Yapımı

Tarih: 19.07.2024 13:31
Arduino Engelden Kaçan Robot Yapımı
Engelden Kaçan Robot Nedir? Engelden kaçan robot prensipte sürekli ileri yönde hareket edip engel gördüğü zaman yönünü değiştirerek engele çarpmadan ilerlemeye devam eden robottur. Engelden kaçan robot projelerinde sıklıkla Arduino Uno, HC-SR04 ultrasonik sensör ve genellikle L298N motor sürücü modülleri kullanılmaktadır.
Engelden Kaçan Robot Nedir?
Engelden kaçan robot prensipte sürekli ileri yönde hareket edip engel gördüğü zaman yönünü değiştirerek engele çarpmadan ilerlemeye devam eden robottur. Engelden kaçan robot projelerinde sıklıkla Arduino Uno, HC-SR04 ultrasonik sensör ve genellikle L298N motor sürücü modülleri kullanılmaktadır.



Engelden Kaçan Robot Set İçeriği
  • Arduino Uno R3 (Klon)
  • L298N Motor Sürücü Modülü
  • HC-SR04 Ultrasonik Sensör
  • 4x DC Motor
  • 4x Geçmeli Tekerlek
  • 3D Baskı Robot Gövdesi (Renk stok durumuna göre farklı olabilir)
  • USB Kablo
  • 10x Dişi Erkek Jumper Kablo
  • M3 Vida ve Somun Seti
Engelden Kaçan Robot Seti: Arduino Engelden Kaçan Robot Satın Al |ALPGEN Robotics


DEVRE ŞEMASI



Engelden Kaçan Robot Kodu:

Arduino kodlamak için Arduino IDE veya mBlock uygulamasını kullanabilirsiniz. L298 motor sürücü modülünü kullanmak için herhangi bir kütüphane kullanmanıza gerek yoktur.
 
#defineechoPin12//Ultrasonik sensörün echo pini Arduino'nun 12.pinine#definetrigPin13//Ultrasonik sensörün trig pini Arduino'nun 13.pinine tanımlandı.#defineMotorR17#defineMotorR26#defineMotorRE9  // Motor pinlerini tanımlıyoruz.#defineMotorL15#defineMotorL24#defineMotorLE3longsure,uzaklik;//süre ve uzaklık diye iki değişken tanımlıyoruz.voidsetup(){
 // ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
 // bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
 pinMode(echoPin,INPUT);
 pinMode(trigPin,OUTPUT);
 pinMode(MotorL1,OUTPUT);
 pinMode(MotorL2,OUTPUT);
 pinMode(MotorLE,OUTPUT);//Motorlarımızı çıkış olarak tanımlıyoruz.
 pinMode(MotorR1,OUTPUT);
 pinMode(MotorR2,OUTPUT);
 pinMode(MotorRE,OUTPUT);
 Serial.begin(9600);}voidloop(){
 digitalWrite(trigPin,LOW);//sensör pasif hale getirildi
 delayMicroseconds(5);
 digitalWrite(trigPin,HIGH);//Sensore ses dalgasının üretmesi için emir verildi
 delayMicroseconds(10);
 digitalWrite(trigPin,LOW);//Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi
 sure=pulseIn(echoPin,HIGH);//ses dalgasının geri dönmesi için geçen sure ölçülüyor
 uzaklik=sure/29.1/2;//ölçülen süre uzaklığa çevriliyor
 Serial.println(uzaklik);
 
 if(uzaklik<15)// Uzaklık 15'den küçük ise,
 {
   geri();  // 150 ms geri git
   delay(150);
   sag();  // 250 ms sağa dön
   delay(250);
 }
 else
 {  // değil ise,
   ileri();// ileri git
 }}voidileri(){  // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.
 digitalWrite(MotorR1,HIGH);// Sağ motorun ileri hareketi aktif
 digitalWrite(MotorR2,LOW);// Sağ motorun geri hareketi pasif
 analogWrite(MotorRE,150);// Sağ motorun hızı 150
 digitalWrite(MotorL1,HIGH);// Sol motorun ileri hareketi aktif
 digitalWrite(MotorL2,LOW);// Sol motorun geri hareketi pasif
 analogWrite(MotorLE,150);// Sol motorun hızı 150}voidsag(){// Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.
 digitalWrite(MotorR1,HIGH);// Sağ motorun ileri hareketi aktif
 digitalWrite(MotorR2,LOW);// Sağ motorun geri hareketi pasif
 analogWrite(MotorRE,0);// Sağ motorun hızı 0 (Motor duruyor)
 digitalWrite(MotorL1,HIGH);// Sol motorun ileri hareketi aktif
 digitalWrite(MotorL2,LOW);// Sol motorun geri hareketi pasif
 analogWrite(MotorLE,150);// Sol motorun hızı 150}voidgeri(){// Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.
 digitalWrite(MotorR1,LOW);// Sağ motorun ileri hareketi pasif
 digitalWrite(MotorR2,HIGH);// Sağ motorun geri hareketi aktif
 analogWrite(MotorRE,150);// Sağ motorun hızı 150
 digitalWrite(MotorL1,LOW);// Sol motorun ileri hareketi pasif
 digitalWrite(MotorL2,HIGH);// Sol motorun geri hareketi aktif
 analogWrite(MotorLE,150);// Sol motorun hızı 150}
Size nasıl yardımcı olabiliriz?
Yükleniyor...