- Các thành phần bắt buộc:
- Cảm biến màu TCS3200 hoạt động
- Sơ đồ chân của cảm biến màu TCS3200:
- Sơ đồ mạch
- Giải thích mã
Trong dự án này, chúng tôi sẽ thực hiện một ý tưởng dự án arduino sáng tạo, nơi chúng tôi có thể đếm các ghi chú tiền giấy và tính toán số tiền của chúng, bằng cách cảm nhận tiền giấy bằng Cảm biến màu và Arduino. Cảm biến màu TCS230 sẽ được sử dụng để phát hiện các ghi chú tiền tệ và Arduino UNO để xử lý dữ liệu và hiển thị số dư còn lại trên màn hình LCD 16x2.
Các thành phần bắt buộc:
- Arduino UNO
- Cảm biến màu TCS230
- Cảm biến hồng ngoại
- Breadboard
- 16 * 2 LCD chữ và số
- Kết nối dây
Cảm biến màu TCS3200 hoạt động
Cảm biến màu TCS3200 được sử dụng để cảm nhận nhiều màu sắc. Trước đây, chúng tôi đã giao tiếp cảm biến màu TCS3200 với Arduino và Raspberry pi, đồng thời cũng xây dựng một số dự án hữu ích như Máy phân loại màu.
Cảm biến TCS230 có đèn LED hồng ngoại tích hợp được sử dụng để phát sáng đối tượng có màu sắc được phát hiện. Điều này đảm bảo rằng sẽ không có tác động của ánh sáng xung quanh bên ngoài đối với vật thể. Cảm biến này đọc một điốt quang của dãy 8 * 8, bao gồm 16 điốt quang có bộ lọc màu đỏ, 16 điốt có bộ lọc màu xanh lam, 16 có bộ lọc màu xanh lá cây và 16 điốt quang không có bộ lọc nào. Mỗi mảng cảm biến trong ba mảng này được chọn riêng biệt tùy thuộc vào yêu cầu. Do đó nó được gọi là cảm biến có thể lập trình. Mô-đun có thể được đặc trưng để cảm nhận màu cụ thể và để lại các màu khác. Nó chứa các bộ lọc cho mục đích lựa chọn đó. Có một chế độ thứ tư được gọi là 'chế độ không có bộ lọc', trong đó cảm biến phát hiện ánh sáng trắng.
Tín hiệu đầu ra của cảm biến màu TCS230 là sóng vuông với chu kỳ làm việc 50% và tần số của nó tỷ lệ với cường độ ánh sáng của bộ lọc đã chọn.
Sơ đồ chân của cảm biến màu TCS3200:
VDD- Chân cấp điện áp của Cảm biến. Nó được cung cấp với 5V DC.
GND- Chân tham chiếu nối đất của cảm biến màu
S0, S1- Đầu vào lựa chọn tỷ lệ tần số đầu ra
S2, S3- Đầu vào lựa chọn loại diode ảnh
OUT- Chân đầu ra của cảm biến màu
OE- Kích hoạt pin cho tần số đầu ra
Chúng tôi cũng đã sử dụng một cảm biến IR trong dự án này, có thể hiểu được hoạt động của nó theo liên kết sau.
Sơ đồ mạch
Dưới đây là sơ đồ mạch cho Máy đếm tiền Arduino:
Ở đây, tôi đã tạo ra một cấu trúc nhỏ như một máy quẹt tiền tệ POS sử dụng bìa cứng. Trong cấu trúc này, một cảm biến màu và một cảm biến hồng ngoại được cố định bằng bìa cứng như trong hình dưới đây.
Ở đây, cảm biến IR được sử dụng để cảm nhận sự hiện diện của tiền tệ bên trong khe và nếu có ghi chú, thì cảm biến màu sẽ phát hiện màu của ghi chú và gửi giá trị màu đến Arduino. Và Arduino còn tính toán thêm giá trị tiền tệ dựa trên màu sắc của ghi chú.
Giải thích mã
Toàn bộ mã cùng với một video demo được đưa ra ở cuối bài viết. Dưới đây là giải thích từng bước về mã hoàn chỉnh được đưa ra bên dưới.
Đầu tiên, bao gồm tất cả các thư viện trong chương trình. Ở đây chúng ta chỉ cần thư viện LCD được đưa vào chương trình. Sau đó khai báo tất cả các biến được sử dụng trong mã.
#include
Bên trong setup (), in thông báo chào mừng trên màn hình LCD và xác định tất cả các hướng dữ liệu của các chân kỹ thuật số được sử dụng trong dự án này. Tiếp theo, đặt tỷ lệ tần số đầu ra của cảm biến màu, trong trường hợp của tôi, nó được đặt thành 20% có thể được đặt bằng cách cho xung CAO cho S0 và xung THẤP cho S1.
void setup () {Serial.begin (9600); lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Ví thông minh"); lcd.setCursor (0, 1); lcd.print ("Thông báo Mạch"); chậm trễ (2000); lcd.clear (); pinMode (2, OUTPUT); // S0 pinMode (3, OUTPUT); // S1 pinMode (11, OUTPUT); // S2 pinMode (12, OUTPUT); // S3 pinMode (13, INPUT); // OUT digitalWrite (2, CAO); digitalWrite (3, LOW); }
Bên trong vòng lặp vô hạn (), đọc tất cả dữ liệu đầu ra từ các cảm biến. Đầu ra từ cảm biến IR có thể được tìm thấy bằng cách đọc chân A0 và tần số màu đầu ra có thể được tìm thấy bằng cách gọi các hàm riêng lẻ được viết là red (), blue () và green (). Sau đó in tất cả chúng trên màn hình nối tiếp. Điều này là cần thiết khi chúng ta cần thêm đơn vị tiền tệ mới vào dự án của mình.
int sensor = digitalRead (A0); int red1 = red (); int blue1 = blue (); int green1 = green (); Serial.println (red1); Serial.println (blue1); Serial.println (green1); Serial.println ("-----------------------------");
Tiếp theo, viết tất cả các điều kiện để kiểm tra tần số đầu ra của cảm biến màu với tần số tham chiếu mà chúng ta đã thiết lập trước đó. Nếu nó khớp, sau đó trừ số tiền được chỉ định khỏi số dư ví.
if (red1> = 20 && red1 <= 25 && blue1> = 30 && blue1 <= 35 && green1> = 30 && green1 <= 35 && a == 0 && sensor == HIGH) {a = 1; } else if (sensor == LOW && a == 1) {a = 0; if (tổng> = 10) {lcd.setCursor (0, 1); lcd.print ("10 Rupee !!!"); tổng = tổng-10; chậm trễ (1500); lcd.clear (); }}
Ở đây chúng tôi chỉ đặt điều kiện cho màu Note 10 Rupee và 50 Rupee, bạn có thể đặt thêm điều kiện để phát hiện thêm không. của tiền tệ.
Lưu ý: Đầu ra tần số có thể khác trong trường hợp của bạn tùy thuộc vào ánh sáng bên ngoài và thiết lập cảm biến. Vì vậy, bạn nên kiểm tra tần suất đầu ra của đơn vị tiền tệ của mình và đặt giá trị tham chiếu cho phù hợp.
Đoạn mã dưới đây sẽ hiển thị số dư có sẵn trong ví trên màn hình LCD 16x2.
lcd.setCursor (0, 0); lcd.print ("Tổng số Bal:"); lcd.setCursor (11, 0); lcd.print (tổng số); chậm trễ (1000);
Hàm sau sẽ lấy tần số màu đầu ra của nội dung màu đỏ trong đơn vị tiền tệ. Tương tự, chúng ta có thể viết các hàm khác để lấy giá trị cho nội dung màu xanh lam và xanh lục.
int red () {digitalWrite (11, LOW); digitalWrite (12, THẤP); tần số = xungIn (OutPut, LOW); tần số trở lại; }
Vì vậy, đây là cách một máy đếm tiền dựa trên Arduino có thể được xây dựng dễ dàng bằng cách sử dụng ít thành phần. Chúng tôi có thể sửa đổi thêm bằng cách tích hợp một số xử lý hình ảnh và máy ảnh để phát hiện tiền tệ bằng hình ảnh, theo cách đó sẽ chính xác hơn và có thể phát hiện bất kỳ loại tiền nào.