.jpg)
Máy bán hàng tự động sử dụng Arduino
Hãy cùng học cách chế tạo máy bán chất lỏng tự động nhé.
Máy bán chất lỏng tự động này sử dụng hệ thống Nhận dạng tần số vô tuyến (RFID). Nó có thể phân phối một lượng chất lỏng được cài đặt trước bằng cách vuốt thẻ RFID qua đầu đọc RFID. Nó sử dụng màn hình LCD hiển thị các chữ cái và số để chỉ ra thao tác và hướng dẫn để người dùng tuân theo khi phân phối chất lỏng. Máy này có thể được sử dụng trong các tổ chức như bệnh viện và trường cao đẳng (y tế, kỹ thuật, v.v.) để cung cấp dịch vụ 24 giờ cho khách hàng mà không cần bất kỳ sự can thiệp nào của con người.
Ý tưởng của dự án này có thể hữu ích cho những người đam mê và nhà thiết kế để thiết kế các thiết bị cơ khí bền bỉ tiếp theo của họ. Bài viết DIY này giải thích về lập trình và kết nối mạch dựa trên nguyên mẫu hoạt động mà không cần sử dụng các bộ phận cấu trúc cơ khí. Các thành phần chính cần thiết trong dự án này được liệt kê trong bảng. Sơ đồ khối của máy bán chất lỏng dựa trên Arduino được hiển thị trong Hình 1.

Hình 1: Sơ đồ khối của máy bán chất lỏng tự động sử dụng Arduino.
Mạch và hoạt động
Sơ đồ mạch của máy bán chất lỏng tự động dựa trên Arduino được thể hiện ở Hình 2. Dự án này bao gồm một cảm biến lưu lượng tương tự, thẻ RFID, đầu đọc RFID, màn hình LCD 16×2, solenoid Arduino Uno, rơ le kênh đơn và nguồn điện 12V DC.

Hình 2: Sơ đồ mạch của máy bán chất lỏng tự động.
Cảm biến lưu lượng nước tương tự
Cảm biến này đo lưu lượng chất lỏng. Nó có hai lỗ, một cho đầu vào và một cho đầu ra. Cảm biến hoạt động theo nguyên lý của hiệu ứng Hall. Hiệu ứng Hall được sử dụng trong lưu lượng kế bằng cách sử dụng một cánh quạt nhỏ/rôto hình quạt đặt trong đường dẫn dòng chảy của chất lỏng.
Có 3 dây: dây đỏ để cung cấp điện áp, dây đen để nối đất và dây vàng để thu thập đầu ra từ cảm biến hiệu ứng Hall. Điện áp cung cấp có thể nằm trong khoảng từ 5V đến 18V DC.
Đầu đọc RFID
Mô-đun RFID EM-18 (xem Hình 3) được sử dụng để đọc thẻ RFID bằng cách giải mã chúng và gửi tín hiệu đến Arduino thông qua giao thức truyền thông nối tiếp.

Hình 3: Đầu đọc RFID EM-18
Màn hình LCD
Màn hình LCD (tinh thể lỏng) 16×2 hiển thị thông tin nhận được từ bo mạch Arduino.
điện từ
Một solenoid 12V được sử dụng để kiểm soát dòng chảy của chất lỏng. Khi solenoid được cấp điện, nó sẽ mở van và cho phép chất lỏng chảy qua cảm biến lưu lượng. Nếu không, solenoid sẽ đóng và không cho phép chất lỏng chảy qua. Van solenoid được sử dụng trong dự án này được thể hiện trong Hình 4.

Hình 4: Van điện từ
Trong dự án này, Arduino là bộ não điều khiển toàn bộ quá trình. Một cảm biến lưu lượng tương tự được kết nối với bo mạch Arduino được hiển thị trong Hình 5.

Hình 5: Cảm biến lưu lượng tương tự được kết nối với Arduino.
Khi chất lỏng chảy qua cảm biến lưu lượng, chất lỏng đẩy vào các cánh quạt, khiến rôto quay. Trục rôto được kết nối với cảm biến hiệu ứng Hall, là một sự sắp xếp của các cuộn dây lưu lượng và nam châm được kết nối với trục rôto, do đó, điện áp/xung được tạo ra khi rôto quay. Trong lưu lượng kế này, với mỗi lít chất lỏng đi qua cảm biến mỗi phút, đồng hồ sẽ phát ra khoảng 4,5 xung.
Chân ra của cảm biến lưu lượng này được kết nối với chân số 2 của Arduino. Khi chất lỏng chảy, các xung ra được đếm bởi bộ vi điều khiển trong Arduino.
Tổng số xung nhận được được chuyển đổi sang các đơn vị cụ thể, chẳng hạn như mililit mỗi giây hoặc lít mỗi phút, do từ trường thay đổi được tạo ra bởi nam châm gắn vào trục rôto. Lưu lượng tính bằng lít mỗi phút (L/phút) được tính bằng công thức chuyển đổi đơn giản.
Chân Tx của đầu đọc EM-18 được kết nối với chân Rx của Arduino. Khi thẻ RFID di chuyển qua đầu đọc EM-18, nó sẽ gửi dữ liệu đến Arduino. Nếu thẻ khớp với dữ liệu đã lập trình, thẻ sẽ gửi tín hiệu đến đầu vào của trình điều khiển rơle, bao gồm bóng bán dẫn BC547 (T1). Tín hiệu đầu vào này khiến bóng bán dẫn dẫn điện. Rơle RL1 được cấp điện, sau đó kết nối nguồn điện 12V với solenoid thông qua chân NO của rơle và solenoid được cấp điện. Đồng thời, thông báo “Đặt nồi/mug/cup của bạn” xuất hiện trên dòng đầu tiên của LCD1.
Cấp nguồn cho solenoid cho phép chất lỏng chảy qua cảm biến lưu lượng. Khi chất lỏng bắt đầu chảy qua cảm biến lưu lượng, lượng chất lỏng được phân phối sẽ được hiển thị trên dòng thứ hai của LCD1.
Khi chất lỏng đi qua cảm biến lưu lượng với một lượng được cài đặt trước (được lập trình trong mã), rơle sẽ tự động ngắt nguồn và dòng chất lỏng sẽ dừng lại. Đồng thời, thông báo “Remove pot/jug/cup” sẽ xuất hiện trên dòng đầu tiên của LCD1.
Nếu bạn muốn có cùng lượng chất lỏng một lần nữa, chỉ cần quẹt thẻ RFID qua đầu đọc RFID một lần nữa. Bạn có thể lặp lại quy trình này cho đến khi hết bình chứa.
phần mềm
Mã phần mềm (liquid_vending.ino) được viết bằng ngôn ngữ lập trình Arduino. Sử dụng Arduino IDE để biên dịch và tải bản phác thảo lên vi điều khiển ATmega328 của bo mạch Arduino. Mỗi thẻ RFID có một số duy nhất. Số này phải được chỉ định trong mã/bản phác thảo Arduino.
Mã Arduino sử dụng tệp tiêu đề LiquidCrystal.h cho LCD và giao tiếp nối tiếp để đọc dữ liệu từ đầu đọc RFID. Hai hàm tích hợp được sử dụng: Serial.available() để trả về số thẻ RFID được truyền vào bộ đệm nối tiếp và Serial.readString() để đọc một chuỗi số thẻ RFID.
Trong mã/phác thảo này, chúng tôi sử dụng biến 'int amount=1000' sẽ cung cấp cho bạn lượng chất lỏng ban đầu là 1000 ml hoặc 1 lít cho mỗi lần quẹt thẻ. Chỉ cần thay đổi giá trị lượng theo yêu cầu của bạn.
Tải xuống thư mục gốc: Nhấp vào đây
Xây dựng và thử nghiệm
- Kết nối tất cả các thành phần và mô-đun theo sơ đồ.
- Kết nối nguồn điện 12V từ bộ chuyển đổi 12V hoặc pin 12V vào chân Vin của Arduino, trình điều khiển rơle và vào chân NO của rơle.
- Kết nối chân chung của rơle với ống dây điện từ như minh họa trong sơ đồ mạch.
- Kiểm tra lượng chất lỏng mặc định trong mã để phân phối mỗi phút.
- Quẹt thẻ RFID qua đầu đọc EM-18. Nếu thẻ RFID khớp với ID thẻ RFID đã lập trình, rơ le và solenoid sẽ hoạt động. Nước từ nguồn (vòi) sẽ chảy qua cảm biến lưu lượng.
- Bạn sẽ nhận được mọi thông tin liên quan về LCD1 như đã mô tả.
Đảm bảo có đủ chất lỏng trong nguồn nước (ví dụ: vòi hoặc bình chứa). Nếu nguồn nước có ít chất lỏng hơn, áp suất dòng chảy của chất lỏng trong đường ống sẽ thấp hơn, dẫn đến phép đo lưu lượng chất lỏng không chính xác.