Điều khiển Robot bằng Bluetooth sử dụng Arduino

0
212
Sơ đồ mạch của Robot điều khiển bằng Bluetooth

Điều khiển Robot bằng Bluetooth sử dụng Arduino : Trong phần này, tôi sẽ chỉ cho bạn cách thiết kế và phát triển một Robot điều khiển bằng Bluetooth sử dụng Arduino, HC-05 Bluetooth Module và L298N Motor Driver Module. Ở đầu bên kia của Giao tiếp Bluetooth, tôi sẽ sử dụng Điện thoại thông minh và một Ứng dụng Android đơn giản để điều khiển Xe rô-bốt.

Dieu-khien-Robot-bang-Bluetooth-su-dung-Arduino Điều khiển Robot bằng Bluetooth sử dụng Arduino

Giới thiệu

Robot luôn là một chủ đề ưa thích đối với sinh viên, những người yêu thích và tự làm. Nếu bạn là người mới bắt đầu, thì việc chế tạo một robot (như một chiếc xe hơi hoặc một cánh tay) có lẽ là một trong những dự án quan trọng cần làm sau khi tìm hiểu về những điều cơ bản.  

Nếu bạn nhớ hướng dẫn trước đó, tôi đã thảo luận về Mô-đun Bluetooth HC-05 và cách giao diện một mô-đun với Arduino. Ngoài ra, tôi đã cung cấp một Ứng dụng Bộ điều khiển Bluetooth đơn giản, có thể được cài đặt trên Điện thoại Android của bạn và bắt đầu truyền dữ liệu.

Để tiếp tục dự án đó, tôi sẽ triển khai Robot điều khiển bằng Bluetooth bằng Arduino và một số thành phần khác và xây dựng một chiếc xe robot đơn giản có thể được điều khiển bằng Điện thoại Android (thông qua Ứng dụng) qua Giao tiếp Bluetooth.

Điều kiện tiên quyết cho Robot điều khiển Bluetooth

Ngoài Arduino, là mô-đun điều khiển chính của dự án, có hai mô-đun quan trọng khác mà bạn phải làm quen để thực hiện dự án Robot điều khiển bằng Bluetooth.

Chúng là Mô-đun Bluetooth HC-05 và Mô-đun trình điều khiển động cơ L298N.

Mô-đun Bluetooth HC-05

Mo-dun-Bluetooth-HC-05 Điều khiển Robot bằng Bluetooth sử dụng Arduino

Mô-đun Bluetooth HC-05 chịu trách nhiệm cho phép Giao tiếp Bluetooth giữa Arduino và Điện thoại Android.

Mô-đun điều khiển động cơ L298N

Mo-dun-dieu-khien-dong-co-L298N Điều khiển Robot bằng Bluetooth sử dụng Arduino

Mô-đun điều khiển động cơ L298N chịu trách nhiệm cung cấp dòng điện truyền động cần thiết cho các động cơ của ô tô robot. Tôi đã cung cấp thông tin về Mô-đun L298N trong một dự án trước đó có tên Điều khiển động cơ DC Arduino sử dụng L298N.

LƯU Ý: Tôi thực sự khuyên bạn nên tham khảo hai dự án nêu trên trước khi tiếp tục.

Sơ đồ mạch của Robot điều khiển bằng Bluetooth

Sau đây là sơ đồ mạch của Robot điều khiển bằng Bluetooth sử dụng Arduino, L298N và HC-05.

Linh kiện bắt buộc

  • Arduino UNO [ Mua tại đây ]
  • Mô-đun điều khiển động cơ L298N [ Mua tại đây ]
  • Mô-đun Bluetooth HC-05  
  • Khung gầm robot  
  • Động cơ giảm tốc 4 x 5V  
  • Kết nối dây  
  • Giá đỡ pin
  • Nguồn cấp 
  • Điện thoại Android 
  • Ứng dụng điều khiển Bluetooth 

So-do-mach-cua-Robot-dieu-khien-bang-Bluetooth Điều khiển Robot bằng Bluetooth sử dụng Arduino

LƯU Ý: Tôi đã sử dụng Mô-đun điều khiển động cơ L298N để điều khiển động cơ của rô bốt. Bạn có thể sử dụng cái này hoặc Mô-đun trình điều khiển động cơ L293D. Nếu bạn đang sử dụng L293D, hãy kiểm tra các kết nối.

Thiết kế mạch

Tôi sẽ không đi sâu vào chi tiết cấu tạo rô bốt vì khung rô bốt của bạn có thể khác với khung của tôi và bạn có thể dễ dàng tìm ra cách chế tạo rô bốt từ các bộ phận có sẵn và cách quản lý dây cáp có thể để làm cho rô bốt hấp dẫn hơn.

Đến với thiết kế của mạch, đầu tiên là Module Bluetooth HC-05. Các chân + 5V và GND của Mô-đun Bluetooth được kết nối với + 5V và GND của Arduino.

Vì tôi sẽ chỉ truyền dữ liệu liên quan đến chuyển động của Robot từ Điện thoại Android sang Mô-đun Bluetooth và không có ý định nhận bất kỳ dữ liệu nào từ Arduino, tôi sẽ chỉ kết nối chân TX của Mô-đun Bluetooth với Chân RX của Arduino.

Chân RX này của Arduino dựa trên thư viện SoftwareSerial (Chân 2 và Chân 3 được cấu hình là RX và TX trên Arduino). Chân RX của Bluetooth được để mở.

Thiet-ke-mach Điều khiển Robot bằng Bluetooth sử dụng Arduino

Bây giờ, Mô-đun trình điều khiển động cơ L298N. Các chân I / O kỹ thuật số 9 đến 12 của Arduino được định cấu hình làm chân Đầu vào của Trình điều khiển động cơ và được kết nối với IN1 đến IN4 của Mô-đun trình điều khiển động cơ L298N. Cả hai Chân kích hoạt được kết nối với 5V thông qua jumper được cung cấp.

Khung rô-bốt mà tôi đang sử dụng trong dự án Ôtô rô-bốt điều khiển bằng Bluetooth này được cung cấp với 4 động cơ giảm tốc. Vì L298N chỉ có các khe cắm cho hai động cơ, nên tôi đã nối các động cơ bên trái thành một bộ và động cơ bên phải làm bộ khác và kết nối cả hai bộ này với đầu ra của Mô-đun L298N.

Code

Dưới đây là mã Arduino cho dự án Robot điều khiển bằng Bluetooth.

#include<SoftwareSerial.h>

#define IN1 12
#define IN2 11
#define IN3 10
#define IN4 9
//#define EN1 6
//#define EN2 5

SoftwareSerial mySerial(2, 3); // RX, TX

String data;
int btVal;

void setup()
{
//Serial.begin(115200);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
//pinMode(EN1, OUTPUT);
//pinMode(EN2, OUTPUT);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
//analogWrite(EN1,63);
//analogWrite(EN2,63);
mySerial.begin(9600);
}

void loop()
{
while (mySerial.available())
{
{
data = mySerial.readStringUntil(‘\n’);
//Serial.print(str);
}

btVal = (data.toInt());
//Serial.print(“BlueTooth Value “);
//Serial.println(btVal);

switch (btVal)
{
case 1:
//Serial.println(“Forward”);
forward();
break;

case 2:
//Serial.println(“Reverse”);
reverse();
break;

case 3:
//Serial.println(“Left”);
left();
break;

case 4:
//Serial.println(“Right”);
right();
break;

case 5:
//Serial.println(“Stop”);
stoprobot();
break;

}

}

if (mySerial.available() < 0)
{
//Serial.println(“No Bluetooth Data “);
}

}

void forward()
{
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

void reverse()
{
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}

void left()
{
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

void right()
{
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}

void stoprobot()
{
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}

Ứng dụng Android

Nếu bạn còn nhớ hướng dẫn về Mô-đun Bluetooth HC-05, tôi đã sử dụng một ứng dụng đơn giản có tên Bộ điều khiển Bluetooth, được cài đặt trên Điện thoại Android để giao tiếp với Mô-đun Bluetooth.

Trong dự án này, tôi đã sử dụng cùng một ứng dụng với các sửa đổi trong dữ liệu được truyền.

app-dien-thoai Điều khiển Robot bằng Bluetooth sử dụng Arduino

Mã Arduino đã cho ở trên được viết để đồng bộ hóa với dữ liệu được định cấu hình trong Ứng dụng Bộ điều khiển Bluetooth.

LƯU Ý: Liên kết để tải xuống Ứng dụng Bộ điều khiển Bluetooth được cung cấp trong hướng dẫn Mô-đun Bluetooth HC-05. Để tải xuống ứng dụng, vui lòng tham khảo hướng dẫn đó.

Đang làm việc

Lắp ráp robot, tạo các kết nối cần thiết và tải mã lên Arduino. Nếu bạn đã hiểu hướng dẫn Mô-đun Bluetooth HC-05, thì việc hiểu dự án Robot điều khiển bằng Bluetooth là rất dễ dàng.

Đầu tiên, trong ứng dụng Android, tôi đã sử dụng 5 phím là Tiến, Đảo ngược, Trái, Phải và Dừng. Dữ liệu tương ứng được liên kết với mỗi khóa như sau:

  • Chuyển tiếp – 1
  • Đảo ngược – 2
  • Trái – 3
  • Phải – 4
  • Dừng lại – 5

Khi nhấn một phím, dữ liệu tương ứng sẽ được truyền đến Mô-đun Bluetooth từ Điện thoại qua Giao tiếp Bluetooth.

Trong mã Arduino, Arduino UNO nhận bất kỳ dữ liệu nào trong số này từ Mô-đun Bluetooth (theo phím được nhấn) và thực hiện một hoạt động trường hợp chuyển đổi đơn giản, trong đó mỗi trường hợp được liên kết với các hướng dẫn thích hợp cho các Chân đầu vào của trình điều khiển động cơ.

Ví dụ: nếu phím ‘Chuyển tiếp’ được nhấn trong Điện thoại Android, thì phím ‘1’ sẽ được truyền. Arduino sau đó sẽ làm cho IN1 và IN3 là CAO và IN2 và IN4 là THẤP để đạt được chuyển động về phía trước.

Tương tự, các phím khác tương ứng với cài đặt thích hợp của chân IN1 – IN4.

Hạn chế

  • Vì phạm vi của Giao tiếp Bluetooth bị hạn chế (ví dụ: tối đa là 10 mét đối với thiết bị loại 2) nên phạm vi điều khiển của Robot điều khiển bằng Bluetooth cũng bị hạn chế.
  • Đảm bảo cung cấp đủ năng lượng cho tất cả các mô-đun, đặc biệt là Mô-đun Bluetooth. Nếu nguồn điện không đủ, ngay cả khi Mô-đun Bluetooth bật nguồn, nó không thể truyền dữ liệu hoặc không thể ghép nối với các thiết bị Bluetooth khác.

Các ứng dụng

  • Thiết bị giám sát di động tầm thấp
  • Ứng dụng quân sự (không có sự can thiệp của con người)
  • Thiết bị trợ giúp (như xe lăn)
  • Tự động hóa nhà

LEAVE A REPLY

Please enter your comment!
Please enter your name here