Máy rửa tay tự động là sản phẩm thiết thực và hữu ích trong bối cảnh dịch CoViD đang diễn ra phức tạp. Máy rửa tay tự động giúp rửa tay, sát khuẩn để phòng chống bệnh tật do CoVid-19 gây ra.
Ưu điểm của máy rửa tay tự động có loa thông báo:
- Tự động xịt dung dịch rửa tay mà không cần tiếp xúc, giúp sự an toàn trách dịch cao hơn
- Báo có người đi vào cổng
- Có thông báo nhắc nhở nếu lỡ có khách quên không tự rửa tay hoặc lãng trí
Quá xịn xò phải không nào!
Chế máy rửa tay tự động có loa thông báo cũng khá đơn giản, chi phí cũng không quá đắt nhưng lại rất cần thiết và có nhiều ưu điểm, vậy sao ta không bắt tay vào làm ngay luôn!
Chuẩn bị
Nguyên liệu chuẩn bị để làm máy rửa tay thông minh, và lý do mình chọn các linh kiện này nhé:
1. Module tạo trễ 0-10000s JK11B: 1 cái, có công dụng tạo trễ khi bơm và ngăn máy bơm bơm nhiều lần nhiều một người cố tình để tay quá lâu.
2. Động cơ bơm 365 12VDC: 1 cái, dùng để bơm dung dịch
3. Cảm biến vật cản hồng ngoại E18-D80NK: 3 cái, 1 cái dùng cho động cơ bơm, 2 cái cho việc cảm biến ra và vào
4. Module phát âm thanh MP3 JQ6500: 1 cái, nó dùng để phát âm thanh thông báo và nhắc nhở
5. Loa 3W 4Ohm 50mm CYPM: 1 cái, kết hợp với module phát âm thanh
6. Mạch Giảm Áp DC LM2596: 1 cái, các linh kiện đều dùng nguồn 5V, nên cần chuyển điện áp xuống mức hợp lý
7. Pin 18650 3S 12.6V 2600mAh tích hợp mạch bảo vệ: 1 cái, nguồn này tùy bạn có thể thay đổi, mình dùng pin, kết hợp với mạch giảm áp để dùng di động máy rửa tay này
8. Arduino Nano V3.0 ATmega328P: 1 cái, dùng để điều khiển chương trình, điều khiển các cảm biến và loa hoạt động đúng nguyên lý
9. Biến trở xoay 100k hoặc 500k: 1 cái, để điều chỉnh thời gian bơm dung dịch
10. Công tắc 10x15mm: 1 cái
11. Jack DC 5.5 khóa ốc: 1 cái
12. Đầu béc phun sương ống 6mm: 1 cái
13. Ống nước 6/8: 1 mét
14. Ống dây máy bơm nước 8/10: 1 mét
Và 1 số phụ kiện khác như Mica để làm vỏ máy, dây điện, bình chứa…
Chi phí đầu tư linh kiện tầm 680k, chưa tính đồ linh tinh, bạn hoàn toàn có thể giảm chi phí nếu sử dụng các con cảm biến vật cản giá rẻ khác. Tất nhiên, chất lượng của sản phẩm như độ nhạy, độ chính xác, độ bền cũng có sự thay đổi theo.
Nguyên lý làm việc của máy rửa tay tự động có loa thông báo
Sơ đồ đấu nối:
Nguyên lý làm việc máy rửa tay tự động
Khi có khách đi vào sẽ có 2 trường hợp:
TH1: Khách tự xòe tay rửa thì cảm biến máy bơm hoạt động và dung dịch sẽ đc bơm
TH2: Khách đi thẳng không tự rửa tay, lúc này cảm biến vật cản hồng ngoại vào hoạt động và loa thông báo hoạt động, báo nhắc nhở khách rửa tay
Trong khi đó, nếu có khách đi vào tiếp thì phải xếp hàng mới vào, còn có khách trong nhà ra thì chào tạm biệt bình thường
Thực hành
Để làm máy rửa tay tự động có loa thông báo này, cần trải qua các giao đoạn sau:
Giai đoạn 1
Hàn động cơ bơm vào mạch giảm áp, mạch tạo trễ và nguồn
- 1 đầu nối với nguồn dương và công tắc
- 1 đầu nối với mạch tạo trễ
- Mạch tạo trễ được gắn 1 biến trở xoay, để ta có thể dễ dàng thay đổi thời gian bơm dung dịch
Giai đoạn 2
Hàn loa vào mạch thu phát âm thanh Mp3, được kết nối với Arduino Nano để điều khiển có dùng điện trở kéo
Giai đoạn 3
Nối 3 con cảm biến vật cản hồng ngoại với Nano như sơ đồ
Giai đoạn 4
Lắp ráp vào tấm mica để thành 1 sản phẩm hoàn chỉnh
Giao đoạn 5: Code điều khiển của máy rửa tay tự động
#include <Arduino.h>
#include <SoftwareSerial.h>
#include <JQ6500_Serial.h>
JQ6500_Serial mp3(4, 5);
const int cb1 = 6;
const int cb2 = 3;
//const int cb3 = 6;
const int cb4 = 7;
int sensor1Value = 0;
int sensor2Value = 0;
int sensor3Value = 0;
int giatri = 0, z = 0;
//chan 2 la chan kich may bom, chan 3 voi chan la chan cam bien cho viec thong bao
void tatled()
{
digitalWrite(cb4, LOW);
delay(500);
}
void setup() {
pinMode(cb1, INPUT_PULLUP);
pinMode(cb2, INPUT_PULLUP);
//pinMode(cb3, INPUT_PULLUP);
pinMode(cb4, OUTPUT);
mp3.begin(9600);
mp3.reset();
mp3.setVolume(30);
mp3.setLoopMode(MP3_LOOP_NONE);
digitalWrite(cb4, HIGH);
pinMode(2, INPUT_PULLUP); // sử dụng điện trở kéo lên cho chân số 2, ngắt 0
attachInterrupt(0, tatled, LOW);
Serial.begin(9600);
}
void loop() {
sensor1Value = digitalRead(cb1);
sensor2Value = digitalRead(cb2);
digitalWrite(cb4, HIGH);
if (sensor1Value == LOW && giatri == 0)
{
if (mp3.getStatus() != MP3_STATUS_PLAYING)
{
mp3.playFileByIndexNumber(1);
z = 1;
giatri = 1;
}
if (z == 1 && giatri == 1)
{
for (int i = 0; i < 6000; i++)
{
digitalWrite(cb4, HIGH);
delay(1);
}
}
sensor1Value == HIGH;
}
if (sensor2Value == LOW && giatri == 0)
{
if (mp3.getStatus() != MP3_STATUS_PLAYING)
{
mp3.playFileByIndexNumber(2);
}
giatri = 2;
sensor2Value == HIGH;
}
if (giatri != 0)
{
delay(500);
giatri = 0;
}
}
Các bạn nào chưa biết cách nạp chương trình và làm việc với Arduino thì có thể tham khảo bài viết này:
Tài liệu Arduino starter kit 2021
Sau khi nạp code xong thì ta đem ra test luôn cho nóng.
Thành quả
Vậy là xong! Chúc các bạn thành công nhá!