İçeriğe geç

Arduino Sensörlü Araç Yapımı

Güncelleme: 6.019 defa okundu

Konu: Arduino

Arduino Sensörlü Araç Yapımı

Arduino ile sensörlü engelden kaçan araba projesi Arduino başlangıç için güzel bir projedir.

Bu arabanın karşısına engel çıkarsa sensör tarafından algılanan engel Arduino kodları ile nesnelere çarpmadan gitmesini sağlayabiliriz.

Bunun için aşağıdaki malzemelere ihtiyaç vardır.

  • 1 adet 2WD (2 tekerlekli) Robot Araç Kiti
  • 1 adet L298N Motor Sürücü Kartı
  • 1 adet Arduino Uno SMD Klon
  • Arduino Kartı ile Bilgisayar arasında bağlantı için USB Kablo
  • 1 adet HC-SR04 Ultrasonik Mesafe Sensörü
  • Jumper Kabloları

Araç bağlantı devresi

Araç Devresi

Engelden kaçan sensörlü araç Arduino kodu:

Arduino
  1. #define echoPin 13 // Ultrasonik sensörün echo pini Arduino'nun 13. pin tanımı
  2. #define trigPin 12 // Ultrasonik sensörün trig pini Arduino'nun 12. pin tanımı
  3. #define MotorR1 6 // Sağ Motor pini tanımlıyoruz.
  4. #define MotorR2 7 // Sağ Motor pini tanımlıyoruz.
  5. #define MotorRE 9 // Sağ Motor hız pini tanımlıyoruz.
  6. #define MotorL1 5 // Sol Motor pini tanımlıyoruz.
  7. #define MotorL2 4 // Sol Motor pini tanımlıyoruz.
  8. #define MotorLE 3 // Sol Motor hız pini tanımlıyoruz.
  9. long sure, uzaklik; //süre ve uzaklık değişkenleri tanımlıyoruz.
  10. void setup() {
  11. pinMode(echoPin, INPUT); // bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
  12. pinMode(trigPin, OUTPUT);// ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
  13. pinMode(MotorL1, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
  14. pinMode(MotorL2, OUTPUT);
  15. pinMode(MotorLE, OUTPUT);
  16. pinMode(MotorR1, OUTPUT);
  17. pinMode(MotorR2, OUTPUT);
  18. pinMode(MotorRE, OUTPUT);
  19. Serial.begin(9600);
  20. }
  21. void loop() {
  22. digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
  23. delayMicroseconds(5);
  24. digitalWrite(trigPin, HIGH); //Sensore ses dalgasının için komut
  25. delayMicroseconds(10);
  26. digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi
  27. sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
  28. uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor
  29. Serial.println(uzaklik);
  30. if (uzaklik < 15) // Uzaklık 15 cmden küçük ise,
  31. {
  32. geri(); // 150 milisaniye geri git
  33. delay(150);
  34. sag(); // 250 milisaniye sağa dön
  35. delay(250);
  36. }
  37. else {
  38. ileri(); // değilse ileri git
  39. }
  40. }
  41. void ileri(){ // Robotun ileri yönde hareketi için fonksiyon tanımlıyoruz.
  42. digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
  43. digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
  44. analogWrite(MotorRE, 150); // Sağ motorun hızı 150
  45. digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
  46. digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
  47. analogWrite(MotorLE, 150); // Sol motorun hızı 150
  48. }
  49. void sag(){ // Robotun sağa dönme hareketi için fonksiyon tanımlıyoruz.
  50. digitalWrite(MotorR1, HIGH); // Sağ motorun ileri hareketi aktif
  51. digitalWrite(MotorR2, LOW); // Sağ motorun geri hareketi pasif
  52. analogWrite(MotorRE, 0); // Sağ motorun hızı 0 (Motor duruyor)
  53. digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif
  54. digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif
  55. analogWrite(MotorLE, 150); // Sol motorun hızı 150
  56. }
  57. void geri(){ // Robotun geri yönde hareketi için fonksiyon tanımlıyoruz.
  58. digitalWrite(MotorR1, LOW); // Sağ motorun ileri hareketi pasif
  59. digitalWrite(MotorR2, HIGH); // Sağ motorun geri hareketi aktif
  60. analogWrite(MotorRE, 150); // Sağ motorun hızı 150
  61. digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif
  62. digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif
  63. analogWrite(MotorLE, 150); // Sol motorun hızı 150
  64. }

Sensörlü Araç Videosu

Bu yazı işinize yaradı mı?

Arduino konusundaki diğer yazılar

WhatsApp'ta paylaş

İlgili Yazılar