Làm thế nào để chế tạo một robot lau sàn bằng cảm biến siêu âm?
Robot lau sàn tự động không phải là một khái niệm mới. Nhưng những robot này có một vấn đề lớn. Chúng rất đắt. Điều gì sẽ xảy ra nếu chúng ta có thể chế tạo ra một con robot lau sàn giá rẻ mà hiệu quả ngang với con robot hiện có trên thị trường. Robot này sẽ sử dụng một cảm biến siêu âm và sẽ tránh mọi chướng ngại vật trên đường đi của nó. Làm như vậy, nó sẽ làm sạch toàn bộ căn phòng.
Làm thế nào để sử dụng cảm biến siêu âm để làm một robot lau sàn tự động?
Như bây giờ chúng ta đã biết tóm tắt về dự án của mình. Hãy để chúng tôi thu thập thêm một số thông tin để bắt đầu làm việc.
Bước 1: Thu thập các thành phần
Cách tiếp cận tốt nhất để bắt đầu bất kỳ dự án nào là lập danh sách các thành phần hoàn chỉnh khi bắt đầu và thực hiện nghiên cứu ngắn gọn về từng thành phần. Điều này giúp chúng tôi tránh được những bất tiện khi ở giữa dự án. Dưới đây là danh sách đầy đủ của tất cả các thành phần được sử dụng trong dự án này.
Bước 2: Nghiên cứu các thành phần
Bây giờ khi chúng ta có một danh sách đầy đủ của tất cả các thành phần, chúng ta hãy đi trước một bước và nghiên cứu hoạt động của từng thành phần một cách ngắn gọn.
Arduino nano là một bảng vi điều khiển được sử dụng để điều khiển hoặc thực hiện các nhiệm vụ khác nhau trong một mạch. Chúng tôi đốt cháy một Mã C trên Arduino Nano để cho bảng vi điều khiển biết cách thức và những thao tác cần thực hiện. Arduino Nano có chức năng chính xác như Arduino Uno nhưng với kích thước khá nhỏ. Bộ vi điều khiển trên bảng Arduino Nano là ATmega328p.
L298N là mạch tích hợp dòng điện cao và điện áp cao. Nó là một cầu kép đầy đủ được thiết kế để chấp nhận logic TTL tiêu chuẩn. Nó có hai đầu vào cho phép thiết bị hoạt động độc lập. Hai động cơ có thể được kết nối và hoạt động cùng một lúc. Tốc độ của động cơ thay đổi thông qua các chân PWM.
Bảng HC-SR04 là một cảm biến siêu âm được sử dụng để xác định khoảng cách giữa hai đối tượng. Nó bao gồm một máy phát và một máy thu. Máy phát chuyển đổi tín hiệu điện thành tín hiệu siêu âm và máy thu chuyển đổi tín hiệu siêu âm trở lại tín hiệu điện. Khi máy phát gửi một sóng siêu âm, nó sẽ phản xạ lại sau khi va chạm với một vật thể nhất định. Khoảng cách được tính bằng cách sử dụng thời gian, tín hiệu siêu âm đó đi từ máy phát và quay trở lại máy thu.
Bước 3: Lắp ráp các thành phần
Như bây giờ chúng ta đã biết tất cả các thành phần hoạt động như thế nào, chúng ta hãy lắp ráp tất cả các thành phần và bắt đầu chế tạo một robot.
Lấy khung bánh xe ô tô và gắn một bàn chải hiển thị ở phía trước của chasses. Gắn Scotch Brite bên dưới robot. Hãy chắc chắn rằng nó nằm ngay sau bàn chải đánh giày. Bây giờ gắn một breadboard nhỏ trên đỉnh của chasses và phía sau nó, gắn trình điều khiển động cơ. Thực hiện các kết nối thích hợp của động cơ với trình điều khiển động cơ và kết nối cẩn thận các chân f của trình điều khiển động cơ với Arduino. Gắn pin phía sau khung xe. Pin sẽ cung cấp năng lượng cho Trình điều khiển động cơ, sẽ cung cấp năng lượng cho động cơ. Arduino cũng sẽ lấy năng lượng từ trình điều khiển Động cơ. Chân Vcc và nối đất của cảm biến siêu âm sẽ được kết nối với nguồn 5V và nối đất của Arduino.
Bước 4: Bắt đầu với Arduino
Nếu bạn chưa quen với Arduino IDE, đừng lo lắng vì quy trình từng bước để thiết lập và sử dụng Arduino IDE với bảng vi điều khiển được giải thích dưới đây.
- Tải xuống phiên bản Arduino IDE mới nhất từ Arduino.
- Kết nối bảng Arduino Nano với máy tính xách tay của bạn và mở bảng điều khiển. trong bảng điều khiển, nhấp vàoPhần cứng và Âm thanh. Bây giờ bấm vàoCác thiết bị và máy in.Tại đây, hãy tìm cổng mà bảng vi điều khiển của bạn được kết nối. Trong trường hợp của tôi, nó là COM14nhưng nó khác nhau trên các máy tính khác nhau.
- Nhấp vào menu Công cụ và đặt bảng thành Arduino Nano.
- Trong cùng một menu Công cụ, hãy đặt cổng thành số cổng mà bạn đã quan sát trước đó trong Các thiết bị và máy in.
- Trong cùng một menu Công cụ, Đặt Bộ xử lý thành ATmega328P (Bộ nạp khởi động cũ).
- Tải xuống mã được đính kèm bên dưới và dán nó vào IDE Arduino của bạn. Bấm vào tải lên để ghi mã trên bảng vi điều khiển của bạn.
Bấm vào đây để tải mã.
Bước 5: Tìm hiểu Quy tắc
Mã được nhận xét khá tốt và tự giải thích. Nhưng vẫn còn, nó được giải thích ngắn gọn dưới đây.
1. Khi bắt đầu, tất cả các chân của Arduino mà chúng ta sẽ sử dụng đều được khởi tạo.
int enable1pin = 8; // Ghim cho Motor đầu tiên int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Ghim cho Motor thứ hai int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Các chân cho Cảm biến siêu âm const int echoPin = 10; const int buzzPin = 6; thời gian dài; // Các biến cho khoảng cách float của Cảm biến siêu âm;
2. void setup ()là một chức năng trong đó chúng tôi đặt tất cả các chân được sử dụng như INPUT hoặc OUTPUT. Tốc độ Baud cũng được thiết lập trong chức năng này. Tốc độ truyền là tốc độ mà bo mạch vi điều khiển giao tiếp với các cảm biến được gắn vào.
void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }
3. void loop ()là một hàm chạy liên tục trong một vòng lặp. Trong vòng lặp này, chúng tôi đã cho bộ vi điều khiển biết khi nào cần di chuyển về phía trước nếu không tìm thấy chướng ngại vật nào trong 50cm. Robot sẽ rẽ phải khi tìm thấy chướng ngại vật.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); thời lượng = xungIn (echoPin, CAO); khoảng cách = 0,034 * (thời lượng / 2); if (distance> 50) // Di chuyển về phía trước nếu không tìm thấy chướng ngại vật {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, CAO); digitalWrite (motor2pin2, LOW); } else if (distance <50) // Ngoặt Phải nếu tìm thấy chướng ngại vật {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, LOW); digitalWrite (motor2pin2, LOW); } delay (300); // sự chậm trễ }
Bây giờ, như chúng ta đã thảo luận về mọi thứ bạn cần để tạo ra một robot lau sàn tự động, hãy tận hưởng việc chế tạo robot lau sàn hiệu quả và chi phí thấp của riêng bạn.