İçindekiler:
- Adım 1: Kara Kutu
- Adım 2: Arduino
- Adım 3: Arduino'yu Blackbox'a Bağlama
- Adım 4: Ultrasonik Sensör
- Adım 5: Sensörün Arduino'ya Breadboard Bağlantısı
- Adım 6: Motor Kalkanı
- Adım 7: Motor Shield'i Arduino'ya Bağlama
- Adım 8: 4 Motoru ve Bataryayı Kalkana Bağlama
- Adım 9: Robotu Programlayın
Video: Robotik Arabadan Kaçınan Engel: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Engelden Kaçınan Robot Nasıl Yapılır?
Adım 1: Kara Kutu
ilk adımda robotum için temel olarak bir kara kutu kullandım.
Adım 2: Arduino
Arduino tüm sistemin beynidir ve motorlarımızı yönetir.
Adım 3: Arduino'yu Blackbox'a Bağlama
Arduino'yu sıcak tutkal kullanarak kara kutuya bağladım
Adım 4: Ultrasonik Sensör
Kendi başına hareket edebilen bir robot yapmak için bir tür girdiye, amacımıza uygun bir sensöre ihtiyacımız var. Ultrasonik sensör, ultrasonik ses dalgalarını kullanarak bir nesneye olan mesafeyi ölçen bir araçtır. Bir ultrasonik sensör, bir nesnenin yakınlığı hakkındaki bilgileri geri ileten ultrasonik darbeleri göndermek ve almak için bir dönüştürücü kullanır.
Adım 5: Sensörün Arduino'ya Breadboard Bağlantısı
Breadboard ve arduino arasındaki bağlantıyı erkekleştirmek için teller kullandım.
Ping sensörünüzün pin yerleşimi farklı olabilir ama voltaj pini, topraklama pini, trig pini ve eko pini olması gerektiğine dikkat edin.
Adım 6: Motor Kalkanı
Arduino kartları ürettikleri akımlar çok düşük olduğu için DC motorları kendi başlarına kontrol edemezler. Bu sorunu çözmek için motor kalkanları kullanıyoruz. Motor kalkanı iki DC motorun kontrolüne izin veren 2 kanallı veya 1 step motor. … Bu pinleri adresleyerek başlatmak için bir motor kanalı seçebilir, motor yönünü (polaritesini) belirleyebilir, motor hızını (PWM) ayarlayabilir, motoru durdurup başlatabilir ve her kanalın akım emilimini izleyebilirsiniz.
Adım 7: Motor Shield'i Arduino'ya Bağlama
Sensör kabloları sıkılmış haldeyken motor blendajını arduinoya takmanız yeterlidir.
Adım 8: 4 Motoru ve Bataryayı Kalkana Bağlama
Her Motor Kalkanı, biri motorlar için diğeri güç kaynağı için olmak üzere (en az) iki kanala sahiptir. Bunları birbirine göre bağlayın
Adım 9: Robotu Programlayın
bu kodu çalıştır
#include #include
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor1(1, MOTOR12_1KHZ); AF_DCMotor motor2(2, MOTOR12_1KHZ); AF_DCMotor motor3(3, MOTOR34_1KHZ); AF_DCMotor motor4(4, MOTOR34_1KHZ); Servo myservo;
#define TRIG_PIN A2 #define ECHO_PIN A3 #define MAX_DISTANCE 150 #define MAX_SPEED 100 #define MAX_SPEED_OFFSET 10
boolean gidiyorForward=false; int mesafe = 80; int hız Kümesi = 0;
geçersiz kurulum() {
myservo.attach(10); myservo.write(115); gecikme(2000); mesafe = readPing(); gecikme(100); mesafe = readPing(); gecikme(100); mesafe = readPing(); gecikme(100); mesafe = readPing(); gecikme(100); }
void loop() { int mesafeR = 0; int mesafeL = 0; gecikme(40); if(mesafe<=15) { moveStop(); gecikme(50); Geriye doğru hareket(); gecikme(150); hareketStop(); gecikme(100); mesafeR = bakSağ(); gecikme(100); mesafeL = bakSol(); gecikme(100);
if(mesafeR>=mesafeL) { turnRight(); hareketStop(); }else { turnLeft(); hareketStop(); } }else { moveForward(); } mesafe = readPing(); }
int lookRight() { myservo.write(50); gecikme(250); int mesafe = readPing(); gecikme(50); myservo.write(100); dönüş mesafesi; }
int lookLeft() { myservo.write(120); gecikme(300); int mesafe = readPing(); gecikme(100); myservo.write(115); dönüş mesafesi; gecikme(100); }
int readPing() { gecikme(70); int cm = sonar.ping_cm(); if(cm==0) { cm = 200; } cm'yi döndür; }
void moveStop() { motor1.run(RELEASE); motor2.run(ÇALIŞTIR); motor3.run(ÇALIŞTIR); motor4.run(ÇALIŞTIR); } geçersiz moveForward() {
if(!goesForward) { goesForward=true; motor1.run(İLERİ); motor2.run(İLERİ); motor3.run(İLERİ); motor4.run(İLERİ); için (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) { motor1.setSpeed(speedSet); motor2.setSpeed(speedSet); motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); gecikme(5); } } }
void moveBackward() { goForward=false; motor1.run(GERİ); motor2.run(GERİ); motor3.run(GERİ); motor4.run(GERİ); için (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) { motor1.setSpeed(speedSet); motor2.setSpeed(speedSet); motor3.setSpeed(speedSet); motor4.setSpeed(speedSet); gecikme(5); } void turnLeft() { motor1.run(GERİ); motor2.run(GERİ); motor3.run(İLERİ); motor4.run(İLERİ); gecikme(500); motor1.run(İLERİ); motor2.run(İLERİ); motor3.run(İLERİ); motor4.run(İLERİ); }
void turnLeft() { motor1.run(GERİ); motor2.run(GERİ); motor3.run(İLERİ); motor4.run(İLERİ); gecikme(500); motor1.run(İLERİ); motor2.run(İLERİ); motor3.run(İLERİ); motor4.run(İLERİ); }
Önerilen:
LEGO Robot'tan Kaçınan Engel: 8 Adım (Resimlerle)
LEGO Robotundan Kaçınan Engel: LEGO'yu ve Çılgın Devreleri de seviyoruz, bu yüzden ikisini duvarlara ve diğer nesnelere çarpmaktan kaçınabilecek basit ve eğlenceli bir robotta birleştirmek istedik. Size kendimizinkini nasıl inşa ettiğimizi göstereceğiz ve kendinizinkini inşa edebilmeniz için gereken temelleri özetleyeceğiz.
Dexter ile Rover'dan Kaçınan Engel: 4 Adım
Dexter ile Rover'dan Kaçınan Engel: Dexter Topluluğunda yeniyseniz lütfen https://www.instructables.com/id/Getting-Started-With-Dexter/ adresine bakın/Bu projede Dexter panomuzu kullanarak Rover'dan kaçınan bir Engel geliştiriyoruz ve Ultrasonik Sensör
Evde Arabadan Kaçınan DIY Arduino Engeli: 5 Adım
Evde Arabadan Kaçınan DIY Arduino Engeli: Bu yazıda size evde nasıl Arduino Engelden Kaçınan bir araba yapacağınızı göstereceğim
Motorlu Arabadan Kaçınan Arduino Engeli: 7 Adım
Motorlu Arabadan Kaçınan Arduino Engeli: Merhaba! ve arabadan kaçınan bir Arduino engelinin nasıl oluşturulacağına ilişkin eğitime hoş geldiniz. Bu proje için gerekli malzemeleri temin ederek başlayabiliriz ve eğleneceğinizden emin olabilirsiniz!MALZEMELER: Dişi-Erkek Teller Teller Mesafe Sensörü
Robottan Kaçınan Engel Nasıl Yapılır- Arduino Stili: 4 Adım
Robottan Kaçınan Bir Engel Nasıl Yapılır- Arduino Stili: Her zaman, temelde herhangi bir nesneden kaçınabilen o harika robotlardan birini yapmak istediniz. Yine de, tüm malzemelerin sizin için olduğu yerde zaten kesilmiş parçaları olan, gerçekten pahalı olanlardan birini satın almak için yeterli paranız yoktu. Eğer gibiysen