- Nödvändiga komponenter:
- TCS3200 färgsensor fungerar
- Pinout of TCS3200 Color Sensor:
- Kretsschema
- Kodförklaring
I det här projektet ska vi arbeta med en innovativ arduino-projektidé, där vi kan räkna pappersvalutan och beräkna beloppet genom att känna av pappersvalutan med hjälp av Color Sensor och Arduino. TCS230-färgsensorn kommer att användas för att upptäcka valutasedlar och, Arduino UNO för att bearbeta data och visa återstående saldo på 16x2 LCD.
Nödvändiga komponenter:
- Arduino UNO
- TCS230 Färgsensor
- IR-sensor
- Bakbord
- 16 * 2 Alfanumerisk LCD
- Anslutande ledningar
TCS3200 färgsensor fungerar
TCS3200-färgsensorn används för att känna ett brett spektrum av färger. Vi kopplade tidigare TCS3200-färgsensorn med Arduino och Raspberry pi och byggde också några användbara projekt som färgsorteringsmaskin.
TCS230-sensorn har inbyggda infraröda lysdioder som används för att tända objektet vars färg ska detekteras. Detta säkerställer att det inte påverkas av yttre omgivande ljus på objektet. Den här sensorn läser en fotodiod av 8 * 8-array, som består av 16 fotodioder med röda filter, 16 med blå filter, 16 med gröna filter och 16 fotodioder utan filter. Var och en av sensoruppsättningarna i dessa tre matriser väljs separat beroende på behovet. Därför är det känt som en programmerbar sensor. Modulen kan presenteras för att känna av den specifika färgen och för att lämna de andra. Den innehåller filter för det urvalsändamålet. Det finns ett fjärde läge som kallas " inget filterläge" där sensorn upptäcker vitt ljus.
Utgångssignalen från TCS230-färggivaren är en fyrkantig våg med en 50% arbetscykel och dess frekvens är proportionell mot ljusintensiteten för det valda filtret.
Pinout of TCS3200 Color Sensor:
VDD- Spänningsmatningsstift på sensorn. Den levereras med 5V DC.
GND- Markreferensstift på en färgsensor
S0, S1- Ingångar för val av skalningsfrekvensskalning
S2, S3 - Ingångar för val av fotodiodtyp
OUT- Utgångsstift på en färgsensor
OE- Aktivera stift för utgångsfrekvens
Vi har också använt en IR-sensor i detta projekt, vars arbete kan förstås av följande länk.
Kretsschema
Nedan är kretsschemat för Arduino Money Counter:
Här har jag gjort en liten struktur som en POS-valutaswipmaskin med kartong. I denna struktur är en färgsensor och en IR-sensor fixerade med kartongen som visas i bilden nedan.
Här används IR-sensorn för att känna av närvaron av valuta inuti kortplatsen och om det finns en anteckning kommer färgsensorn att upptäcka färgen på anteckningen och skicka färgvärdet till Arduino. Och Arduino beräknar vidare valutavärdet baserat på sedelens färg.
Kodförklaring
Komplett kod tillsammans med en demo-video ges i slutet av artikeln. Här ges den stegvisa förklaringen av den fullständiga koden nedan.
Först, inkludera alla bibliotek i programmet. Här behöver vi bara LCD-biblioteket för att ingå i programmet. Förklara sedan alla variabler som används i koden.
#omfatta
Inuti installationen (), skriv ut välkomstmeddelandet på LCD och definiera alla datariktningar för digitala stift som används i detta projekt. Ställ sedan in utgångsfrekvensskalningen för färgsensorn, i mitt fall är den inställd på 20% som kan ställas in genom att ge HÖG puls till S0 och LÅG puls till S1.
ogiltig installation () {Serial.begin (9600); lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Smart Wallet"); lcd.setCursor (0, 1); lcd.print ("Circuit Digest"); fördröjning (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, HIGH); digitalWrite (3, LOW); }
Inuti oändlig slinga (), läs alla datautgångarna från sensorerna. Utgången från IR-sensorn kan hittas genom att läsa A0-stiftet och utgångsfärgfrekvenser kan hittas genom att kalla de enskilda funktionerna skrivna som röda (), blå () och gröna (). Skriv sedan ut dem alla på den seriella bildskärmen. Detta behövs när vi behöver lägga till en ny valuta i vårt projekt.
int sensor = digitalRead (A0); int röd1 = röd (); int blue1 = blå (); int grön1 = grön (); Serial.println (röd1); Serial.println (blå1); Serial.println (grön1); Serial.println ("-----------------------------");
Skriv sedan alla villkor för att kontrollera utgångsfrekvensen för färgsensorn med den referensfrekvens som vi har ställt in tidigare. Om det matchar drar du det angivna beloppet från plånbokssaldot.
om (röd1> = 20 && röd1 <= 25 && blå1> = 30 && blå1 <= 35 && grön1> = 30 && grön1 <= 35 && a == 0 && sensor == HÖG) {a = 1; } annars om (sensor == LOW && a == 1) {a = 0; if (total> = 10) {lcd.setCursor (0, 1); lcd.print ("10 Rupees !!!"); totalt = totalt-10; fördröjning (1500); lcd.clear (); }}
Här har vi bara ställt in villkoren för 10 rupier och 50 rupier Observera färg, du kan ställa in fler villkor för att upptäcka mer nr. av sedlar.
Obs! Frekvensutgången kan vara annorlunda i ditt fall beroende på extern belysning och sensorinställning. Så det rekommenderas att kontrollera utgångsfrekvensen för din valuta och ställa in referensvärdet därefter.
Koden nedan visar det tillgängliga saldot i plånboken på 16x2 LCD.
lcd.setCursor (0, 0); lcd.print ("Total Bal:"); lcd.setCursor (11, 0); lcd.print (totalt); fördröjning (1000);
Följande funktion får utgångsfärgfrekvensen för rött innehåll i valutan. På samma sätt kan vi skriva andra funktioner för att få värde för blå och grön färginnehåll.
int red () {digitalWrite (11, LOW); digitalWrite (12, LOW); frekvens = pulseIn (OutPut, LOW); returfrekvens; }
Så detta är hur en Arduino-baserad Money-räknare enkelt kan byggas med få komponenter. Vi kan ytterligare modifiera det genom att integrera lite bildbehandling och kamera för att upptäcka valutan med hjälp av bilden, på det sättet blir det mer exakt och kommer att kunna upptäcka valutor.