- Mga Kinakailangan na Bahagi:
- Gumagana ang TCS3200 Color Sensor
- Pinout ng TCS3200 Color Sensor:
- Diagram ng Circuit
- Paliwanag sa Code
Sa proyektong ito magsusumikap kami sa isang makabagong ideya ng proyekto ng arduino, kung saan mabibilang namin ang mga tala ng papel na pera at makalkula ang kanilang halaga, sa pamamagitan ng pagdama ng perang papel gamit ang Color Sensor at Arduino. Gagamitin ang sensor ng kulay ng TCS230 para sa pagtuklas ng mga tala ng pera at, Arduino UNO para sa pagproseso ng data at pagpapakita ng natitirang balanse sa 16x2 LCD.
Mga Kinakailangan na Bahagi:
- Arduino UNO
- TCS230 Kulay sensor
- IR sensor
- Breadboard
- 16 * 2 Alphanumeric LCD
- Mga Koneksyon sa Mga Wires
Gumagana ang TCS3200 Color Sensor
Ang sensor ng kulay ng TCS3200 ay ginagamit upang maunawaan ang isang malawak na hanay ng mga kulay. Dati ay nag-interface kami ng sensor ng kulay ng TCS3200 kasama ang Arduino at Raspberry pi, at nagtayo din ng ilang mga kapaki-pakinabang na proyekto tulad ng makina ng pag-uuri ng Kulay.
Ang sensor ng TCS230 ay may naka-built na infrared LEDs na ginagamit upang magaan ang bagay na ang kulay ay makikita. Tinitiyak nito na walang mga epekto ng panlabas na nakapaligid na ilaw sa bagay. Binabasa ng sensor na ito ang isang photodiode na 8 * 8 array, na binubuo ng 16 na photodiode na may mga pulang filter, 16 na may asul na mga filter, 16 na may berdeng mga filter at 16 na mga photodiode nang walang anumang filter. Ang bawat isa sa mga arrays ng sensor sa tatlong arrays na ito ay pinili nang magkahiwalay depende sa kinakailangan. Samakatuwid ito ay kilala bilang isang programmable sensor. Maaaring maitampok ang modyul upang maunawaan ang partikular na kulay at iwanan ang iba. Naglalaman ito ng mga filter para sa layuning iyon ng pagpili. Mayroong ikaapat na mode na tinatawag na ' walang filter mode' kung saan nakita ng sensor ang puting ilaw.
Ang signal ng output ng sensor ng kulay ng TCS230 ay isang square wave na may 50% duty cycle at ang dalas nito ay proporsyonal sa light intensity ng napiling filter.
Pinout ng TCS3200 Color Sensor:
VDD- Boltahe na supply pin ng Sensor. Ito ay ibinibigay ng 5V DC.
GND- Ground pin na sanggunian ng isang sensor ng kulay
S0, S1- Mga input ng pagpili ng sukat sa sukat ng output
S2, S3- Mga input ng pagpili ng uri ng Photo-diode
OUT- Pin ng output ng isang sensor ng kulay
OE- Paganahin ang pin para sa dalas ng output
Gumamit din kami ng isang IR sensor sa proyektong ito, na ang pagtatrabaho ay maaaring maunawaan ng sumusunod na link.
Diagram ng Circuit
Nasa ibaba ang circuit diagram para sa Arduino Money Counter:
Dito, gumawa ako ng isang maliit na istraktura tulad ng isang POS currency swiping machine na gumagamit ng mga karton. Sa istrakturang ito, ang isang sensor ng kulay at isang IR sensor ay naayos sa karton na tulad ng ipinakita sa imahe sa ibaba.
Dito ginagamit ang IR sensor upang maunawaan ang pagkakaroon ng pera sa loob ng puwang at kung mayroong isang tala, kung gayon ang kulay ng sensor ay makakakita ng kulay ng Tandaan at ipadala ang halaga ng kulay sa Arduino. At kinakalkula pa ng Arduino ang halaga ng pera batay sa kulay ng tala.
Paliwanag sa Code
Ang kumpletong code kasama ang isang demo na video ay ibinibigay sa pagtatapos ng artikulo. Narito ang hakbang na paliwanag ng kumpletong code ay ibinibigay sa ibaba.
Una, isama ang lahat ng mga aklatan sa programa. Dito kailanganin lamang namin ang LCD library upang maisama sa programa. Pagkatapos ay ideklara ang lahat ng mga variable na ginamit sa code.
# isama
Sa loob ng pag- setup (), i- print ang maligayang mensahe sa LCD at tukuyin ang lahat ng mga direksyon ng data ng mga digital na pin na ginamit sa proyektong ito. Susunod, itakda ang sukat ng sukat ng output ng sensor ng kulay, sa aking kaso, nakatakda ito sa 20% na maaaring maitakda sa pamamagitan ng pagbibigay ng TAAS na pulso sa S0 at LOW pulse sa S1.
void setup () {Serial.begin (9600); lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Smart Wallet"); lcd.setCursor (0, 1); lcd.print ("Circuit Digest"); pagkaantala (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, TAAS); digitalWrite (3, LOW); }
Sa loob ng walang katapusang loop (), basahin ang lahat ng mga output ng data mula sa mga sensor. Ang output mula sa IR sensor ay matatagpuan sa pamamagitan ng pagbabasa ng A0 pin at mga frequency frequency ng kulay na matatagpuan sa pamamagitan ng pagtawag sa mga indibidwal na pagpapaandar na nakasulat bilang pula (), asul () at berde (). Pagkatapos i-print ang lahat ng mga ito sa Serial monitor. Kailangan ito kapag kailangan naming magdagdag ng isang bagong pera sa aming proyekto.
int sensor = digitalRead (A0); int red1 = pula (); int blue1 = asul (); int green1 = berde (); Serial.println (red1); Serial.println (blue1); Serial.println (berde1); Serial.println ("----------------------------");
Susunod, isulat ang lahat ng mga kundisyon upang suriin ang dalas ng output ng color sensor na may dalas ng sanggunian na itinakda namin dati. Kung tumutugma ito, pagkatapos ay ibabawas ang tinukoy na halaga mula sa balanse ng wallet.
kung (red1> = 20 && red1 <= 25 && blue1> = 30 && blue1 <= 35 && green1> = 30 && green1 <= 35 && a == 0 && sensor == TAAS) {a = 1; } iba pa kung (sensor == LOW && a == 1) {a = 0; kung (kabuuan> = 10) {lcd.setCursor (0, 1); lcd.print ("10 Rupees !!!"); kabuuan = total-10; pagkaantala (1500); lcd.clear (); }}
Dito lamang namin itinakda ang mga kundisyon para sa 10 Rupees at 50 Rupees Note na kulay, maaari kang magtakda ng higit pang mga kundisyon upang makita ang higit pa hindi. ng mga tala ng pera.
Tandaan: Ang output output ng dalas ay maaaring magkakaiba sa iyong kaso depende sa panlabas na pag-iilaw at pag-setup ng sensor. Kaya inirerekumenda na suriin ang dalas ng output ng iyong pera at itakda ang halaga ng sanggunian nang naaayon.
Ipapakita ng code sa ibaba ang magagamit na balanse sa pitaka sa 16x2 LCD.
lcd.setCursor (0, 0); lcd.print ("Kabuuang Bal:"); lcd.setCursor (11, 0); lcd.print (kabuuang); pagkaantala (1000);
Ang sumusunod na pag-andar ay makakakuha ng dalas ng kulay ng output ng pulang nilalaman sa pera. Katulad nito, maaari kaming magsulat ng iba pang mga pagpapaandar upang makakuha ng halaga para sa mga nilalaman ng asul at berde na kulay.
int red () {digitalWrite (11, LOW); digitalWrite (12, LOW); dalas = pulseIn (OutPut, LOW); dalas ng pagbalik; }
Kaya't ito ay kung paano ang isang Arduino based Money counter ay maaaring mabuo nang madali gamit ang ilang mga bahagi. Maaari pa naming baguhin ito sa pamamagitan ng pagsasama ng ilang pagproseso ng imahe at camera upang makita ang pera gamit ang imahe, sa ganoong paraan mas tumpak ito at makakakita ng anumang pera.