- Componente necesare
- Realizarea structurii pentru Arduino Coin Sorter
- Diagrama circuitului
- Programarea Arduino
- Funcționarea contorului de monede Arduino
Am construit anterior o mașină de numărare a hârtiei bazată pe Arduino folosind un senzor de culoare. Acum, în acest proiect, construim o mașină de numărare Arduino folosind senzori IR. Această mașină numără și sortează monedele în diferite secțiuni cu ajutorul unui senzor cu infraroșu. Aici, se face o amenajare în care senzorii IR sunt așezați pentru a detecta diferite monede, iar Arduino UNO este utilizat pentru prelucrarea datelor și afișarea valorii totale a numărului pe 16x2 LCD.
Componente necesare
- Arduino UNO
- Senzor IR
- Breadboard
- 16 * 2 LCD alfanumeric
- Modul I2C pentru LCD alfanumeric 16x2 (1602)
- Conectarea firelor
Realizarea structurii pentru Arduino Coin Sorter
Pasul 1: Luați o foaie de carton și marcați pentru diferite dimensiuni de monede, așa cum se arată în figura de mai jos. Apoi tăiați cu atenție porțiunile marcate. Tăierea acestor porțiuni trebuie făcută cu precizie; în caz contrar, este posibil ca proiectul să nu funcționeze perfect.
Pasul 2: Plasați aranjamentul de mai sus într-o structură de pantă conform imaginii de mai jos. După ce ați făcut aranjamentul, verificați-l introducând diferite monede pe pantă pentru a vă asigura că aranjamentul funcționează perfect. Dacă moneda nu se introduce corect, creșteți ușor dimensiunea găurii conform monedei și verificați din nou până când funcționează cu succes.
Pasul 3: plasați senzorii IR lângă calea de ieșire a monedelor individuale. Este foarte important să plasați corect senzorii și să-i calibrați folosind potențiometrul lor. Apoi introduceți din nou monedele pentru a verifica funcționarea senzorului. Aflați mai multe despre circuitul senzorului IR aici.
Diagrama circuitului
Mai jos este schema de circuite pentru aparatul de numărare Arduino:
Aici, senzorii IR sunt amplasați pe diferite căi de ieșire ale mașinii de sortare a monedelor pentru a detecta monedele. Când o monedă este introdusă în acest contor de monede Arduino, aceasta intră pe calea dedicată conform designului mecanic și senzorul IR respectiv detectează moneda și conferă valoare de ieșire ÎNALTĂ Arduino, care poate fi citită de pinii analogici ai Arduino. Senzorul IR care dă valoare HIGH, decide valoarea monedei ca Rupees 2/5/10.
Aici un LCD alfanumeric 16x2 este interfațat cu Arduino folosind un modul I2C, pentru a afișa numărul de monede introduse în cutie. Acest LCD poate fi conectat direct la Arduino fără a utiliza modulul I2C, dar acest lucru necesită un număr mai mare de conexiuni. Deci, pentru a fi mai simplu, un modul I2C este utilizat împreună cu LCD, care utilizează doar 2 pini, adică SCL, SDA pentru conectarea LCD-ului cu Arduino. Pentru alimentarea Arduino, se utilizează un adaptor AC-DC de 12VDC, 1 AMP, care poate fi conectat direct la mufa de alimentare a Arduino.
După o mică retușare, configurarea completă pentru Arduino Based Coin Sorter va arăta ca mai jos:
Programarea Arduino
După conexiuni hardware reușite, acum este timpul să programați Arduino. Codul complet pentru Arduino este dat în partea de jos a acestui tutorial. Explicația pas cu pas a codului este dată mai jos:
Primul lucru de făcut în program este să includeți toate bibliotecile necesare. Aici, în cazul meu, am inclus biblioteca „LiquidCrystal_I2C.h” pentru utilizarea interfeței I2C a unui LCD și „ Wire.h ” pentru utilizarea funcționalității I2C pe Arduino.
#include
În interiorul configurării (), comenzile LCD sunt scrise pentru afișarea unui mesaj de întâmpinare pe LCD.
lcd.init (); lcd.backlight (); lcd.setCursor (0,0); lcd.print ("ARDUINO BASED"); lcd.setCursor (0,1); lcd.print ("SORTAREA MONEDELOR"); întârziere (2000); lcd.clear ();
Inside loop (), funcția analogRead este utilizată pentru a citi valorile senzorului infraroșu, de la diferite canale analogice ale Arduino și a le stoca în diferite variabile.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
Apoi, codul de mai jos este scris pentru a detecta monedele și pentru a crește valorile contorului de monede. Aici se folosește o valoare de pavilion f1 pentru a evita numărarea multiplă a monedelor.
if (s1> = 200 && f1 == 0) {f1 = 1; } else if (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
În cele din urmă, valorile de numărare sunt afișate pe ecranul LCD, utilizând comenzile de mai jos.
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);
Funcționarea contorului de monede Arduino
După configurarea completă și încărcarea codului, porniți sursa de alimentare 12V DC. În primul rând, un mesaj de întâmpinare va fi afișat pe ecranul LCD și după câteva secunde, un ecran cu numărul tuturor monedelor disponibile va fi afișat pe ecranul LCD. La început, va arăta zero deoarece nu am introdus încă nicio monedă.
Apoi, introduceți orice monedă (Rs. 2/5/10) în partea de sus a mașinii unde este scris „ Insert Coin ”. Acum veți vedea că valoarea numărului de monede trebuie actualizată pe ecranul LCD. Apoi introduceți mai multe monede de valori diferite și verificați numărul monedelor respective pe ecranul LCD.
Codul complet împreună cu un videoclip sunt prezentate mai jos.