- Composants requis
- Création d'une structure pour la trieuse de pièces Arduino
- Schéma
- Programmation de l'Arduino
- Fonctionnement du compteur de pièces Arduino
Nous avons précédemment construit une machine de comptage de papier-monnaie basée sur Arduino à l'aide d'un capteur de couleur. Maintenant, dans ce projet, nous construisons une machine de comptage Arduino utilisant des capteurs IR. Cette machine compte et trie les pièces dans différentes sections à l'aide d'un capteur infrarouge. Ici, un arrangement est fait où des capteurs IR sont placés pour détecter différentes pièces de monnaie, et Arduino UNO est utilisé pour traiter les données et afficher la valeur de comptage totale sur un écran LCD 16x2.
Composants requis
- Arduino UNO
- Capteur IR
- Planche à pain
- LCD alphanumérique 16 * 2
- Module I2C pour LCD alphanumérique 16x2 (1602)
- Connexion des fils
Création d'une structure pour la trieuse de pièces Arduino
Étape 1: Prenez une feuille de carton et marquez les différentes tailles de pièces comme indiqué dans la figure ci-dessous. Ensuite, coupez soigneusement les portions marquées. La découpe de ces portions doit être effectuée avec précision; sinon, le projet peut ne pas fonctionner parfaitement.
Étape 2: Placez l'arrangement ci-dessus dans une structure en pente selon l'image ci-dessous. Après avoir fait l'arrangement, vérifiez-le en insérant différentes pièces de monnaie sur la pente pour vous assurer que l'arrangement fonctionne parfaitement. Si la pièce ne s'insère pas correctement, augmentez légèrement la taille du trou en fonction de la pièce et revérifiez jusqu'à ce que l'opération réussisse.
Étape 3: Placez les capteurs infrarouges à proximité du chemin de sortie des pièces individuelles. Il est très important de placer correctement les capteurs et de les calibrer à l'aide de leur potentiomètre. Ensuite, insérez à nouveau les pièces pour vérifier le fonctionnement du capteur. En savoir plus sur le circuit du capteur IR ici.
Schéma
Vous trouverez ci-dessous le schéma de circuit pour la machine de comptage Arduino:
Ici, des capteurs IR sont placés sur différents chemins de sortie de la machine de tri des pièces pour détecter les pièces. Lorsqu'une pièce est insérée dans ce compteur de pièces Arduino, elle entre dans le chemin dédié selon la conception mécanique et le capteur IR respectif détecte la pièce et donne une valeur de sortie ÉLEVÉE à l'Arduino qui peut être lue par les broches analogiques d'Arduino. Le capteur IR qui donne une valeur élevée, décide de la valeur de la pièce comme des roupies 2/5/10.
Ici, un LCD alphanumérique 16x2 est interfacé avec Arduino à l'aide d'un module I2C, pour afficher le nombre de pièces insérées dans la boîte. Cet écran LCD peut également être connecté à Arduino directement sans utiliser le module I2C, mais cela nécessite plus de nombre de connexions. Donc, pour simplifier, un module I2C est utilisé avec LCD, qui n'utilise que 2 broches, c'est-à-dire SCL, SDA pour connecter LCD avec Arduino. Pour alimenter l'Arduino, un adaptateur 12VDC, 1 AMP AC-DC est utilisé, qui peut être directement connecté à la prise d'alimentation d'Arduino.
Après quelques retouches, la configuration complète du trieur de pièces basé sur Arduino ressemblera à ci-dessous:
Programmation de l'Arduino
Après des connexions matérielles réussies, il est maintenant temps de programmer l'Arduino. Le code complet pour Arduino est donné dans la partie inférieure de ce tutoriel. L'explication étape par étape du code est donnée ci-dessous:
La première chose à faire dans le programme est d'inclure toutes les bibliothèques requises. Ici, dans mon cas, j'ai inclus la bibliothèque « LiquidCrystal_I2C.h» pour utiliser l'interface I2C d'un écran LCD et « Wire.h » pour utiliser la fonctionnalité I2C sur Arduino.
#comprendre
Dans setup (), des commandes LCD sont écrites pour afficher un message de bienvenue sur l'écran LCD.
lcd.init (); LCD rétro-éclairage(); lcd.setCursor (0,0); lcd.print ("BASÉ SUR ARDUINO"); lcd.setCursor (0,1); lcd.print ("TRI DE PIÈCES"); retard (2000); lcd.clear ();
À l'intérieur de la boucle (), la fonction analogRead est utilisée pour lire les valeurs du capteur infrarouge, à partir de différents canaux analogiques d'Arduino et les stocker dans différentes variables.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
Ensuite, le code ci-dessous est écrit pour détecter les pièces et incrémenter les valeurs du compteur de pièces. Ici, une valeur de drapeau f1 est utilisée pour éviter plusieurs comptes de pièces.
si (s1> = 200 && f1 == 0) {f1 = 1; } sinon si (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
Enfin, les valeurs de comptage sont affichées sur l'écran LCD, à l'aide des commandes ci-dessous.
lcd.setCursor (0,0); lcd.print ("RS10 RS2 RS5"); lcd.setCursor (1,1); lcd.print (c1); lcd.setCursor (7,1); lcd.print (c2); lcd.setCursor (14,1); lcd.print (c3);
Fonctionnement du compteur de pièces Arduino
Après la configuration complète et le téléchargement du code, allumez l'alimentation 12V DC. Tout d'abord, un message de bienvenue s'affiche sur l'écran LCD et après quelques secondes, un écran avec le nombre de toutes les pièces disponibles s'affiche sur l'écran LCD. Au début, il affichera zéro car nous n'avons pas encore inséré de pièces.
Ensuite, insérez une pièce de monnaie (Rs. 2/5/10) en haut de la machine où « Insérer une pièce » est écrit. Vous verrez maintenant que la valeur du nombre de pièces doit être mise à jour sur l'écran LCD. Insérez ensuite plusieurs pièces de différentes valeurs et vérifiez le nombre de pièces respectives sur l'écran LCD.
Le code complet avec une vidéo est donné ci-dessous.