- Các thành phần bắt buộc
- Tạo cấu trúc cho Arduino Coin Sorter
- Sơ đồ mạch
- Lập trình Arduino
- Hoạt động của máy đếm tiền Arduino
Trước đây, chúng tôi đã chế tạo máy đếm tiền giấy dựa trên Arduino sử dụng cảm biến màu. Bây giờ trong dự án này, chúng tôi đang xây dựng một máy đếm Arduino sử dụng cảm biến IR. Máy này đếm và phân loại các đồng xu theo các phần khác nhau với sự hỗ trợ của cảm biến hồng ngoại. Ở đây, một sự sắp xếp được thực hiện trong đó các cảm biến IR được đặt để cảm nhận các đồng tiền khác nhau và Arduino UNO được sử dụng để xử lý dữ liệu và hiển thị tổng giá trị đếm trên màn hình LCD 16x2.
Các thành phần bắt buộc
- Arduino UNO
- Cảm biến hồng ngoại
- Breadboard
- 16 * 2 LCD chữ và số
- Mô-đun I2C cho màn hình LCD chữ và số 16x2 (1602)
- Kết nối dây
Tạo cấu trúc cho Arduino Coin Sorter
Bước 1: Lấy một tấm bìa cứng và đánh dấu các kích cỡ đồng xu khác nhau như trong hình bên dưới. Sau đó cẩn thận cắt các phần đã đánh dấu. Việc cắt các phần này phải được thực hiện chính xác; nếu không, dự án có thể không hoạt động hoàn hảo.
Bước 2: Đặt sự sắp xếp trên theo cấu trúc mái dốc như hình bên dưới. Sau khi thực hiện sắp xếp, hãy kiểm tra bằng cách đặt các đồng xu khác nhau trên độ dốc để đảm bảo rằng việc sắp xếp hoạt động hoàn hảo. Nếu đồng xu không được chèn đúng cách, sau đó tăng một chút kích thước của lỗ theo đồng xu và kiểm tra lại cho đến khi hoạt động thành công.
Bước 3: Đặt các cảm biến IR gần đường ra của từng đồng tiền lẻ. Điều rất quan trọng là phải đặt chính xác các cảm biến và hiệu chỉnh chúng bằng chiết áp của chúng. Sau đó, một lần nữa đưa các đồng xu vào để kiểm tra hoạt động của cảm biến. Tìm hiểu thêm về mạch cảm biến IR tại đây.
Sơ đồ mạch
Dưới đây là Sơ đồ mạch cho máy đếm Arduino:
Tại đây, các cảm biến IR được đặt tại các đường dẫn đầu ra khác nhau của máy phân loại tiền xu để cảm nhận các đồng xu. Khi một đồng xu được đưa vào bộ đếm tiền xu Arduino này, nó sẽ đi vào đường dẫn dành riêng theo thiết kế cơ học và cảm biến IR tương ứng sẽ cảm nhận được đồng xu và cung cấp giá trị đầu ra CAO cho Arduino có thể được đọc bằng các chân tương tự của Arduino. Cảm biến IR đang cho giá trị CAO, quyết định giá trị đồng xu như Rupee 2/5/10.
Ở đây, một màn hình LCD chữ và số 16x2 được giao tiếp với Arduino bằng cách sử dụng mô-đun I2C, để hiển thị số lượng đồng xu được đưa vào hộp. Màn hình LCD này cũng có thể được kết nối trực tiếp với Arduino mà không cần sử dụng mô-đun I2C, nhưng điều này đòi hỏi nhiều kết nối hơn. Vì vậy, để đơn giản hơn, một mô-đun I2C được sử dụng cùng với LCD, chỉ sử dụng 2 chân, tức là SCL, SDA để kết nối LCD với Arduino. Để cấp nguồn cho Arduino, bộ chuyển đổi AC-DC 12VDC, 1 AMP được sử dụng, có thể được kết nối trực tiếp với giắc cắm nguồn của Arduino.
Sau một chút chỉnh sửa, thiết lập hoàn chỉnh cho Máy phân loại tiền dựa trên Arduino sẽ giống như dưới đây:
Lập trình Arduino
Sau khi kết nối phần cứng thành công, bây giờ là lúc lập trình Arduino. Mã hoàn chỉnh cho Arduino được đưa ra ở phần dưới cùng của hướng dẫn này. Giải thích từng bước của mã được đưa ra dưới đây:
Điều đầu tiên cần làm trong chương trình là bao gồm tất cả các thư viện cần thiết. Ở đây trong trường hợp của tôi, tôi đã bao gồm thư viện “LiquidCrystal_I2C.h” để sử dụng giao diện I2C của màn hình LCD và “ Wire.h ” để sử dụng chức năng I2C trên Arduino.
#include
Bên trong setup (), các lệnh LCD được viết để hiển thị thông báo chào mừng trên LCD.
lcd.init (); LCD đèn nền(); lcd.setCursor (0,0); lcd.print ("ARDUINO DỰA"); lcd.setCursor (0,1); lcd.print ("SẮP XẾP TIỀN"); chậm trễ (2000); lcd.clear ();
Bên trong loop (), hàm analogRead được sử dụng để đọc các giá trị của cảm biến hồng ngoại, từ các kênh Analog khác nhau của Arduino và lưu trữ chúng trong các biến khác nhau.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
Sau đó, đoạn mã dưới đây được viết để cảm nhận số xu và tăng giá trị bộ đếm xu. Ở đây, giá trị cờ f1 được sử dụng để tránh đếm nhiều đồng tiền.
if (s1> = 200 && f1 == 0) {f1 = 1; } else if (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
Cuối cùng, các giá trị đếm được hiển thị trên màn hình LCD, sử dụng các lệnh bên dưới.
lcd.setCursor (0,0); lcd.print ("RS10 RS2 RS5"); lcd.setCursor (1,1); lcd.print (c1); lcd.setCursor (7,1); lcd.print (c2); lcd.setCursor (14,1); lcd.print (c3);
Hoạt động của máy đếm tiền Arduino
Sau khi hoàn tất thiết lập và tải mã lên, hãy BẬT nguồn điện 12V DC. Đầu tiên, một thông báo chào mừng sẽ được hiển thị trên màn hình LCD và sau vài giây, một màn hình với số lượng của tất cả các loại tiền có sẵn sẽ được hiển thị trên màn hình LCD. Lúc đầu, nó sẽ hiển thị số 0 vì chúng tôi chưa chèn bất kỳ đồng xu nào.
Tiếp theo, chèn bất kỳ đồng xu nào (Rs. 2/5/10) vào đầu máy có ghi “ Insert Coin ”. Bây giờ bạn sẽ thấy giá trị của số lượng xu phải được cập nhật trên màn hình LCD. Sau đó, Chèn nhiều đồng tiền có giá trị khác nhau và kiểm tra số lượng tiền tương ứng trên màn hình LCD.
Mã hoàn chỉnh cùng với một Video được đưa ra bên dưới.