Arduino_Hướng dẫn làm Robot bánh xích tránh vật cản

Bài viết này sẽ chỉ cho bạn cách lắp ráp một robot được điều khiển bởi Arduino.

Các bước thực hiện:

  • Tôi cần những linh kiện gì? Một danh sách đầy đủ các linh kiện sẽ hữu ích cho việc lắp ráp robot.
  • Lắp ráp khung gầm: Bộ khung xe đi kèm với hướng dẫn sẽ khá hữu ích. Các hình ảnh được thiết kế để bổ sung cho các hướng dẫn.
  • Lắp ráp hộp số: Tương tự như trên, hình ảnh được đính kèm để giúp lắp ráp dễ dàng hơn.
  • Lắp ráp kệ pin
  • Gắn hộp số
  • Dọn dẹp dây điện động cơ
  • Gắn Arduino vào khung gầm
  • Nối Motor Shield vào Arduino
  • Gắn cảm biến siêu âm
  • Nối dây cảm biến siêu âm
  • Gắn pin
  • Tải chương trình của bạn
  • Đã hoàn thành Robot!

Các linh kiện cần thiết:

  1. Khung xe
  2. Hộp số
  3. Arduino Uno
  4. Motor Shield
  5. Cảm biến khoảng cách siêu âm
  6. Micro Servo
  7. Động cơ
  8. Pin

Tham khảo bộ kit robot tại đây.

Bước 1: Tìm hiểu bộ phận: Khung xe

Hình ảnh bộ phận khung xe

Các bộ phận cơ khí tạo nên khung của robot. Nó bao gồm ray, bánh xe, trục và đế gỗ để gắn mọi thứ.

Giới thiệu về Bộ khung gầm:

Đối với dự án này, kit Tamiya 70108 đã được sử dụng. Nó rẻ, dễ lắp ráp và là một kit hoàn hảo cho robot bởi vì nó có bánh lái xe tăng, nói cách khác, robot có thể xoay hoàn toàn theo chiều dài của chính nó. Kit cơ bản đi kèm với một động cơ và có thể tiến và lùi, nhưng không thể quay. Điều này không hữu ích cho chúng ta, vì vậy giải pháp là bộ hộp số đôi Tamiya 70168.

Bước 2: Tìm hiểu bộ phận: Hộp số

Hình ảnh bộ phận: Hộp số

Về hộp số đôi:

Hộp số 70168 dễ lắp ráp và cho phép robot thực hiện lần lượt. Nó làm điều này bởi vì trục được cung cấp bởi một động cơ riêng biệt. Bộ này cũng có bốn bộ truyền động để lựa chọn, vì vậy nếu robot cần tốc độ nhanh hoặc mô-men quay, có thể thay đổi bánh răng.

Bước 3: Tìm hiểu: Arduino Uno

Hình ảnh linh kiện: Arduino Uno

Robot cần một cái gì đó để báo cho các động cơ biết khi nào cần quay, tốc độ như thế nào và quay trong bao lâu. Robot cũng cần biết khi nào cần rẽ trái hay phải, dừng lại và làm thế nào để giải thích tín hiệu từ các cảm biến của nó. Nói tóm lại, robot cần một bộ não.

Bộ não của robot là Arduino Uno. Dựa trên các đầu vào từ các cảm biến, Arduino hoạt động dựa trên logic được viết bởi lập trình viên và tạo đầu ra.

Bước 4: Tìm hiểu: Motor Shield

Hình ảnh bộ phận: Motor Shield

Arduino Shield là một linh kiện có thể được đặt trên Arduino và tất cả các chân của shield khớp với các chân của Arduino. Sự sắp xếp này làm cho nó rất dễ dàng để nối nhiều linh kiện mà không phải lo lắng về hệ thống dây điện. Đây là nơi mà board trong hình sẽ khác với board sẽ được dùng trong ​​bài viết này. Board trong hình sử dụng một phiên bản khác của Seeedstudio Motor Shield, phiên bản 1.2 thay vì phiên bản 2.0. Phiên bản 2.0 là một cải tiến vì nó không sử dụng các đầu nối kiểu Grove độc ​​quyền và giờ đây có thể sử dụng các bộ nối thay thế, rẻ hơn.

Bước 5: Tìm hiểu: Cảm biến siêu âm

Hình ảnh linh kiện: Cảm biến siêu âm

Cảm biến khoảng cách siêu âm HC-SR04 là con mắt của robot. Với HC-SR04, robot có thể thu thập thông tin trong thế giới thực để cung cấp cho bộ não Arduino. Nói chính xác hơn, HC-SR04 sử dụng sonar giống như một con dơi, gửi sóng âm thanh và đo thời gian cần thiết để chúng quay trở lại. Bằng cách sử dụng tốc độ âm thanh, có thể tính khoảng cách giữa cảm biến và đối tượng được phát hiện.

Bước 6: Tìm hiểu: Micro Servo

Hình ảnh bộ phận tìm nguồn cung ứng: Micro Servo

SG90 micro servo được sử dụng trên robot của chúng tôi giống như cổ người. Nó cho phép cảm biến siêu âm quay theo các hướng khác nhau, điều này tốt hơn nhiều so với việc chỉ ở một vị trí cố định trên robot.

Ngoài ra, có thể thiết lập một loạt nhiều cảm biến siêu âm, giống như mắt ruồi, với mỗi cảm biến đo khoảng cách từ một góc khác nhau.

Bước 7: Tìm hiểu: Động cơ

Hình ảnh bộ phận: Động cơ

Bộ khung cơ bản đi kèm với động cơ 130, nhưng chúng là động cơ 3V ngốn quá nhiều dòng điện khi bị ngưng trệ. Thay thế chúng bằng động cơ Pololu # 1117 có điện áp cao hơn có nghĩa là dòng điện sẽ đi qua các trình điều khiển khi bị ngưng trệ. Điều này giữ cho các trình điều khiển động cơ không bị cháy.

Bước 8: Tìm hiểu: Pin


Hình ảnh bộ phận: Pin

Một cách tuyệt vời để cung cấp năng lượng cho robot là sử dụng pin lithium polymer công nghệ cao. Loại pin này sẽ cung cấp năng lượng cho robot của bạn trong nhiều giờ. Đánh giá công suất theo xếp hạng mah (milli-ampere-giờ), số càng cao có nghĩa là công suất càng cao.

Lưu ý khi sử dụng pin Lithium Polymer nên sử dụng bộ sạc thông minh, nó khiến giá tăng lên khá nhiều.

 

Để thay thế loại rẻ hơn, bạn có thể sử dụng bốn pin AA nối tiếp và một kệ pin.

Bước 9: Chuẩn bị hộp công cụ


Hình ảnh về hộp công cụ

Một số công cụ cần thiết cho việc lắp ráp robot được liệt kê dưới đây.

  • Bộ tuốc nơ vít
  • Cây hàn (tùy chọn)
  • Dao
  • Kềm tuốt dây

Bước 10: Bắt đầu lắp ráp: Khung xe

Hình ảnh của khung gầm

Thực hiện theo các hướng dẫn  trong hộp khung. Khi các bộ phận được khui chúng sẽ trông giống như các hình trên.

  1. Kiểm tra các bộ phận
  2. Đánh dấu lỗ gắn Arduino.
  3. Khoan lỗ gắn Arduino. Dọc hai bên, tạo các rãnh với dao để gắn hộp số.
  4. Gắn các giá nối trục.
  5. Gắn giá nối trục mặt còn lại.
  6. Gắn trục với bánh xe.
  7. Gắn trục, bánh xe vào giá.
  8. Gắn trục, bánh xe vào giá ở mặt trên.

Bước 11: Bắt đầu lắp ráp: Hộp số

Thực hiện theo các hướng dẫn từ hình.

Hình ảnh của các bước lắp ráp Hộp số

Bước 12: Lắp ráp hộp hổ trợ pin

Hình ảnh của hộp hỗ trợ pin

Hộp pin này được chế tạo bằng bộ Meccano Erector. Bộ Erector là nguồn tuyệt vời cho khung cho các dự án.

Bước 13: Gắn hộp số vào khung gầm

Hình ảnh của gắn hộp số vào khung gầm

Hộp số hơi quá lớn so với khung xe, vì vậy các bu lông cố định hộp số thông qua các rãnh và vào một bánh sandwich. Các bánh sandwich cũng kẹp giữ pin, mà trượt bên dưới hộp số.

Bước 14: Dọn dẹp dây điện cho động cơ

Đối với bước này, một thanh hai lỗ có thể cố định các dây để giảm rối dây. Sắp xếp dây của bạn để chúng dễ dàng phân biệt sau khi bạn che chúng bằng Arduino.

Bước 15: Gắn Arduino vào khung gầm

Hình ảnh gắn Arduino vào khung gầm

Sử dụng các lỗ khoan từ khi bắt đầu dự án, sử dụng các nút và bu lông để cố định Arduino lên trên khung. Trên mô hình này, chỉ có ba ốc vít được sử dụng.

Bước 16: Nối Motor Shield vào Arduino

Hình ảnh nối Shield Motor vào Arduino

Hãy cẩn thận không làm cong các chân, nối các chân từ Motor Shield với các khe trong Arduino và nhấn xuống cho đến khi Motor Shield khớp với Arduino.

Bước 17: Gắn cảm biến siêu âm HC-SR04

Hình ảnh nối cảm biến siêu âm HC-SR04

  1. Nối bảng dựng hình tam giác.
  2. Dán keo cảm biến.
  3. Nối một thanh chống vào khung tam giác của cảm biến.
  4. Đánh dấu và khoan lỗ để gắn ốc vít.
  5. Gắn cảm biến vào khung robot.

Bước 18: Nối dây cảm biến khoảng cách siêu âm

Hình ảnh nối dây lên cảm biến khoảng cách siêu âm

  1. Nối dây nguồn từ cảm biến, được đánh dấu VCC xuống Motor Shield ở vị trí bên phải, trên chân được ký hiệu là V.
  2. Nối một dây từ chân cảm biến được đánh dấu GND sang chân Motor Shield được đánh dấu G.
  3. Nối một dây từ chân Trigger trên cảm biến sang chân số 7 được đánh dấu D7 trên Motor Shield.
  4. Nối một dây từ chân Echo trên cảm biến sang chân kỹ thuật số được đánh dấu D6 trên Motor Shield.

Sử dụng dây nối bằng cách sử dụng các loại cáp đặc biệt hoặc dây thông thường có thể được hàn vào các chân. Khi hàn, tốt nhất là sử dụng dây màu khác nhau để tránh nhầm lẫn, hoặc khi nối sử dụng các dây màu khác nhau nếu chúng có sẵn.

Tham khảo các hình ảnh trên.

Bước 19: Gắn pin

Hình ảnh gắn Pin

Gắn pin. Hãy chú ý đến vị trí, vì pin có thể là nặng nhất trong tất cả các linh kiện trên robot. Giá đỡ pin ở đây được ở trên Motor Shield để phân bổ trọng lượng tốt hơn. Lưu ý các móc nối pin trên Motor Shield. Dây màu đỏ nối với dây dương, và màu đen là âm. Nối dây pin với chân trên Motor Shield thì LED của Arduino và Motor Shield sẽ sáng.

Bước 20: Tải chương trình của bạn

Các chương trình trong ngôn ngữ Arduino được gọi là bản phác thảo. Tải bản phác thảo mẫu này và robot của bạn sẽ di chuyển ngay lập tức! Nếu bạn gặp vấn đề với tệp .ino, chương trình được in đậm bên dưới, chỉ cần sao chép và dán vào cửa sổ Arduino.

//Compilation of robotics programs for use on Instructables. Thanks for everyone that contributed!

#define trigPin 7
#define echoPin 6
//#define led 11
//#define led2 10

int pinI1=8;//define I1 interface
int pinI2=11;//define I2 interface
int speedpinA=9;//enable motor A
int pinI3=12;//define I3 interface
int pinI4=13;//define I4 interface
int speedpinB=10;//enable motor B

void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// pinMode(led, OUTPUT);//
// pinMode(led2, OUTPUT);//

pinMode(pinI1,OUTPUT);
pinMode(pinI2,OUTPUT);
pinMode(speedpinA,OUTPUT);
pinMode(pinI3,OUTPUT);
pinMode(pinI4,OUTPUT);
pinMode(speedpinB,OUTPUT);
}

void loop() {
long duration, distance;
digitalWrite(trigPin, LOW); // Added this line
delayMicroseconds(2); // Added this line
digitalWrite(trigPin, HIGH);
// delayMicroseconds(1000); – Removed this line
delayMicroseconds(10); // Added this line
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
if (distance < 40) { // This is where the LED On/Off happens
analogWrite(speedpinA,0);//Slows speed of motors to zero
analogWrite(speedpinB,0);//Slows speed of motors to zero
digitalWrite(pinI4,LOW);//turn DC Motor B move clockwise
digitalWrite(pinI3,HIGH);
digitalWrite(pinI2,LOW);//turn DC Motor A move anticlockwise
digitalWrite(pinI1,HIGH);
// digitalWrite(led,HIGH); // When the Red condition is met, the Green LED should turn off
// digitalWrite(led2,LOW);
}
else {
analogWrite(speedpinA,240);//Drive Forward
analogWrite(speedpinB,240);//Drive Forward
digitalWrite(pinI4,LOW);//turn DC Motor B move clockwise
digitalWrite(pinI3,HIGH);
digitalWrite(pinI2,LOW);//turn DC Motor A move anticlockwise
digitalWrite(pinI1,HIGH);
// digitalWrite(led,LOW);
// digitalWrite(led2,HIGH);
}
if (distance >= 200 || distance <= 0){
analogWrite(speedpinA,240);//Drive Forward
analogWrite(speedpinB,240);//Drive Forward
digitalWrite(pinI4,LOW);//turn DC Motor B move clockwise
digitalWrite(pinI3,HIGH);
digitalWrite(pinI2,LOW);//turn DC Motor A move anticlockwise
digitalWrite(pinI1,HIGH);
Serial.println(“Out of range”);
}
else {
Serial.print(distance);
Serial.println(” cm”);
}
delay(500);
}

Tham khảo trang web Arduino để biết hướng dẫn chi tiết liên quan đến việc tải chương trình, viết chương trình của riêng bạn và nghiên cứu logic của robot. Arduino có một cộng đồng lớn gồm những người làm việc trên tất cả các khía cạnh của bộ điều khiển, bất kỳ vấn đề nào bạn có thể gặp phải rất có thể đã được giải quyết.

Distance_Rev_D.ino

Distance_Rev_g_no_ir.ino

Bước 21: Hoàn thành Robot!

Hình ảnh của Robot đã hoàn thành!

Robot này sẽ cung cấp cho bạn một điểm khởi đầu tuyệt vời cho một số dự án robot. Bạn chỉ bị giới hạn bởi sự sáng tạo của bạn! Cảm ơn bạn đã đọc bài hướng dẫn này!

 

 

 

 

 

 

 

 

 

 

 

 

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Giỏ Hàng
  • No products in the cart.