- Szükséges alkatrészek
- Szerkezet készítése az Arduino érmeváltó számára
- Kördiagramm
- Az Arduino programozása
- Az Arduino érme számláló működtetése
Korábban egy Arduino alapú papír pénznemszámláló gépet építettünk színes érzékelő segítségével. Most ebben a projektben egy Arduino számlálógépet építünk infravörös érzékelők segítségével. Ez a gép infravörös érzékelő segítségével különböző szekciókban számlálja és válogatja az érméket. Itt olyan elrendezésre kerül sor, ahol infravörös érzékelőket helyeznek el a különféle érmék érzékelésére, és az Arduino UNO-t használják az adatok feldolgozására és a teljes számlálási érték megjelenítésére 16x2 LCD-n.
Szükséges alkatrészek
- Arduino UNO
- IR érzékelő
- Kenyérlemez
- 16 * 2 alfanumerikus LCD
- I2C modul 16x2 (1602) alfanumerikus LCD-hez
- Vezetékek csatlakoztatása
Szerkezet készítése az Arduino érmeváltó számára
1. lépés: Vegyen egy kartonlapot, és jelölje meg a különböző érmeméreteket az alábbi ábra szerint. Ezután óvatosan vágja le a megjelölt részeket. Ezeknek a részeknek a vágását pontosan kell elvégezni; különben előfordulhat, hogy a projekt nem működik tökéletesen.
2. lépés: Helyezze a fenti elrendezést lejtőszerkezetbe az alább látható kép szerint. Az elrendezés elvégzése után ellenőrizze azt úgy, hogy különböző érméket helyez be a lejtőn, hogy megbizonyosodjon arról, hogy az elrendezés tökéletesen működik. Ha az érme nem megfelelően van behelyezve, akkor kissé növelje meg a furat méretét az érme szerint, és ellenőrizze újra a sikeres működésig.
3. lépés: Helyezze az IR-érzékelőket az egyes érmék kimeneti útjának közelébe. Nagyon fontos az érzékelők helyes elhelyezése és kalibrálása a potenciométerükkel. Ezután ismét helyezze be az érméket az érzékelő működésének ellenőrzéséhez. Tudjon meg többet az IR érzékelő áramköréről itt.
Kördiagramm
Az alábbiakban az Arduino számlálógép kapcsolási rajza látható:
Az infravörös érzékelőket az érmeválogató gép különböző kimeneti útvonalain helyezik el, hogy érzékeljék az érméket. Ha egy érmét helyeznek ebbe az Arduino érme számlálóba, az a kijelölt útvonalra lép a mechanikai kialakításnak megfelelően, és a megfelelő IR érzékelő érzékeli az érmét, és HIGH kimeneti értéket ad az Arduino-nak, amelyet az Arduino analóg csapjai leolvashatnak. A HIGH értéket adó IR szenzor úgy dönt, mint az Rupees 2/5/10.
Itt egy 16x2 alfanumerikus LCD-t az Arduino-val I2C modul segítségével összekapcsolnak, hogy megjelenítsék a dobozba helyezett érmék számát. Ez az LCD közvetlenül csatlakoztatható az Arduino-hoz az I2C modul használata nélkül is, de ehhez több kapcsolatra van szükség. Tehát az egyszerűség kedvéért egy I2C modult használnak az LCD-vel együtt, amely csak 2 csapot, azaz SCL, SDA-t használ az LCD és Arduino összekapcsolásához. Az Arduino tápellátásához 12 VDC, 1 AMP AC-DC adaptert használnak, amelyet közvetlenül az Arduino tápcsatlakozójához lehet csatlakoztatni.
Kis érintés után az Arduino-alapú érme-rendező teljes beállítása az alábbiak szerint fog kinézni:
Az Arduino programozása
Sikeres hardverkapcsolatok után itt az ideje az Arduino programozásának. Az Arduino teljes kódja az oktatóanyag alján található. A kód lépésenkénti magyarázata az alábbiakban található:
Az első tennivaló a programban az összes szükséges könyvtár felvétele. Itt az én esetemben felvettem a „ LiquidCrystal_I2C.h” könyvtárat az LCD I2C interfészének használatához, és a „ Wire.h ” könyvtárat az I2C funkcionalitás Arduino használatához.
#include
A telepítésen belül () az LCD parancsokat írják az üdvözlő üzenet LCD-n való megjelenítésére.
lcd.init (); lcd.backlight (); lcd.setCursor (0,0); lcd.print ("ARDUINO BASED"); lcd.setCursor (0,1); lcd.print ("érmeválogatás"); késés (2000); lcd.clear ();
A hurok belsejében () az analogRead funkció az infravörös érzékelő értékeinek leolvasására szolgál az Arduino különböző analóg csatornáiról, és különböző változókban tárolja őket.
int s1 = analógRead (A0); int s2 = analógRead (A1); int s3 = analógRead (A2);
Ezután az alábbi kódot írjuk az érmék érzékelésére és az érme számláló értékeinek növelésére. Itt az f1 jelzőértéket használják az érmék többszöri számlálásának elkerülésére.
if (s1> = 200 && f1 == 0) {f1 = 1; } else if (s1 <200 && f1 == 1) {f1 = 0; c1 ++; }
Végül a számlálás értékei megjelennek az LCD-n, az alábbi parancsok segítségével.
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);
Az Arduino érme számláló működtetése
A teljes beállítás és a kód feltöltése után kapcsolja BE a 12 V DC tápfeszültséget. Először egy üdvözlő üzenet jelenik meg az LCD-n, majd néhány másodperc múlva az LCD-n megjelenik egy képernyő az összes rendelkezésre álló érme számával. Az elején nulla lesz, mivel még nem tettünk be érméket.
Ezután helyezzen be minden érmét (Rs. 2/5/10) a gép tetejére, ahol az „ Érme beszúrása ” felirat olvasható. Most látni fogja, hogy az érmeszám értékét frissíteni kell az LCD-n. Ezután helyezzen be több különböző értékű érmét, és ellenőrizze az adott érmék számát az LCD-n.
A teljes kódot és a videót az alábbiakban adjuk meg.