- Nødvendige komponenter:
- TCS3200 fargesensor fungerer
- Pinout av TCS3200 fargesensor:
- Kretsdiagram
- Kode Forklaring
I dette prosjektet skal vi jobbe med en nyskapende arduino-prosjektidee, hvor vi kan telle papirvalutasedlene og beregne beløpet ved å registrere papirvalutaen ved hjelp av Color Sensor og Arduino. TCS230 fargesensor vil bli brukt til å oppdage valutasedlene og, Arduino UNO for å behandle dataene og vise gjenværende saldo på 16x2 LCD.
Nødvendige komponenter:
- Arduino UNO
- TCS230 Fargesensor
- IR-sensor
- Brettbrett
- 16 * 2 Alfanumerisk LCD
- Koble ledninger
TCS3200 fargesensor fungerer
TCS3200 fargesensoren brukes til å fornemme et bredt spekter av farger. Vi grensesnittet tidligere TCS3200 fargesensor med Arduino og Raspberry pi, og bygde også noen nyttige prosjekter som fargesorteringsmaskin.
TCS230-sensoren har innebygde infrarøde lysdioder som brukes til å lyse opp objektet hvis farge skal oppdages. Dette sikrer at det ikke blir noen innvirkning på eksternt omgivende lys på objektet. Denne sensoren leser en fotodiode på 8 * 8-array, som består av 16 fotodioder med røde filtre, 16 med blå filtre, 16 med grønne filtre og 16 fotodioder uten filter. Hver av sensorarrayene i disse tre gruppene velges separat avhengig av kravet. Derfor er det kjent som en programmerbar sensor. Modulen kan presenteres for å føle den spesielle fargen og for å forlate de andre. Den inneholder filtre for det valgte formålet. Det er en fjerde modus kalt ' no filter mode' der sensoren oppdager hvitt lys.
Utgangssignalet til TCS230 fargesensoren er en firkantbølge med en 50% driftssyklus og frekvensen er proporsjonal med lysintensiteten til det valgte filteret.
Pinout av TCS3200 fargesensor:
VDD- Spenningsforsyningsstift på sensoren. Den leveres med 5V DC.
GND- Jordreferansepinne til en fargesensor
S0, S1- Utgangsfrekvens skalering valg innganger
S2, S3- Inngang for valg av fotodiode
OUT- Utgangsstift på en fargesensor
OE- Aktiver pin for utgangsfrekvens
Vi har også brukt en IR-sensor i dette prosjektet, hvis arbeid kan forstås av følgende lenke.
Kretsdiagram
Nedenfor er kretsskjemaet for Arduino Money Counter:
Her har jeg laget en liten struktur som en POS valutasveipemaskin ved hjelp av papp. I denne strukturen er en fargesensor og en IR-sensor festet med papp som vist på bildet nedenfor.
Her brukes IR-sensoren til å registrere tilstedeværelsen av valuta inne i sporet, og hvis det er et notat, vil fargesensoren oppdage fargen på notatet og sende fargeverdien til Arduino. Og Arduino beregner videre valutaverdien basert på fargen på notatet.
Kode Forklaring
Komplett kode sammen med en demovideo er gitt på slutten av artikkelen. Her er den trinnvise forklaringen av den komplette koden gitt nedenfor.
Først må du ta med alle bibliotekene i programmet. Her trenger vi bare LCD-biblioteket for å være inkludert i programmet. Deretter erklærer du alle variablene som brukes i koden.
#inkludere
Inne i oppsett (), skriv ut velkomstmeldingen på LCD og definer alle dataretningene til digitale pinner som brukes i dette prosjektet. Deretter setter du utgangsfrekvensskalering av fargesensoren, i mitt tilfelle er den satt til 20% som kan stilles ved å gi HØY puls til S0 og LAV puls til S1.
ugyldig oppsett () {Serial.begin (9600); lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Smart Wallet"); lcd.setCursor (0, 1); lcd.print ("Circuit Digest"); forsinkelse (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, HØY); digitalWrite (3, LAV); }
Inne i uendelig løkke (), les alle datautgangene fra sensorene. Utgangen fra IR-sensoren kan bli funnet ved å lese A0-pinnen, og utgangsfargefrekvenser kan bli funnet ved å kalle de enkelte funksjonene som er skrevet som rød (), blå () og grønn (). Skriv deretter ut alle på seriell skjerm. Dette er nødvendig når vi trenger å legge til en ny valuta i prosjektet vårt.
int sensor = digitalRead (A0); int rød1 = rød (); int blue1 = blå (); int grønn1 = grønn (); Serial.println (rød1); Serial.println (blå1); Serial.println (grønn1); Serial.println ("-----------------------------");
Deretter skriver du alle forholdene for å sjekke utgangsfrekvensen til fargesensoren med referansefrekvensen vi har angitt før. Hvis det samsvarer, trekker du det angitte beløpet fra lommebokens saldo.
hvis (rød1> = 20 && rød1 <= 25 && blå1> = 30 && blå1 <= 35 && grønn1> = 30 && grønn1 <= 35 && a == 0 && sensor == HØY) {a = 1; } annet hvis (sensor == LAV && a == 1) {a = 0; hvis (total> = 10) {lcd.setCursor (0, 1); lcd.print ("10 Rupees !!!"); total = total-10; forsinkelse (1500); lcd.clear (); }}
Her har vi bare satt vilkårene for 10 Rupees og 50 Rupees Merk farge, du kan sette flere betingelser for å oppdage mer nei. av valutasedler.
Merk: Frekvensutgangen kan være forskjellig i ditt tilfelle, avhengig av ekstern belysning og sensoroppsett. Så det anbefales å sjekke utgangsfrekvensen til valutaen din og angi referanseverdien deretter.
Koden nedenfor viser den tilgjengelige saldoen i lommeboken på 16x2 LCD-skjermen.
lcd.setCursor (0, 0); lcd.print ("Total Bal:"); lcd.setCursor (11, 0); lcd.print (total); forsinkelse (1000);
Følgende funksjon vil få utgangsfargefrekvensen til rødt innhold i valutaen. På samme måte kan vi skrive andre funksjoner for å få verdi for innholdet i blått og grønt.
int rød () {digitalWrite (11, LAV); digitalWrite (12, LAV); frekvens = pulseIn (OutPut, LOW); returfrekvens; }
Så dette er hvordan en Arduino-basert pengeteller enkelt kan bygges med få komponenter. Vi kan endre det ytterligere ved å integrere noe bildebehandling og kamera for å oppdage valutaen ved hjelp av bildet, på den måten vil det være mer nøyaktig og vil kunne oppdage hvilken som helst valuta.