- Vereiste componenten
- Structuur maken voor Arduino-muntsorteerder
- Schakelschema
- Programmeren van de Arduino
- Werking van Arduino Coin Counter
We hebben eerder een op Arduino gebaseerde telmachine voor papiergeld gebouwd met behulp van een kleurensensor. Nu bouwen we in dit project een Arduino-telmachine met behulp van IR-sensoren. Deze machine telt en sorteert de munten in verschillende secties met behulp van een infraroodsensor. Hier wordt een opstelling gemaakt waarbij IR-sensoren worden geplaatst om verschillende munten te detecteren, en Arduino UNO wordt gebruikt voor het verwerken van de gegevens en het weergeven van de totale telwaarde op een 16x2 LCD.
Vereiste componenten
- Arduino UNO
- IR-sensor
- Breadboard
- 16 * 2 Alfanumeriek LCD
- I2C-module voor 16x2 (1602) alfanumeriek LCD-scherm
- Verbindingsdraden
Structuur maken voor Arduino-muntsorteerder
Stap 1: Neem een kartonnen vel en markeer voor verschillende muntgroottes zoals weergegeven in de onderstaande afbeelding. Snijd vervolgens voorzichtig de gemarkeerde delen. Het snijden van deze porties moet nauwkeurig gebeuren; anders werkt het project mogelijk niet perfect.
Stap 2: Plaats het bovenstaande arrangement in een schuine structuur volgens de onderstaande afbeelding. Controleer na het maken van het arrangement door verschillende munten op de helling te plaatsen om er zeker van te zijn dat het arrangement perfect werkt. Als de munt niet correct wordt ingebracht, vergroot dan het gat iets groter in overeenstemming met de munt en controleer opnieuw tot een succesvolle werking.
Stap 3: Plaats de IR-sensoren in de buurt van het uitvoerpad van individuele munten. Het is erg belangrijk om de sensoren correct te plaatsen en ze te kalibreren met hun potentiometer. Plaats vervolgens opnieuw de munten om de werking van de sensor te controleren. Lees hier meer over het IR-sensorcircuit.
Schakelschema
Hieronder ziet u het schakelschema voor de Arduino-telmachine:
Hier worden IR-sensoren op verschillende uitgangspaden van de muntsorteermachine geplaatst om de munten te detecteren. Wanneer een munt in deze Arduino-muntenteller wordt gestoken, komt deze in het speciale pad volgens het mechanische ontwerp en de respectieve IR-sensor detecteert de munt en geeft een HOGE outputwaarde aan de Arduino die kan worden gelezen door de analoge pinnen van Arduino. De IR-sensor die een HOGE waarde geeft, bepaalt de muntwaarde zoals Rupees 2/5/10.
Hier is een 16x2 alfanumeriek LCD-scherm gekoppeld aan Arduino met behulp van een I2C-module om het aantal munten weer te geven dat in de doos is gestoken. Dit LCD-scherm kan ook rechtstreeks op Arduino worden aangesloten zonder de I2C-module te gebruiken, maar dit vereist meer aantal verbindingen. Dus om het eenvoudiger te maken, wordt een I2C-module gebruikt samen met LCD, die slechts 2 pinnen gebruikt, dwz SCL, SDA voor het verbinden van LCD met Arduino. Voor het voeden van de Arduino wordt een 12VDC, 1 AMP AC-DC adapter gebruikt, die rechtstreeks op de power jack van Arduino kan worden aangesloten.
Na een kleine update ziet de complete setup voor de Arduino Based Coin Sorter er als volgt uit:
Programmeren van de Arduino
Na succesvolle hardwareverbindingen is het nu tijd om de Arduino te programmeren. De volledige code voor Arduino wordt onderaan deze tutorial gegeven. De stapsgewijze uitleg van de code wordt hieronder gegeven:
Het eerste dat u in het programma moet doen, is alle vereiste bibliotheken opnemen. Hier in mijn geval heb ik de bibliotheek " LiquidCrystal_I2C.h" toegevoegd voor het gebruik van de I2C-interface van een LCD en " Wire.h " voor het gebruik van I2C-functionaliteit op Arduino.
# omvatten
In setup () worden LCD-opdrachten geschreven voor het weergeven van een welkomstbericht op het LCD-scherm.
lcd.init (); lcd.backlight (); lcd.setCursor (0,0); lcd.print ("ARDUINO GEBASEERD"); lcd.setCursor (0,1); lcd.print ("COIN SORTING"); vertraging (2000); lcd.clear ();
Inside loop (), analogRead- functie wordt gebruikt om de infraroodsensorwaarden uit verschillende analoge kanalen van Arduino te lezen en op te slaan in verschillende variabelen.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
Vervolgens wordt de onderstaande code geschreven om de munten te detecteren en de munttellerwaarden te verhogen. Hier wordt een vlagwaarde f1 gebruikt om meerdere tellingen van de munten te vermijden.
if (s1> = 200 && f1 == 0) {f1 = 1; } else if (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
Ten slotte worden de telwaarden weergegeven op het LCD-scherm met behulp van de onderstaande opdrachten.
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);
Werking van Arduino Coin Counter
Schakel na het voltooien van de installatie en het uploaden van de code de 12V DC-voeding in. Eerst wordt een welkomstbericht weergegeven op het LCD-scherm en na een paar seconden wordt een scherm met het aantal beschikbare munten op het LCD-scherm weergegeven. In het begin zal het nul weergeven omdat we nog geen munten hebben geplaatst.
Steek vervolgens een willekeurige munt (Rs. 2/5/10) in de bovenkant van de machine waar " Insert Coin " staat. Nu zult u zien dat de waarde van het aantal munten moet worden bijgewerkt op het LCD-scherm. Voer vervolgens meerdere munten met verschillende waarden in en controleer het aantal munten op het LCD-scherm.
De volledige code samen met een video wordt hieronder gegeven.