- Nepieciešamās sastāvdaļas
- Struktūras veidošana Arduino monētu šķirotājam
- Ķēdes shēma
- Arduino programmēšana
- Arduino monētu skaitītāja darbība
Iepriekš mēs uzbūvējām Arduino bāzes papīra valūtas skaitīšanas mašīnu, izmantojot krāsu sensoru. Tagad šajā projektā mēs būvējam Arduino skaitīšanas mašīnu, izmantojot IR sensorus. Šī mašīna ar infrasarkanā sensora palīdzību skaita un šķiro monētas dažādās sadaļās. Šeit tiek kārtots, kur IR sensori tiek novietoti dažādu monētu uztveršanai, un Arduino UNO tiek izmantots datu apstrādei un kopējās skaitīšanas vērtības parādīšanai 16x2 LCD.
Nepieciešamās sastāvdaļas
- Arduino UNO
- IR sensors
- Maizes dēlis
- 16 * 2 burtciparu LCD
- I2C modulis 16x2 (1602) burtciparu LCD
- Vadu savienošana
Struktūras veidošana Arduino monētu šķirotājam
1. solis: Paņemiet kartona lapu un atzīmējiet dažādus monētu izmērus, kā parādīts zemāk redzamajā attēlā. Pēc tam uzmanīgi sagrieziet iezīmētās porcijas. Šo porciju griešana jāveic precīzi; pretējā gadījumā projekts var nedarboties perfekti.
2. solis: Ievietojiet iepriekš minēto izvietojumu slīpuma struktūrā, kā parādīts zemāk redzamajā attēlā. Pēc vienošanās veikšanas to pārbaudiet, nogāzē ievietojot dažādas monētas, lai pārliecinātos, ka izkārtojums darbojas nevainojami. Ja monēta netiek ievietota pareizi, tad nedaudz palieliniet cauruma lielumu atbilstoši monētai un pārbaudiet vēlreiz, līdz veiksmīgi darbojas.
3. solis: Novietojiet IS sensorus atsevišķu monētu izejas ceļa tuvumā. Ir ļoti svarīgi pareizi ievietot sensorus un kalibrēt tos, izmantojot viņu potenciometru. Tad vēlreiz ievietojiet monētas, lai pārbaudītu sensora darbību. Uzziniet vairāk par IR sensoru shēmu šeit.
Ķēdes shēma
Zemāk ir Arduino skaitīšanas mašīnas shēma:
Šeit monētu šķirošanas mašīnas dažādos izejas ceļos ir izvietoti IR sensori, lai sajustu monētas. Kad monēta tiek ievietota šajā Arduino monētu skaitītājā, tā nonāk paredzētajā ceļā saskaņā ar mehānisko dizainu, un attiecīgais IR sensors uztver monētu un piešķir Arduino HIGH izejas vērtību, kuru var nolasīt ar Arduino analogajām tapām. IR sensors, kas dod AUGSTU vērtību, izlemj monētas vērtību, piemēram, rūpijas 2/5/10.
Šeit 16x2 burtciparu LCD ir saskarne ar Arduino, izmantojot I2C moduli, lai parādītu lodziņā ievietoto monētu skaitu. Arī šo LCD var tieši savienot ar Arduino, neizmantojot I2C moduli, taču tas prasa vairāk savienojumu. Lai padarītu to vienkāršāku, kopā ar LCD tiek izmantots I2C modulis, kas LCD savienošanai ar Arduino izmanto tikai 2 tapas, ti, SCL, SDA. Arduino barošanai tiek izmantots 12VDC, 1 AMP maiņstrāvas-līdzstrāvas adapteris, kuru var tieši savienot ar Arduino strāvas ligzdu.
Pēc neliela pieskāriena pilnīga Arduino bāzes monētu šķirotāja iestatīšana izskatīsies šādi:
Arduino programmēšana
Pēc veiksmīgiem aparatūras savienojumiem ir pienācis laiks programmēt Arduino. Pilns Arduino kods ir norādīts šīs apmācības apakšdaļā. Tālāk ir sniegts pakāpenisks koda skaidrojums:
Pirmais, kas jādara programmā, ir iekļaut visas nepieciešamās bibliotēkas. Šeit manā gadījumā esmu iekļāvis bibliotēku “ LiquidCrystal_I2C.h”, lai izmantotu LCD I2C saskarni, un “ Wire.h ”, lai izmantotu I2C funkcionalitāti Arduino.
# iekļaut
Iestatīšanas iekšpusē () tiek rakstītas LCD komandas, lai parādītu sveiciena ziņojumu LCD.
lcd.init (); lcd.backlight (); lcd.setCursor (0,0); lcd.print ("ARDUINO BASED"); lcd.setCursor (0,1); lcd.print ("MONĒTU ŠĶIRŠANA"); kavēšanās (2000); lcd.clear ();
Inside loop () funkciju analogRead izmanto, lai nolasītu infrasarkanā sensora vērtības no dažādiem Arduino analogajiem kanāliem un saglabātu tos dažādos mainīgajos.
int s1 = analogRead (A0); int s2 = analogRead (A1); int s3 = analogRead (A2);
Pēc tam zemāk redzamais kods ir uzrakstīts, lai uztvertu monētas un palielinātu monētu skaitītāja vērtības. Šeit, lai izvairītos no vairāku monētu skaitīšanas, tiek izmantota karodziņa vērtība f1.
ja (s1> = 200 && f1 == 0) {f1 = 1; } cits if (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
Visbeidzot, skaitīšanas vērtības tiek parādītas LCD, izmantojot tālāk norādītās komandas.
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);
Arduino monētu skaitītāja darbība
Pēc pilnīgas iestatīšanas un koda augšupielādes ieslēdziet 12 V līdzstrāvas padevi. Pirmkārt, LCD ekrānā tiks parādīts sveiciena ziņojums, un pēc dažām sekundēm LCD displejā tiks parādīts ekrāns ar visu pieejamo monētu skaitu. Sākumā tas rādīs nulli, jo mēs vēl neesam ievietojuši nevienu monētu.
Pēc tam ievietojiet jebkuru monētu (Rs. 2/5/10) mašīnas augšdaļā, kur rakstīts “ Ievietot monētu ”. Tagad jūs redzēsiet, ka monētu skaita vērtība ir jāatjaunina LCD ekrānā. Pēc tam ievietojiet vairākas dažādu vērtību monētas un LCD pārbaudiet attiecīgo monētu skaitu.
Pilns kods kopā ar videoklipu ir norādīts zemāk.