Arduino ile Engelden Kaçan 4WD Robot Araba Yapmı 2021 | İnternetten Para Kazanma Teknikleri

En Yeni Eklenen

post adsense

10 Şubat 2021

Arduino ile Engelden Kaçan 4WD Robot Araba Yapmı 2021

Bu Arduino eğitim serimizde, engellerden kaçma özelliğine sahip 4 çeker bir robot araba yapmayı öğreneceksiniz. Bu proje, yakındaki nesneleri algılayabilen ve bu nesnelerden kaçınmak için yönünü değiştirebilen ultrasonik sensöre sahip 4 çeker robot araba nasıl yapılır içeriğidir. Ultrasonik sensör, yoluna çıkan nesneleri sürekli olarak sola ve sağa tarayan bir servo motor bağlanarak yapılacaktır.


Arduino Robot Araba


Aracın nesnelere dönmemesi için arkaya ultrasonik sensör gibi daha fazla sensör, hızı belirlemek için hız algılama sensörleri, hat takip sensörleri ve LED fren lambaları ekleyerek bu projeyi genişletebilirsiniz. Hatta düşük ışık koşullarında farları açmak için ışık sensörleri ve LED'ler veya aracı bir mobil uygulama aracılığıyla kontrol etmek için bir Bluetooth bağlantısı bile ekleyebilirsiniz.


Hc06 Bluetooth Kontrollü Robot Araba Yapımı Makelemiz Buradan İnceleyebilirsiniz.


Engelden Kaçan Robot Araba Yapımı için Gerekli parçalar

  • 1x Arduino Uno kartı
  • 1x 4WD Robotik Araç kiti (4 tekerlek, 4 motor, şasi, AA pil muhafazası, vidalar)
  • 6x AA pil
  • 1x 9V pil
  • 1x 9V pil güç kablosu namlu jakı konektörü
  • 1x L298N Motor Modülü
  • 1x Arduino Sensör Shield v5.0
  • 1x HC-SR04 Ultrasonik Sensör
  • 1x Servo motor (herhangi bir küçük servo motor işe yarar ama eğer yoksa, onu dışarıda bırakabilirsiniz)

Çeşitli renkli teller:

  • Ultrasonik Sensör için 4x dişi-dişi kablo
  • Motor Modülünden Sensör Kalkanına 8x dişi-dişi kablo
  • Dört motordan Motor Modülüne gitmek için 8x çıplak uçlu kablo
  • Motor Modülünden Sensör Korumasına gitmek için 2x çıplak uçlu kablo
  • Sensör Kalkana bağlanan dişi uçlu servo motor için 3x kablo (servo motorla birlikte verilmelidir)
  • AA Pil muhafazasından motor Modülüne gitmek için 2x çıplak uçlu kablo (pil muhafazasına zaten dahil edilmelidir)
  • Arduino IDE yazılımı - http://www.arduino.cc adresinde ücretsiz
  • 1x USB kablosu (B erkek fişe bir erkek fiş)
  • Programlanacak bir bilgisayar

Not: Teller için bir dizi farklı renk elde ettiğinizden emin olun (örn. Voltaj için kırmızı, toprak için siyah, vb.). Pil muhafazası, motorlar ve servo motor gibi bazı öğeler kablolarla birlikte gelebilir, bu nedenle bunları ayrıca satın almanız gerekmeyebilir. Bazı motor modülleri veya sensör kalkanları farklı pinler kullanabilir (örn. Erkek veya dişi veya sadece çıplak uçlu kablolar).


Aşağıda ihtiyacınız olan ana bileşenlerin (kablolar ve piller dışında) - farklı robot parçaları, kalkanlar, modüller ve sensörler - resimleri bulunmaktadır.


Arduino Robot Arabanın Montajı Nasıl Yapılır?

Yapılması gereken ilk şey, tüm araç şasi parçalarını monte etmek ve motorları tekerleklere bağlamaktır. 

  1. Kırmızı kabloyu (voltajı) pil muhafazasından L298N Motor Modülündeki VCC'ye bağlayın.
  2. Akü muhafazasından gelen siyah kabloyu (toprak) Motor Modülündeki GND'ye bağlayın.
  3. Motor A1'den (sol arka) kırmızı kabloyu ve Motor A2'den (ön sol) kırmızı kabloyu Motor Modülündeki OUT1'e bağlayın (her iki kablo birlikte bükülebilir ve OUT1'e gidecektir - bu sayfanın altındaki kablo şeması  nasıl Bunu yapmak için).
  4. Motor A1'den gelen siyah kabloyu (sol arka) ve Motor A2'den gelen siyah kabloyu (ön sol) Motor Modülündeki OUT2'ye bağlayın.
  5. Motor B1'den gelen kırmızı kabloyu (arka sağ) ve Motor B2'den gelen kırmızı kabloyu (ön sağ) Motor Modülündeki OUT3'e bağlayın.
  6. Motor B1'den gelen siyah kabloyu (arka sağ) ve Motor B2'den gelen siyah kabloyu (ön sağ) Motor Modülündeki OUT4'e bağlayın.
  7. Motor Modülündeki ENA'dan (Motor A) dişi-dişi uçtaki bir kabloyu Sensör Kalkanı üzerindeki sinyal pimi 1'e (S sırasındaki # 2 pim. Üç sıra vardır - S Sinyal, V Voltaj için) ve Ground için G).
  8. Motor Modülündeki 5V'den (ENA'nın yanında) dişi-dişi uç kablosunu Sensör Kalkanı üzerindeki voltaj pimi 1'e bağlayın (V satırında olduğu sürece voltaj için hangi pinin önemi yoktur).
  9. Sensör Kalkanı üzerindeki sinyal pin 2'ye Motor Modülündeki IN1'den dişi-dişi uçlu bir kabloyu bağlayın.
  10. Sensör Kalkanı üzerindeki sinyal pin 3'e Motor Modülündeki IN2'den dişi-dişi uçlu bir kabloyu bağlayın.
  11. Sensör Kalkanı üzerindeki sinyal pimi 4'e Motor Modülündeki IN3'ten dişi-dişi uçlu bir kabloyu bağlayın.
  12. Sensör Kalkanı üzerindeki sinyal pin 5'e Motor Modülündeki IN4'ten dişi-dişi uçlu bir kabloyu bağlayın.
  13. Motor Modülündeki 5V'den (ENB'nin yanında) dişi-dişi uç kablosunu Sensör Kalkanı üzerindeki 6. voltaj pimine bağlayın (V satırında olduğu sürece voltaj için hangi pinin önemi yoktur).
  14. Sensör Kalkanı üzerindeki sinyal pimi 6'ya Motor Modülündeki ENB'den (Motor B) dişi-dişi uçlu bir kabloyu bağlayın.
  15. Servo motordan gelen sinyal kablosunu Sensör Kalkanı üzerindeki sinyal (S) pimi 7'ye, servo motordan gelen voltaj kablosunu Sensör Kalkanı üzerindeki voltaj (V) pimi 7'ye ve servo motordan topraklama kablosunu Sensör Kalkanı üzerindeki GND (G) pini 7.
  16. Ultrasonik Sensörü servo motora takın ve ardından servo motoru, yolundaki nesneleri sola ve sağa bakarak tarayabilmesi için arabanın önüne takın .
  17. Yapışkan bant, blu-tack, tutkal veya 3D baskılı / lazer kesim montaj aparatı veya her şeyi takmak istediğiniz her şeyi, her şey sıkıca monte edildiği sürece kullanabilirsiniz.
  18. Ultrasonik sensörü Sensör Kalkanına bağlamak için dişi-dişi uç tapaları kullanın. Öncelikle, Ultrasonik sensörden gelen TETİK pimini Sensör Kalkanı üzerindeki sinyal (S) pimine 8 takın. ECHO pimini ultrasonik sensörden Sensör Kalkanı üzerindeki sinyal (S) pimine 9 takın. Ultrasonik Sensörden gelen VCC pimini Sensör Kalkanı üzerindeki voltaj (V) pimine 10 takın. Son olarak, Ultrasonik Sensörden gelen GND pimini Sensör Kalkanı üzerindeki GND (G) pimine 11 takın.
  19. Şimdi, herhangi bir pimi bükmediğinizden emin olarak Sensör Kalkanı'nı Arduino Uno kartının üstüne takın. 9V Pil Yuvası Jak Konektörünü 9V'luk bir pile bağlayın ve ardından bunu Arduino'nun namlu jakına takın (aşağıdaki şemaya bakın).
  20. Bu kadar! Artık tek ihtiyacınız olan piller ve kod!

Lütfen dikkat: Sensörlerin ve modüllerin çeşitli varyasyonları ve bunu bağlamanın birkaç farklı yolu vardır. Örneğin, pilleri şarj etmek için bir şarj bileşeni ekleyebilir ve ayrıca farklı anahtarlar ekleyebilirsiniz. Kullanılacak daha iyi yöntemler olabilir, ancak bunu kurmanın bildiğim en basit yolunu seçtim.


Arduino Robot Araba Bağlantı Şeması


Arduino Robot Araba Bağlantı Şeması


Arduino Robot Kodu İndir


İşte robotunuzu hareket ettirmek için kod. Kod C dilinde yazılmıştır ve Arduino IDE yazılımında yazılmıştır. Servo motorlu bir robotun kodu ve servo motorsuz bir robotun kodu aşağıda gösterilmiştir.


  1. // Servo motoru kurun
  2. #include <Servo.h>
  3. Servo myservo;
  4. int servposnum = 0 ;
  5. int servpos = 0 ;
  6. // Motor A (ön ve arka) pimlerini kurun
  7. int enableA = 1 ;
  8. int pinA1 = 3 ;
  9. int pinA2 = 2 ;
  10. // Motor B (ön ve arka) pimlerini kurun
  11. int enableB = 6 ;
  12. int pinB1 = 5 ;
  13. int pinB2 = 4 ;
  14. // Ultrasonik Sensör pimlerini ayarlayın
  15. #define trigPin 8
  16. #define echoPin 9
  17. geçersiz kurulum ( ) {
  18. // Kurulum kodu buraya gelir ve yalnızca bir kez çalışır
  19. // Her sürücü motoru için pin modlarını yapılandırın
  20. pinMode ( enableA, ÇIKIŞ ) ;
  21. pinMode ( pinA1, ÇIKIŞ ) ;
  22. pinMode ( pinA2, ÇIKIŞ ) ;
  23. pinMode ( enableB, ÇIKIŞ ) ;
  24. pinMode ( pinB1, ÇIKIŞ ) ;
  25. pinMode ( pinB2, ÇIKIŞ ) ;
  26. // Ultrasonik Sensör için pin modlarını yapılandırın
  27. pinMode ( trigPin, ÇIKIŞ ) ;
  28. pinMode ( echoPin, GİRİŞ ) ;
  29. // Pimi servo sürücüye çevirin. PinMode'u çağırır. Başarısızlık halinde 0 döndürür.
  30. myservo. eklemek ( 7 ) ;
  31. }
  32. geçersiz döngü ( ) {
  33. // Ana kod buraya gelecek ve tekrar tekrar çalışacak:
  34. araba ( ) ; // mesafe> 15cm iken işlev arabayı ileri doğru hareket ettirmeye devam eder
  35. kaçının ( ) ; // işlevi arabanın geri gitmesini sağlar, yeni yönde ilerlemek için hafifçe sağa dönün
  36. }
  37. // Motor fonksiyonları oluşturun
  38. void motorAforward ( ) {
  39. digitalWrite ( pinA1, YÜKSEK ) ;
  40. digitalWrite ( pinA2, DÜŞÜK ) ;
  41. }
  42. void motorBforward ( ) {
  43. digitalWrite ( pinB1, DÜŞÜK ) ;
  44. digitalWrite ( pinB2, YÜKSEK ) ;
  45. }
  46. void motorAbackward ( ) {
  47. digitalWrite ( pinA1, DÜŞÜK ) ;
  48. digitalWrite ( pinA2, YÜKSEK ) ;
  49. }
  50. void motorBbackward ( ) {
  51. digitalWrite ( pinB1, YÜKSEK ) ;
  52. digitalWrite ( pinB2, DÜŞÜK ) ;
  53. }
  54. void motorAstop ( ) {
  55. digitalWrite ( pinA1, YÜKSEK ) ;
  56. digitalWrite ( pinA2, YÜKSEK ) ;
  57. }
  58. void motorBstop ( ) {
  59. digitalWrite ( pinB1, YÜKSEK ) ;
  60. digitalWrite ( pinB2, YÜKSEK ) ;
  61. }
  62. void motorAcoast ( ) {
  63. digitalWrite ( pinA1, DÜŞÜK ) ;
  64. digitalWrite ( pinA2, DÜŞÜK ) ;
  65. }
  66. void motorBcoast ( ) {
  67. digitalWrite ( pinB1, DÜŞÜK ) ;
  68. digitalWrite ( pinB2, DÜŞÜK ) ;
  69. }
  70. void motorAon ( ) {
  71. digitalWrite ( enableA, HIGH ) ;
  72. }
  73. void motorBon ( ) {
  74. digitalWrite ( enableB, HIGH ) ;
  75. }
  76. void motorAoff ( ) {
  77. digitalWrite ( enableA, LOW ) ;
  78. }
  79. void motorBoff ( ) {
  80. digitalWrite ( enableB, LOW ) ;
  81. }
  82. // Hareket işlevlerini ayarla
  83. void forward ( int süre ) {
  84. motorAforward ( ) ;
  85. motorBforward ( ) ;
  86. gecikme ( süre ) ;
  87. }
  88. geriye doğru geçersiz ( int süre ) {
  89. motorAbackward ( ) ;
  90. motorBbackward ( ) ;
  91. gecikme ( süre ) ;
  92. }
  93. void right ( int süre ) {
  94. motorAbackward ( ) ;
  95. motorBforward ( ) ;
  96. gecikme ( süre ) ;
  97. }
  98. void left ( int süre ) {
  99. motorAforward ( ) ;
  100. motorBbackward ( ) ;
  101. gecikme ( süre ) ;
  102. }
  103. void coast ( int süre ) {
  104. motorAcoast ( ) ;
  105. motorBcoast ( ) ;
  106. gecikme ( süre ) ;
  107. }
  108. void breakRobot ( int süre ) {
  109. motorAstop ( ) ;
  110. motorBstop ( ) ;
  111. gecikme ( süre ) ;
  112. }
  113. void disableMotors ( ) {
  114. motorAoff ( ) ;
  115. motorBoff ( ) ;
  116. }
  117. void enableMotors ( ) {
  118. motorAon ( ) ;
  119. motorBon ( ) ;
  120. }
  121. // Ultrasonik Sensör mesafe ölçümünü ayarlayın
  122. int mesafe ( ) {
  123. int süre, mesafe;
  124. digitalWrite ( trigPin, YÜKSEK ) ;
  125. gecikme Mikrosaniye ( 1000 ) ;
  126. digitalWrite ( trigPin, DÜŞÜK ) ;
  127. süre = pulseIn ( echoPin, HIGH ) ;
  128. mesafe = ( süre / 2 ) / 29.1 ;
  129. dönüş mesafesi;
  130. }
  131. // Ana araba işlevini ayarlayın
  132. void car ( ) {
  133. int mesafe_0;
  134. mesafe_0 = mesafe ( ) ;
  135. // Nesnelerin mesafesi> 15cm iken düz bir çizgide ilerlemeye devam edin
  136. while ( mesafe_0> 15 )
  137. {
  138. // Çevreyi taramak için servo motoru ileri geri hareket ettirmeye devam edin
  139. // Bu, ultrasonik sensörün solunda ve sağında daha fazlasını görmesini sağlar
  140. eğer ( servposnum == 0 )
  141. {
  142. myservo. writeMicroseconds ( 1900 ) ;
  143. servposnum = 1 ;
  144. gecikme ( 100 ) ;
  145. }
  146. else if ( servposnum == 1 )
  147. {
  148. myservo. writeMicroseconds ( 2200 ) ;
  149. servposnum = 2 ;
  150. gecikme ( 100 ) ;
  151. }
  152. else if ( servposnum == 2 )
  153. {
  154. myservo. writeMicroseconds ( 1900 ) ;
  155. servposnum = 3 ;
  156. gecikme ( 100 ) ;
  157. }
  158. else if ( servposnum == 3 )
  159. {
  160. myservo. writeMicroseconds ( 1600 ) ;
  161. servposnum = 1 ;
  162. gecikme ( 100 ) ;
  163. }
  164. motorAon ( ) ;
  165. motorBon ( ) ;
  166. ileri ( 1 ) ;
  167. mesafe_0 = mesafe ( ) ;
  168. }
  169. breakRobot ( 0 ) ;
  170. }
  171. geçersiz kaçının ( )
  172. {
  173. // Geri dönün ve 15 cm'den küçük bir nesne algılanırsa aracı yeni yönde hareket ettirmek için hafifçe sağa dönün
  174. geriye ( 500 ) ;
  175. sağ ( 360 ) ;


Ultrasonik sensörünüz yoksa ve yalnızca bir telefon uygulaması aracılığıyla Bluetooth kontrolünü kullanmak istiyorsanız, kodun ihtiyacınız olan kısımlarını çıkarabilir ve ardından Bluetooth kodunu ekleyebilirsiniz.


Arduino Robot Son Aşama Bitirmek


Kodu aldıktan sonra doğrulamanız ve ardından Arduino Uno kartınıza yüklemeniz gerekecektir. Yükleme sırasında herhangi bir hatayı önlemek için kodu yüklerken Arduino'nun Sensör Kalkanı ile bağlantısının kesildiğinden veya tüm pillerin bağlantısının kesildiğinden emin olun. Kısa devreleri önlemek için kasadaki farklı bileşenleri de dikkatlice düzenlediğinizden emin olun.


Ve bu kadar! Bu proje ile yapılabilecek çok şey var. Aşağıdaki özellikleri ekleyerek projenizi genişletmeyi deneyin:


  • Satır takibi
  • Düşük ışıkla etkinleştirilen farlar (ışık sensörleri ve LED'ler kullanarak)
  • Fren lambaları
  • Hız ölçümü
  • Bluetooth / mobil uygulama kontrolü
  • Nesnelere geri dönmeyi veya kenarlardan düşmeyi önlemek için daha fazla ultrasonik sensör kullanabilirsiniz.


En yeni Arduino Eğitim Serisi için Web Sitemi takip edebilirisiniz.


Hiç yorum yok:

Yorum Gönder

Yorumunuz İçin Teşekkür Ederiz.

Yorumunuz Site Yönetimi Tarafından Kontrol Edildikten Sonra Yayınlanacaktır.

Alt Adsense