750TL ÜZERİ ÜCRETSİZ KARGO
 
Arduino Engelden Kaçan Robot Yapımı

Arduino Engelden Kaçan Robot Yapımı

Görüntülenme Sayısı: 3339


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 Şeması:

  • 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.

#define echoPin 12 //Ultrasonik sensörün echo pini Arduino'nun 12.pinine
#define trigPin 13 //Ultrasonik sensörün trig pini Arduino'nun 13.pinine tanımlandı.
#define MotorR1 7
#define MotorR2 6
#define MotorRE 9  // Motor pinlerini tanımlıyoruz.
#define MotorL1 5
#define MotorL2 4
#define MotorLE 3

long sure, uzaklik; //süre ve uzaklık diye iki değişken tanımlıyoruz.

void setup()
{
  // 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);
}

void loop() 
{
  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
  }
}

void ileri()
{  // 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
}

void sag()
{ // 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
}

void geri()
{ // 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
}

Destek Ürünleri

Arduino Uno Breadboard Atmega328P-AU Geliştirme Kartı
550,00 TL450,00 TL Vergiler Hariç: 450,00 TL

ARDUINO UNO BREADBOARDUNO BreadBoard, 8 yaş ve üzeri herkesin rahatlıkla kullanabileceği robotik kodlama kartıdır. Hobi amaçlı, eğitim amaçlı veya profesyonel amaçlı farklı alanlarda projeler geliştirmek için kullanılabilir. IoT projeleri, robot projeleri, Arduino projeleri ve akıllı sistemler gibi pek çok proje UNO BreadBoard ile kolaylıkla gerçekleştirilebilir. Üzerinde bulunan mini breadboard, devre bağlantılarının daha kolay yapılmasını sağlar.Arduino ile kodlanabilen tüm sensör ve modüller UNO BreadBoard ile kullanılabilir.Arduino tabanlı olan UNO BreadBoard; Arduino IDE, mBlock gibi açık kaynak programlar ile kodlanabilir.TEKNİK ÖZELLİKLERI/O Pins14 Dijital (6'sı PWM) , 6 Analog PinMikroişlemciAtmega328Çalışma Gerilimi5VGiriş Gerilimi7-15VHer I/O için Akım40mAFlash Hafıza32KBSRAM2KBEEPROM1KBSaat Hızı16MHzÖlçüler68.96mm x 58.93mmNASIL KULLANILIR?Üzerinde bulunan USB giriş ile bilgisayara bağlanır. Hazırlanan kod bloğu/satırı USB bağlantısı yapıldıktan sonra karta yüklenir. Devre bağlantıları da tamamlandıktan sonra devre çalıştırılarak proje gözlemlenir.NASIL KODLANIR?UNO BreadBoard üzerindeki mikroişlemci sayesinde bilgisayar üzerinden kolayca kodlanabilmektedir. Yaygın kullanılan kodlama platformları ile uyumludur. Hem Arduino IDE üzerinde C ile hem de blok tabanlı kodlama platformlarından kodlanabilmektedir.Arduino, Arduino IDE adı verilen kodlama platformuyla kullanılmaktadır. Robotik kodlama ürünlerinin birçoğu Arduino ile kodlanabilmektedir. C dili temeline dayanan bu kodlama platformunda, cihaz türünü Arduino UNO seçerek UNO BreadBoard’u dilediğiniz gibi kodlayabilirsiniz.   ÖRNEK PROJE ARDUINO IDE KODU /* ALPGEN Robotics */ // Arduino Uno BreadBoard 13. Pin Dahili Led Blink // 06.05.2021 // Soru ve Yardım İçin: proje@alpgenrobotics.com // www.alpgenrobotics.com // int led = 13; // Led Dijital 13'e tanımlandı void setup()  // Başlangıç Ayarlamaları {  pinMode(led, OUTPUT); // Led Çıkış Olarak Ayarlandı } void loop() // Sürekli Tekrar Edecek Olan Döngü {  digitalWrite(led, HIGH); // Led durumu HIGH yapıldı (led yandı)  delay(500);              // 500ms gecikme süresi (ledin yanma süresi)  digitalWrite(led,LOW);   // Led durumu LOW yapıldı (led söndü)  delay(500);              // 500ms gecikme süresi (ledin sönme süresi) } ..

Sepete Ekle
HC-SR04 Ultrasonik Mesafe Sensörü
399,00 TL349,00 TL Vergiler Hariç: 349,00 TL

HC-SR04 ULTRASONİK MESAFE SENSÖRÜ MODÜLÜArduino geliştiricileri arasında en popüler olan uzaklık sensörüdür. 4 metreye kadar uzaklıkları ölçebileceğiniz bu sensör 5V ile çalışmaktadır. 15mA akım çeken bu sensör ses dalgalarının gidip gelme süresini ölçerek mesafeyi ölçme prensibi ile çalışır. Uygun fiyatı ve yüksek doğruluk oranı ile bu sensörü mesafe ölçüm projelerinizde rahatlıkla kullanabilirsiniz.Nerede Kullanılır?Arduino ile robotik kodlama projelerinde oldukça sık kullanılan HC-SR04 ultrasonik sensör modülü ile engelden kaçan robot yapılabilir, boy ölçme projesinde kullanılabilir, araç park sensör projesi veya radar projesi gibi çeşitli uygulamalar yapılabilir.Maksimum Menzil4mMinimum Menzil3cmÇalışma Voltajı5V DCGörme Açısı15 DereceÇektiği Akım15mATetik Bacağı Giriş Sinyali10us TTLEcho Çıkış Sinyali Giriş TTL Sinyali ve Mesafe OranıEn54.48mmBoy31.42mmVida Delik Çapı3.2mmÖrnek Proje Devre ŞemasıBu projede ultrasonik mesafe sensörü modülü kullanılarak sensörün okuduğu değer seri porta "cm" olarak yazdırılacaktır. Projede HC-SR04 ultrasonik sensör modülü ile Arduino Uno Breadboard  kullanılmıştır.Ultrasonik Mesafe Sensörü ModülüArduino Uno BreadboardGND-VCC5VTRIGD8ECHOD9Örnek Proje Arduino Kodu/* ALPGEN Robotics */ // Ultrasonik Sensör ile Mesafe Ölçme // 07.05.2021 // Soru ve Yardım İçin: proje@alpgenrobotics.com // www.alpgenrobotics.com *// int trigPin = 8; // trigPin Dijital 8 pine tanımlandı int echoPin = 9; // echoPin Dijital 9 pine tanımlandı long zaman;      // zaman adında değişken tanımlandı long mesafe;     // mesafe adında değişken tanımlandı void setup()     // Başlangıç Ayarlamaları {  pinMode(trigPin, OUTPUT); // trigPin çıkış olarak ayarlandı  pinMode(echoPin,INPUT);   // echoPin giriş olarak ayarlandı  Serial.begin(9600);       // Seri haberleşme hızı 9600 baudrate ayarlandı } void loop() // Sürekli Tekrar Edecek Olan Döngü {  digitalWrite(trigPin, LOW);     // trigPin durumu LOW yapıldı  delayMicroseconds(5);           // 5us gecikme süresi  digitalWrite(trigPin, HIGH);    // trigPin durumu HIGH yapıldı  delayMicroseconds(10);          // 10us gecikme süresi  digitalWrite(trigPin, LOW);     // trigPin durumu LOW yapıldı  zaman = pulseIn(echoPin, HIGH); // echoPin HIGH olana kadar geçen süre zaman değişkenine atandı  mesafe= (zaman /29.1)/2;        // Ölçülen zaman mesafeye çevrildi  Serial.print("Uzaklik ");       // Arduino'nun seri ekranına "Uzaklık" yazdırıldı  Serial.print(mesafe);           // Ekranda uzaklık kelimesinden sonra ölçülen mesafe değişkeni yazdırıldı  Serial.println(" cm");          // En son cm yazdırılarak "println" komutu ile satır aşağı kaydırıldı  delay(500);                     // Verilerin ekrana yazdırılma süresi = 500ms } ..

Sepete Ekle
Geçmeli Tekerlek
75,00 TL45,00 TL Vergiler Hariç: 45,00 TL

Robotik projelerinizde rahatlıkla kullanabileceğiniz bu tekerler  DC çift eksenli TT dişli motor ile uyumludur.Bu tekerleri çizgi izleyen, engelden kaçan veya bluetooth kontrollü robot gibi birçok robotik projede kullanabilirsiniz...

Sepete Ekle

İlgili Yazılar

Yorum Yaz