- Vật liệu cần thiết:
- Khái niệm làm việc của Robot chữa cháy:
- Sơ đồ mạch:
- Lập trình Arduino của bạn:
- Hoạt động của Robot chữa cháy:
Theo Cục Hồ sơ Tội phạm Quốc gia (NCRB), ước tính có hơn 1,2 vạn người chết vì tai nạn hỏa hoạn ở Ấn Độ từ năm 2010-2014. Mặc dù có rất nhiều biện pháp phòng ngừa đối với tai nạn Hỏa hoạn, nhưng những thảm họa tự nhiên / nhân tạo này thỉnh thoảng vẫn xảy ra. Trong trường hợp xảy ra cháy, để cứu người và dập lửa, chúng tôi buộc phải sử dụng nguồn nhân lực không đảm bảo an toàn. Với sự tiến bộ của công nghệ, đặc biệt là trong lĩnh vực Robot, rất có thể thay thế con người bằng robot để chữa cháy. Điều này sẽ cải thiện hiệu quả của các nhân viên cứu hỏa và cũng sẽ ngăn họ nguy hiểm đến tính mạng con người. Hôm nay chúng ta sẽ chế tạo Robot chữa cháy bằng Arduino, robot này sẽ tự động cảm nhận ngọn lửa và khởi động máy bơm nước
Trong dự án này, chúng ta sẽ học cách chế tạo một robot đơn giản bằng Arduino có thể di chuyển về phía đám cháy và bơm nước xung quanh nó để dập lửa. Nó là một robot rất đơn giản sẽ dạy chúng ta khái niệm cơ bản về robot; bạn sẽ có thể chế tạo các robot phức tạp hơn khi bạn hiểu những điều cơ bản sau. Vậy hãy bắt đầu…
Vật liệu cần thiết:
- Arduino UNO
- Cảm biến cháy hoặc cảm biến ngọn lửa (3 Nos)
- Động cơ Servo (SG90)
- Mô-đun điều khiển động cơ L293D
- Bơm chìm mini DC
- Breadboard nhỏ
- Khung robot với động cơ (2) và bánh xe (2) (bất kỳ loại nào)
- Một lon nhỏ
- Kết nối dây
Mua tất cả các thành phần cần thiết ở trên cho robot chữa cháy Arduino.
Khái niệm làm việc của Robot chữa cháy:
Bộ não chính của dự án này là Arduino, nhưng để cảm nhận được lửa, chúng tôi sử dụng mô-đun cảm biến Lửa (cảm biến ngọn lửa) được hiển thị bên dưới.
Như bạn có thể thấy, các cảm biến này có Bộ thu IR (Điốt quang) được sử dụng để phát hiện đám cháy. Sao có thể như thế được? Khi lửa cháy nó phát ra một lượng nhỏ ánh sáng hồng ngoại, ánh sáng này sẽ được bộ thu IR trên mô-đun cảm biến nhận. Sau đó, chúng tôi sử dụng một Op-Amp để kiểm tra sự thay đổi điện áp trên Bộ thu IR, để nếu phát hiện có cháy, chân đầu ra (DO) sẽ cung cấp cho 0V (THẤP) và nếu không cháy, chân đầu ra sẽ là 5V (CAO).
Vì vậy, chúng tôi đặt ba cảm biến như vậy ở ba hướng của robot để cảm nhận ngọn lửa đang cháy ở hướng nào.
Chúng tôi phát hiện hướng của đám cháy, chúng tôi có thể sử dụng động cơ để di chuyển đến gần đám cháy bằng cách điều khiển động cơ của chúng tôi thông qua mô-đun L293D. Khi gần cháy chúng ta phải dùng nước dập lửa. Sử dụng một thùng chứa nhỏ, chúng ta có thể mang nước, một máy bơm 5V cũng được đặt trong thùng chứa và toàn bộ thùng chứa được đặt trên động cơ servo để chúng ta có thể điều khiển hướng nước phun ra. Hãy tiếp tục với các kết nối ngay bây giờ
Sơ đồ mạch:
Sơ đồ mạch hoàn chỉnh cho Robot chữa cháy này được đưa ra dưới đây
Bạn có thể kết nối tất cả các kết nối được hiển thị để tải lên chương trình để kiểm tra hoạt động hoặc bạn có thể lắp ráp hoàn chỉnh bot và sau đó tiếp tục với các kết nối. Cả hai cách kết nối đều rất đơn giản và bạn có thể thực hiện đúng.
Dựa trên khung robot mà bạn đang sử dụng, bạn có thể không sử dụng được cùng loại thùng chứa mà tôi đang sử dụng. Trong trường hợp đó, hãy sử dụng sự sáng tạo của riêng bạn để thiết lập hệ thống bơm. Tuy nhiên mã sẽ vẫn như cũ. Tôi đã sử dụng một lon nhôm nhỏ (lon đồ uống mát) để đặt máy bơm bên trong nó và đổ nước vào bên trong nó. Sau đó, tôi lắp ráp toàn bộ lon lên trên một động cơ servo để điều khiển hướng nước. Robot của tôi trông giống như thế này sau khi lắp ráp.
Như bạn có thể thấy, tôi đã cố định vây servo vào đáy thùng chứa bằng keo dính và đã cố định động cơ servo với khung bằng đai ốc và bu lông. Chúng ta có thể chỉ cần đặt bình chứa lên trên mô tơ và kích hoạt máy bơm bên trong nó để bơm nước ra bên ngoài qua ống. Sau đó, toàn bộ thùng chứa có thể được xoay bằng cách sử dụng servo để điều khiển hướng của nước.
Lập trình Arduino của bạn:
Khi bạn đã sẵn sàng với phần cứng của mình, bạn có thể tải lên mã Arduino để thực hiện một số hành động. Các chương trình hoàn chỉnh được đưa ra ở cuối trang này. Tuy nhiên, tôi đã giải thích thêm một số bit và mảnh quan trọng ở đây.
Như chúng ta đã biết, cảm biến báo cháy sẽ xuất ra mức CAO khi có cháy và sẽ xuất ra mức THẤP khi có cháy. Vì vậy chúng ta phải tiếp tục kiểm tra các cảm biến này nếu có cháy xảy ra. Nếu không có lửa, chúng tôi yêu cầu các động cơ tiếp tục dừng bằng cách làm cho tất cả các chân cao như hình dưới đây
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Nếu không phát hiện cháy, tất cả các cảm biến đều bằng không {// Không di chuyển kỹ thuật số của rô bốt (LM1, HIGH); digitalWrite (LM2, CAO); digitalWrite (RM1, CAO); digitalWrite (RM2, CAO); }
Tương tự, nếu có bất kỳ đám cháy nào, chúng ta có thể yêu cầu robot di chuyển theo hướng đó bằng cách quay động cơ tương ứng. Khi nó tiếp cận đám cháy, cảm biến bên trái và bên phải sẽ không phát hiện ra đám cháy vì nó sẽ đứng thẳng phía trước đám cháy. Bây giờ chúng ta sử dụng biến có tên " fire " sẽ thực thi chức năng để dập lửa.
else if (digitalRead (Forward_S) == 0) // Nếu Fire đang tiến thẳng {// Di chuyển robot về phía trước digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, CAO); digitalWrite (RM2, LOW); lửa = true; }
Khi đám cháy biến trở thành sự thật, mã arduino của rô bốt chữa cháy sẽ thực thi hàm put_off_fire cho đến khi đám cháy được dập tắt. Điều này được thực hiện bằng cách sử dụng mã dưới đây.
while (fire == true) {put_off_fire (); }
Bên trong put_off_fire (), chúng ta chỉ cần dừng robot bằng cách đặt tất cả các chân lên cao. Sau đó, bật máy bơm để đẩy nước ra bên ngoài thùng chứa, trong khi thực hiện chúng ta cũng có thể sử dụng động cơ servo để quay thùng chứa sao cho nước được chia ra đồng nhất. Điều này được thực hiện bằng cách sử dụng mã bên dưới
void put_off_fire () {delay (500); digitalWrite (LM1, CAO); digitalWrite (LM2, CAO); digitalWrite (RM1, CAO); digitalWrite (RM2, CAO); digitalWrite (máy bơm, CAO); chậm trễ (500); for (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); chậm trễ (10); } for (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); chậm trễ (10); } digitalWrite (máy bơm, LOW); myservo.write (90); lửa = giả dối; }
Hoạt động của Robot chữa cháy:
Bạn nên kiểm tra đầu ra của robot theo từng bước thay vì chạy tất cả cùng nhau trong lần đầu tiên. Bạn có thể chế tạo rô bốt tối đa động cơ servo và kiểm tra xem nó có thể tiếp cận ngọn lửa thành công hay không. Sau đó, bạn có thể kiểm tra xem máy bơm và động cơ servo có hoạt động bình thường không. Sau khi mọi thứ hoạt động như mong đợi, bạn có thể chạy chương trình bên dưới và tận hưởng toàn bộ hoạt động của robot chữa cháy.
Hoạt động hoàn chỉnh của robot có thể được tìm thấy tại video dưới đây. Khoảng cách tối đa mà đám cháy có thể được phát hiện phụ thuộc vào kích thước của đám cháy, đối với một que diêm nhỏ thì khoảng cách tương đối ít hơn. Bạn cũng có thể sử dụng chiết áp trên đầu mô-đun để điều khiển độ nhạy của robot. Tôi đã sử dụng một ngân hàng điện để cung cấp năng lượng cho robot, bạn có thể sử dụng pin hoặc thậm chí cấp nguồn cho nó bằng pin 12V.
Hy vọng bạn đã hiểu dự án và sẽ thích xây dựng một cái gì đó tương tự. Nếu bạn gặp bất kỳ vấn đề nào trong việc tải bản dựng này, hãy sử dụng phần bình luận bên dưới để đăng các câu hỏi của bạn hoặc sử dụng diễn đàn để được trợ giúp kỹ thuật.
Hãy xem Phần Robot của chúng tôi để tìm thêm các Robot tự làm thú vị.