Điều khiển robor xe bằng blueroorh

14 41 0
Điều khiển robor xe bằng blueroorh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Dự án: Thiết kế xe robot bánh điều khiển điện thoại ( bluethooth) Mục tiêu: • Làm xe robot điều khiển điện thoại Phần mền cần chuẩn bị • • Cài đặt phần mềm arduino IDE Tải app điều khiển Robot CH play Link: https://play.google.com/store/apps/details?id=brau Phần cứng cần chuẩn bị: • • • • • board arduino uno nano, điện thoại sử dụng hệ điều hành andriod mạch điều khiển động L298N Dây test board module bluetooth HC05 HC06 • • • • • • • • dộng giảm tốc V1 màu vàng bánh xe robot 1m dây điện nhỏ công tắc on/off đế pin nối tiếp cho pin 3.7 VDC pin 3.7VDC ( Loại pin sạc : 18650 ) keo nến mica 3mm gỗ (rộng: 11cm, dài : 17cm) Lắp mạch nguyên lý: Arduino L298 HC05 GND GND ( ) GND 5V +5VDC VCC 10 IN4 11 IN3 12 IN1 13 IN2 Rx Tx Tx Rx Chú ý: nối dây RX mô-đun bluetooth với TX Arduino, nối dây TX mơđun bluetooth với RX Arduino, sau nối dây VCC mô-đun bluetooth với 5V Arduino Phương án nối dây có mặt hạn chế bước đầu sử dụng cho đơn giản code Lắp mơ hình: Bươc 1: Gắn bánh xe vào động Bươc 2: Dùng keo nến ( có định) đính động bánh xe vào khung mica gỗ Hai động phía ta nối dây chung với ( chạy song song ) Như mạch nguyên lý vẽ Bước 3: Ta nối công tắc với cực âm nguồn Bước 4: Ðính module L298N lên thân xe kết nối ( GND  GND nguồn ), ( +12V  + nguồn ) Nối dây động vào chân điều khiển động mạch L298N sơ đồ nguyên lý Bước 5: Ðính board arduino lên thân xe keo nến cấp nguồn +5V gnd từ module L298N sơ đồ nguyên lý Kết nối chân điều khiển từ board arduino tới module L298N Bước 6: Kết module bluetooth hc05 với board arduino Bước : Tải app điều khiển Robot CH play Link: https://play.google.com/store/apps/details?id=brau Bước 8: Biên dịch nạp code vào arduino Mã code: char blueReading; void setup() { pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); Serial.begin(9600); } void loop() { if (Serial.available()) { blueReading = Serial.read(); Serial.println(blueReading); } if (blueReading == 'F') { digitalWrite(13, HIGH); digitalWrite(11, HIGH); digitalWrite(12, LOW); digitalWrite(10, LOW); } else if (blueReading == 'B') { digitalWrite(12, HIGH); digitalWrite(10, HIGH); digitalWrite(13, LOW) ; digitalWrite(11, LOW); } else if (blueReading == 'I') { digitalWrite(11, HIGH); digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(10, LOW); } else if (blueReading == 'G') { digitalWrite(13, HIGH); } else if (blueReading == 'H') { digitalWrite(12, HIGH); digitalWrite(13, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); } else if (blueReading == 'J') { digitalWrite(10, HIGH); digitalWrite(13, LOW); digitalWrite(11, LOW); digitalWrite(12, LOW); } else if (blueReading == 'S') { digitalWrite(13, LOW); digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, LOW); } } Bổ trợ kiến thức SỬ DỤNG MẠCH CẦU H Mạch cầu H module thông dụng cần điều khiển tốc độ chiều quay động cơ, thường sử dụng xe tự hành tránh vật cản, hay robot Bài viết hướng dẫn bạn cách sử dụng mạch cầu H L298N để điều khiển động tốc độ chiều động Mục đích giúp bạn tự kết nối mạch cầu H với động cơ, làm ví dụ nho nhỏ đảo chiều điều chỉnh tốc độ động Giới thiệu mạch cầu H L298N Trên thị trường có nhiều loại mạch cầu H, nhiên loại thơng dụng thích hợp với board Arduino mạch cầu H L298N Loại mạch cầu H chịu dòng tối đa 2A, điện áp điều khiển từ 5V đến 35V, điều khiển động Hình bên module mạch cầu H L298 Module gồm có IC L298N, khối điều khiển động A, khối điều khiển động B, chân cấp nguồn, jump Khối điều khiển động A Khối có chân nhằm để kết nối với động A Khối điều khiển động B Khối có chân nhằm để kết nối với động Các chân cấp nguồn Chân cấp nguồn gồm chân, chân GND nối với nguồn âm chân +12V nối với nguồn dương acquy adapter 12V Chân +5V dùng cần sử lấy nguồn 5V từ mạch cầu H để dùng Thường chân sử dụng Các jump Có jump ENA ENB jump vị trí điều khiển động chạy 100% công suất, ENA dùng cho động A ENB dùng cho động B Ta rút jump kết nối ENA, ENB với chân băm xung Arduino Việc giúp người sử dụng điều khiển tốt độ động Các chân IN1, IN2, IN3, IN4 Các chân dùng để kết nối với chân Arduino nhằm điều khiển chiều động IN1, IN2 dùng cho động A IN3, IN4 dùng cho động B Việc điều khiển chiều động thực sau: Bảng Bảng điều khiển động A Chân Trạng thái Động A IN1 LOW Chiều thuận IN2 HIGH IN1 HIGH IN2 LOW IN1 LOW IN2 LOW Chiều nghịch Thắng động Bảng Bảng điều khiển động B Chân Trạng thái Động B IN3 LOW Chiều thuận IN4 HIGH IN3 HIGH IN4 LOW IN3 LOW IN4 LOW Chiều nghịch Thắng động Kết nối mạch cầu H với Arduino 10 Phần đưa ví dụ dùng module mạch cầu H L298N, thể hình 25, để điều khiển động có hộp giảm tốc, nguồn cấp pin 9V, acquy 12V Adapter 12V Về cách nối dây mạch nối sau: -ENA nối với chân 10 Arduino -IN1 nối với chân 11 -IN2 nối với chân 12 Người dùng thay đổi chân ý chân ENA nên nối với chân có dấu ~ (chân băm xung để điều chỉnh tốc độ động cơ) Về nguồn điện, người dùng sử dụng pin 9V nên dùng pin 9V cấp nguồn qua mạch cầu H cơng suất bị tiêu hao dẫn đến khơng đủ dịng cấp cho động chạy dùng pin 9V cũ Người dùng sử dụng bình acquy 12V adapter 12V cho ví dụ Phần đưa ví dụ đảo chiều, điều chỉnh tốc độ động dùng mạch cầu H Hình : Một ví dụ kết nối module mạch cầu H với Arduino 8.Mã code: Sau ví dụ dùng mạch cầu H để đảo chiều tốc độ động Để đảo chiều động DC (động điện chiều) ta cần đảo cực cấp nguồn cho động Để thay đổi tốc độ, ta thay đổi xung cấp cho ENA, Arduino sử dụng chip AVR 328, chip dòng bit, nên khả băm xung từ đến lũy thừa 8, tức 256, hay nói khác băm xung từ đến 255 (256 xung) Đây ví dụ cho điều khiển động cơ, module mạch cầu H điều khiển tối đa động cơ, động lại điều khiển tương tự //MƠT VÍ DU VỀ SỬ DUNG MẠCH CẦU H #define ENA 10 //Xác định ENA chân 10 #define IN1 11 // Xác định IN1 chân 11 11 #define IN2 12 // Xác định IN2 chân 12 void setup() { pinMode(ENA, OUTPUT);//Xác định kiểu chân ENA chân xuất tín hiệu (OUTPUT) pinMode(IN1, OUTPUT); // Xác định kiểu chân IN1 chân xuất tín hiệu (OUTPUT) pinMode(IN2, OUTPUT); // Xác định kiểu chân IN2 chân xuất tín hiệu (OUTPUT) } void loop() { //Ban đầu cho động thắng (phanh) lại digitalWrite(IN1, LOW); //Cho chân IN1 trạng thái LOW digitalWrite(IN2, LOW); //Cho chân IN2 trạng thái LOW analogWrite(ENA, 255); //Tốc độ 100% (255) delay(1000); //Chờ giây //Cho động chạy tới digitalWrite(IN1, HIGH); //Cho chân IN1 trạng thái HIGH digitalWrite(IN2, LOW); //Cho chân IN2 trạng thái LOW analogWrite(ENA, 120); //Tốc độ 120/255 delay(3000); //cho chạy giây (chờ giây) //Dừng lại để đảo chiều, không dừng lại mà đảo chiều được, lâu dài không tốt cho động digitalWrite(IN1, LOW); //Cho chân IN1 trạng thái LOW digitalWrite(IN2, LOW); //Cho chân IN2 trạng thái LOW analogWrite(ENA, 255); // Tốc độ 100% (255) delay(1000); //Chờ s //Cho động chạy lui, trạng thái IN1 IN2 phần chạy lui ngược với trạng thái chạy tới digitalWrite(IN1, LOW); //Cho chân IN1 trạng thái LOW digitalWrite(IN2, HIGH); //Cho chân IN2 trạng thái HIGH analogWrite(ENA, 255); //Chạy 100% tốc động (255 xung) delay(3000); //Chạy 3s (chờ 3s) 12 } Mời tham gia vào group ARDUINO IOT VIETNAM https://www.facebook.com/groups/486295328966960/ Để tham gia thành lập: Câu lạc người yêu thích robot 13 14 ... điện áp điều khiển từ 5V đến 35V, điều khiển động Hình bên module mạch cầu H L298 Module gồm có IC L298N, khối điều khiển động A, khối điều khiển động B, chân cấp nguồn, jump Khối điều khiển động... để kết nối với chân Arduino nhằm điều khiển chiều động IN1, IN2 dùng cho động A IN3, IN4 dùng cho động B Việc điều khiển chiều động thực sau: Bảng Bảng điều khiển động A Chân Trạng thái Động... hay nói khác băm xung từ đến 255 (256 xung) Đây ví dụ cho điều khiển động cơ, module mạch cầu H điều khiển tối đa động cơ, động lại điều khiển tương tự //MƠT VÍ DU VỀ SỬ DUNG MẠCH CẦU H #define

Ngày đăng: 21/11/2020, 16:43