- Komponen yang diperlukan:
- Sensor Warna TCS3200 Berfungsi
- Pinout Sensor Warna TCS3200:
- Rajah Litar
- Penjelasan Kod
Dalam projek ini kita akan mengusahakan idea projek arduino yang inovatif, di mana kita dapat mengira nota mata wang kertas dan mengira jumlahnya, dengan merasakan mata wang kertas menggunakan Color Sensor dan Arduino. Sensor warna TCS230 akan digunakan untuk mengesan nota mata wang dan, Arduino UNO untuk memproses data dan menunjukkan baki pada LCD 16x2.
Komponen yang diperlukan:
- Arduino UNO
- Sensor warna TCS230
- Sensor IR
- Papan roti
- 16 * 2 LCD Alphanumerik
- Wayar Penyambung
Sensor Warna TCS3200 Berfungsi
Sensor warna TCS3200 digunakan untuk merasakan berbagai warna. Kami sebelumnya menghubungkan sensor warna TCS3200 dengan Arduino dan Raspberry pi, dan juga membina beberapa projek yang berguna seperti mesin penyusun warna.
Sensor TCS230 memiliki LED inframerah inbuilt yang digunakan untuk menerangi objek yang warnanya dapat dikesan. Ini memastikan bahawa tidak akan ada kesan cahaya luaran di sekeliling objek. Sensor ini membaca photodiode 8 * 8 array, yang terdiri daripada 16 photodiod dengan penapis merah, 16 dengan penapis biru, 16 dengan penapis hijau dan 16 fotodiod tanpa penapis. Setiap susunan sensor dalam ketiga susunan ini dipilih secara berasingan bergantung pada keperluannya. Oleh itu ia dikenali sebagai sensor yang dapat diprogramkan. Modul ini boleh dipaparkan untuk merasakan warna tertentu dan meninggalkan yang lain. Ia mengandungi penapis untuk tujuan pemilihan itu. Terdapat mod keempat yang disebut ' no filter mode' di mana sensor mengesan cahaya putih.
Isyarat output sensor warna TCS230 adalah gelombang persegi dengan kitaran tugas 50% dan frekuensi berkadaran dengan intensiti cahaya penapis yang dipilih.
Pinout Sensor Warna TCS3200:
VDD- Pin bekalan voltan Sensor. Ia dibekalkan dengan 5V DC.
GND- Pin rujukan tanah sensor warna
S0, S1- Input pemilihan penskalaan frekuensi output
S2, S3- Input pemilihan jenis foto-dioda
OUT- Pin output sensor warna
OE- Dayakan pin untuk frekuensi output
Kami juga telah menggunakan sensor IR dalam projek ini, yang berfungsi dapat dipahami oleh pautan berikut.
Rajah Litar
Berikut adalah rajah litar untuk Kaunter Wang Arduino:
Di sini, saya telah membuat struktur kecil seperti mesin pertukaran mata wang POS menggunakan kadbod. Dalam struktur ini, sensor warna dan sensor IR dipasang dengan kadbod seperti yang ditunjukkan pada gambar di bawah.
Di sini sensor IR digunakan untuk merasakan kehadiran mata wang di dalam slot dan jika ada catatan, maka sensor warna akan mengesan warna Nota dan mengirim nilai warna ke Arduino. Dan Arduino lebih jauh mengira nilai mata wang berdasarkan warna nota.
Penjelasan Kod
Kod lengkap bersama dengan video demo diberikan pada akhir artikel. Berikut penjelasan bertahap kod lengkap diberikan di bawah.
Pertama, sertakan semua perpustakaan dalam program. Di sini kita hanya memerlukan perpustakaan LCD untuk disertakan dalam program ini. Kemudian nyatakan semua pemboleh ubah yang digunakan dalam kod.
#sertakan
Di dalam persediaan (), cetak mesej selamat datang di LCD dan tentukan semua arah data pin digital yang digunakan dalam projek ini. Seterusnya, tetapkan penskalaan frekuensi output sensor warna, dalam kes saya, ia ditetapkan menjadi 20% yang dapat diatur dengan memberikan denyut TINGGI ke S0 dan denyut RENDAH ke S1.
persediaan tidak sah () {Serial.begin (9600); lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Smart Wallet"); lcd.setCursor (0, 1); lcd.print ("Circuit Digest"); kelewatan (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, TINGGI); digitalWrite (3, RENDAH); }
Di dalam gelung tak terhingga (), baca semua output data dari sensor. Output dari sensor IR dapat dijumpai dengan membaca pin A0 dan frekuensi warna output dapat dijumpai dengan memanggil fungsi individu yang ditulis sebagai merah (), biru () dan hijau (). Kemudian cetak semuanya pada monitor Serial. Ini diperlukan apabila kita perlu menambahkan mata wang baru untuk projek kita.
sensor int = digitalRead (A0); int red1 = merah (); int blue1 = biru (); int green1 = hijau (); Serial.println (red1); Serial.println (blue1); Serial.println (hijau1); Serial.println ("-----------------------------");
Seterusnya, tulis semua syarat untuk memeriksa frekuensi output sensor warna dengan frekuensi rujukan yang telah kita tetapkan sebelumnya. Sekiranya ia sepadan, tolak jumlah yang ditentukan dari baki dompet.
jika (red1> = 20 && red1 <= 25 && blue1> = 30 && blue1 <= 35 && green1> = 30 && green1 <= 35 && a == 0 && sensor == TINGGI) {a = 1; } lain jika (sensor == RENDAH && a == 1) {a = 0; jika (jumlah> = 10) {lcd.setCursor (0, 1); lcd.print ("10 Rupee !!!"); jumlah = jumlah-10; kelewatan (1500); lcd.clear (); }}
Di sini kami hanya menetapkan syarat untuk warna Nota 10 Rupee dan 50 Rupee, anda boleh menetapkan lebih banyak syarat untuk mengesan lebih banyak no. wang kertas.
Catatan: Keluaran frekuensi mungkin berbeza dalam kes anda bergantung pada pencahayaan luaran dan pemasangan sensor. Oleh itu, disarankan untuk memeriksa frekuensi output mata wang anda dan menetapkan nilai rujukan dengan sewajarnya.
Kod di bawah akan menunjukkan baki yang ada di dompet pada LCD 16x2.
lcd.setCursor (0, 0); lcd.print ("Jumlah Bal:"); lcd.setCursor (11, 0); lcd.print (jumlah); kelewatan (1000);
Fungsi berikut akan mendapatkan frekuensi warna keluaran kandungan merah dalam mata wang. Begitu juga, kita dapat menulis fungsi lain untuk mendapatkan nilai kandungan warna biru dan hijau.
int merah () {digitalWrite (11, RENDAH); digitalWrite (12, RENDAH); frekuensi = pulseIn (OutPut, RENDAH); kekerapan pulangan; }
Jadi ini adalah bagaimana kaunter Wang berasaskan Arduino dapat dibina dengan mudah menggunakan beberapa komponen. Kami dapat mengubahnya lebih jauh dengan mengintegrasikan beberapa pemprosesan gambar dan kamera untuk mengesan mata wang menggunakan gambar, dengan cara itu akan lebih tepat dan akan dapat mengesan mata wang apa pun.