CHƯƠNG 3 : THIẾT KẾ THI CÔNG
3.6 Hoàn thiện sản phẩm
26
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Ưu điểm:
Đạt yêu cầu đặt ra: chạy đúng đường line định sẵn, thiết kế cơ khí cơ bản đảm bảo độ cứng vững.
4.2 Hạn chế:
Cảm biến dễ bị nhiễu, tốc độ xe nhanh, tại các điểm rẽ xe chạy chưa ổn định. Trong quá trình làm đồ án, gặp nhiều vấn đề thực tiển khác với lý thuyết đã học buộc nhóm phải tìm cách khắc phục nó, từ đó bổ sung nhiều phần hổng trong quá trình học tập. Hiểu rõ quá trình thiết kế, lập trình robot bám đường đơn giản.
4.3 Hướng phát triển:
Dựa vào cách hoạt động của robot dò line chúng ta có thể phát triển rộng hơn để tạo ra các loại robot khác phục vụ trong lĩnh vực của cuộc sống, giúp con người thực hiện những công việc phức tạp một cách đơn giản, nhẹ nhàng hơn.
27
TÀI LIỆU THAM KHẢO 1. Sách tham khảo
[1]TS.Trần Thu Hà,”Giáo trình điện tử cơ bản”, Đại học SPKT Tp.HCM,2013. [2]ThS Nguyễn Đình Phú, “Giáo trình vi xử lý”,NXB Đại Học Quốc Gia,2013. [3]Nguyễn Ngọc Bảo-Bùi Sỹ Nguyên,GPS và ứng dụng định vị giám sát”,Đồ Án Tốt Nghiệp ĐH, Trường ĐH Sư Phạm Kỹ Thuật,2010.
[4]Ngô Phương Nam-Lê Văn Tài,”Xe điều khiển bằng giọng nói và hổ trợ trẻ em học qua trò chơi điện thoại Android”, Đồ Án Tốt Nghiệp ĐH, Trường ĐH Sư Phạm Kỹ Thuật,2017.
2. Trang web tham khảo
Cộng đồng Arduino Việt Nam | Tôi yêu Việt Nam
https://www.youtube.com/watch?v=hdpzOZXCT6E http://arduino.vn/result/1306-robot-tranh-vat-can
Vi xử lý - Vi điều khiển (webdien.com) Thuật toán – Wikipedia tiếng Việt
28
PHỤ LỤC:CODE ARDUINO
#include <AFMotor.h> #define left A0
#define right A1
AF_DCMotor motor1(1, MOTOR12_1KHZ); AF_DCMotor motor2(2, MOTOR12_1KHZ); AF_DCMotor motor3(3, MOTOR34_1KHZ); AF_DCMotor motor4(4, MOTOR34_1KHZ); void setup() { pinMode(left,INPUT); pinMode(right,INPUT); Serial.begin(9600); } void loop(){ Serial.println(digitalRead(left)); Serial.println(digitalRead(right));
if(digitalRead(left)==0 && digitalRead(right)==0){ // Robot di chuyển tiến
motor1.run(FORWARD);
motor1.setSpeed(100); // tốc độ di chuyển của robot phạm vi từ 0 đến 255 motor2.run(FORWARD);
motor2.setSpeed(100);// tốc độ di chuyển của robot phạm vi từ 0 đến 255 motor3.run(FORWARD);
motor3.setSpeed(100);// tốc độ di chuyển của robot phạm vi từ 0 đến 255 motor4.run(FORWARD);
motor4.setSpeed(100);// tốc độ di chuyển của robot phạm vi từ 0 đến 255 }
//Robot so sánh tín hiệu 2 cảm biến
29 //rẽ trái motor1.run(FORWARD); motor1.setSpeed(100); motor2.run(FORWARD); motor2.setSpeed(100); motor3.run(BACKWARD); motor3.setSpeed(100); motor4.run(BACKWARD); motor4.setSpeed(100); }
//Robot so sánh tín hiệu 2 cảm biến
else if(!digitalRead(left)==0 && digitalRead(right)==0){ //rẽ phải motor1.run(BACKWARD); motor1.setSpeed(100); motor2.run(BACKWARD); motor2.setSpeed(100); motor3.run(FORWARD); motor3.setSpeed(100); motor4.run(FORWARD); motor4.setSpeed(100); }
//khi 2 cảm biến khơng có tín hiệu trả về
else if(!digitalRead(left)==0 && !digitalRead(right)==0){ //dừng lại motor1.run(RELEASE); motor1.setSpeed(0); motor2.run(RELEASE); motor2.setSpeed(0); motor3.run(RELEASE); motor3.setSpeed(0); motor4.run(RELEASE); motor4.setSpeed(0); } }