- Composants requis:
- Capteur de couleur TCS3200 fonctionnant
- Brochage du capteur de couleur TCS3200:
- Schéma
- Explication du code
Dans ce projet, nous allons travailler sur une idée de projet arduino innovante, où nous pouvons compter les billets de banque papier et calculer leur montant, en détectant le papier-monnaie à l'aide du capteur de couleur et d'Arduino. Le capteur de couleur TCS230 sera utilisé pour détecter les billets de banque et Arduino UNO pour traiter les données et afficher le solde restant sur l'écran LCD 16x2.
Composants requis:
- Arduino UNO
- Capteur de couleur TCS230
- Capteur IR
- Planche à pain
- LCD alphanumérique 16 * 2
- Connexion des fils
Capteur de couleur TCS3200 fonctionnant
Le capteur de couleur TCS3200 est utilisé pour détecter une large gamme de couleurs. Nous avons précédemment interfacé le capteur de couleur TCS3200 avec Arduino et Raspberry pi, et également construit des projets utiles comme la machine de tri des couleurs.
Le capteur TCS230 a des LED infrarouges intégrées qui sont utilisées pour éclairer l'objet dont la couleur doit être détectée. Cela garantit qu'il n'y aura aucun impact de la lumière environnante externe sur l'objet. Ce capteur lit une photodiode de 8 * 8 array, qui comprend 16 photodiodes avec des filtres rouges, 16 avec des filtres bleus, 16 avec des filtres verts et 16 photodiodes sans aucun filtre. Chacun des réseaux de capteurs de ces trois réseaux est sélectionné séparément en fonction des besoins. Par conséquent, il est connu comme un capteur programmable. Le module peut être présenté pour détecter la couleur particulière et laisser les autres. Il contient des filtres à cette fin de sélection. Il existe un quatrième mode appelé «mode sans filtre» dans lequel le capteur détecte la lumière blanche.
Le signal de sortie du capteur de couleur TCS230 est une onde carrée avec un rapport cyclique de 50% et sa fréquence est proportionnelle à l'intensité lumineuse du filtre sélectionné.
Brochage du capteur de couleur TCS3200:
VDD- Broche d'alimentation en tension du capteur. Il est fourni avec 5V DC.
GND- Broche de référence de masse d'un capteur de couleur
S0, S1- Entrées de sélection de mise à l'échelle de la fréquence de sortie
S2, S3- Entrées de sélection de type photodiode
OUT- Broche de sortie d'un capteur de couleur
OE- Broche d'activation pour la fréquence de sortie
Nous avons également utilisé un capteur infrarouge dans ce projet, dont le fonctionnement peut être compris par le lien suivant.
Schéma
Vous trouverez ci-dessous le schéma de circuit du compteur d'argent Arduino:
Ici, j'ai fait une petite structure comme un glisseur de devises POS en utilisant des cartons. Dans cette structure, un capteur de couleur et un capteur IR sont fixés avec le carton comme le montre l'image ci-dessous.
Ici, le capteur IR est utilisé pour détecter la présence de monnaie à l'intérieur de la fente et s'il y a une note, le capteur de couleur détectera la couleur de la note et enverra la valeur de couleur à Arduino. Et Arduino calcule en outre la valeur de la devise en fonction de la couleur de la note.
Explication du code
Le code complet avec une vidéo de démonstration est donné à la fin de l'article. Ici, l'explication étape par étape du code complet est donnée ci-dessous.
Tout d'abord, incluez toutes les bibliothèques dans le programme. Ici, nous n'avons besoin que de la bibliothèque LCD pour être incluse dans le programme. Déclarez ensuite toutes les variables utilisées dans le code.
#comprendre
Dans setup (), imprimez le message de bienvenue sur l'écran LCD et définissez toutes les directions de données des broches numériques utilisées dans ce projet. Ensuite, définissez la mise à l'échelle de la fréquence de sortie du capteur de couleur, dans mon cas, elle est définie sur 20%, ce qui peut être réglé en donnant l'impulsion HIGH à S0 et l'impulsion LOW à 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"); retard (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, FAIBLE); }
À l'intérieur de la boucle infinie (), lisez toutes les sorties de données des capteurs. La sortie du capteur IR peut être trouvée en lisant la broche A0 et les fréquences de couleur de sortie peuvent être trouvées en appelant les fonctions individuelles écrites comme rouge (), bleu () et vert (). Ensuite, imprimez-les tous sur le moniteur série. Ceci est nécessaire lorsque nous devons ajouter une nouvelle devise à notre projet.
int sensor = digitalRead (A0); int rouge1 = rouge (); int bleu1 = bleu (); int vert1 = vert (); Serial.println (red1); Serial.println (blue1); Serial.println (vert1); Serial.println ("-----------------------------");
Ensuite, écrivez toutes les conditions pour vérifier la fréquence de sortie du capteur de couleur avec la fréquence de référence que nous avons définie auparavant. S'il correspond, déduit le montant spécifié du solde du portefeuille.
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 (total> = 10) {lcd.setCursor (0, 1); lcd.print ("10 rubis !!!"); total = total-10; retard (1500); lcd.clear (); }}
Ici, nous avons seulement défini les conditions pour 10 Rupees et 50 Rupees Note couleur, vous pouvez définir plus de conditions pour détecter plus de non. de billets de banque.
Remarque: la sortie de fréquence peut être différente dans votre cas en fonction de l'éclairage externe et de la configuration du capteur. Il est donc recommandé de vérifier la fréquence de sortie de votre devise et de définir la valeur de référence en conséquence.
Le code ci-dessous affichera le solde disponible dans le portefeuille sur l'écran LCD 16x2.
lcd.setCursor (0, 0); lcd.print ("Total Bal:"); lcd.setCursor (11, 0); lcd.print (total); retard (1000);
La fonction suivante obtiendra la fréquence de couleur de sortie du contenu rouge dans la devise. De même, nous pouvons écrire d'autres fonctions pour obtenir une valeur pour le contenu des couleurs bleu et vert.
int rouge () {digitalWrite (11, LOW); digitalWrite (12, FAIBLE); fréquence = pulseIn (OutPut, LOW); fréquence de retour; }
Voilà donc comment un compteur d'argent basé sur Arduino peut être construit facilement en utilisant quelques composants. Nous pouvons encore le modifier en intégrant un traitement d'image et une caméra pour détecter la devise à l'aide de l'image, de cette façon, elle sera plus précise et pourra détecter n'importe quelle devise.