- Szükséges anyagok:
- Kördiagramm:
- Arduino Calculator Program:
- Az Arduino kalkulátor szimulációja:
- Az Arduino kalkulátor működése:
A programozás mindig szórakoztató, és az Arduino egy csodálatos platform, ha még csak most kezdi a beágyazott programozást. Ebben az oktatóanyagban elkészítjük saját számológépünket az Arduino segítségével. Az értékeket egy kezelőn keresztül lehet elküldeni (4 × 4 kezelő), és az eredményeket egy LCD képernyőn lehet megtekinteni (16 × 2 pontmátrix). Ez a számológép egyszerű műveleteket végezhet, például összeadás, kivonás, szorzás és osztás egész számokkal. De miután megértette a koncepciót, akár tudományos funkciókat is megvalósíthat az Arduino beépített funkcióival.
A projekt végén megtudhatja, hogyan kell használni a 16x2-es LCD-t és a kezelőt az Arduinóval, és azt is, hogy mennyire könnyű programozni őket a könnyen elérhető könyvtárak segítségével. Azt is meg fogja érteni, hogyan programozhatja Arduino-ját egy adott feladat végrehajtására.
Szükséges anyagok:
- Arduino Uno (bármelyik verzió működni fog)
- 16 × 2 LCD kijelző
- 4 × 4 kezelő
- 9V-os akkumulátor
- Kenyérlemez és összekötő vezetékek
Kördiagramm:
Ennek az Arduino kalkulátor projektnek a teljes kapcsolási rajza a fenti. A kapcsolási rajzon bemutatott + 5V és földelt csatlakozás az Arduino 5V-os és földelőcsapjából szerezhető be. Maga az Arduino táplálható laptopjáról vagy a DC aljzaton keresztül 12 V-os adapter vagy 9 V-os akkumulátor segítségével.
Az LCD-t 4 bites üzemmódban működtetjük az Arduino-val, így csak az LCD négy utolsó bitje van csatlakoztatva az Arduinóhoz. A billentyűzetnek 8 kimeneti tűje lesz, amelyeket a 0 és 7 érintkezők között kell csatlakoztatni, a fentiek szerint. A következő csatlakozási táblázattal ellenőrizheti az Arduino-val való kapcsolatot, és ellenőrizheti a 4x4-es kezelő interfészét az Arduino-val is.
Arduino pin neve: |
Csatlakozva valamihez: |
D0 |
1 st pin a billentyűzet |
D1 |
2 ND pin a billentyűzet |
D2 |
3 rd pin a billentyűzet |
D3 |
4 -én pin a billentyűzet |
D4 |
5 -én pin a billentyűzet |
D5 |
6 -én pin a billentyűzet |
D6 |
7 -én pin a billentyűzet |
D7 |
8 th pin a billentyűzet |
D8 |
Regisztrálja az LCD kiválasztott tűjét (4. érintkező) |
D9 |
Engedélyezze az LCD tűjét (6. érintkező) |
D10 |
4. adatcsap (11. érintkező) |
D11 |
4. adatcsap (11. érintkező) |
D12 |
4. adatcsap (11. érintkező) |
D13 |
4. adatcsap (11. érintkező) |
+ 5V |
Csatlakoztatva az LCD Vdd tűjéhez (2. érintkező) |
Talaj |
Csatlakoztatva az LCD Vss, Vee és RW tűihez (1,3 és 5 tű) |
Egyes Arduino táblák hibát mutathatnak a program feltöltésekor, ha a 0-as és az 1-es csapokhoz van valami csatlakoztatva, ezért ha tapasztalna ilyet, csak távolítsa el a billentyűzetet a program feltöltése közben.
Miután a kapcsolatok elkészültek, a hardver az alábbiak szerint fog kinézni
Arduino Calculator Program:
A projekt teljes Arduino programja a projekt végén található. A kódot apró, értelmes darabokra osztják, és az alábbiakban elmagyarázzák.
Mint korábban elmondtuk, egy LCD-t és a billentyűzetet fogunk interfészként kezelni az Arduino-val könyvtárak segítségével. Tehát először adjuk hozzá őket az Arduino IDE-hez. Az LCD könyvtár az alapértelmezés szerint már szerepel az Arduino készülékében, ezért nem kell aggódnunk miatta. A Kezelő könyvtárhoz kattintson a linkre, hogy letöltse a Githubból. Kap egy ZIP fájlt, majd adja hozzá ezt a lib-et az Arduino alkalmazáshoz a Sketch -> Könyvtár belefoglalása ->.ZIP fájl hozzáadása segítségével, és mutassa a helyet a letöltött fájlra. Ha elkészült, mindannyian készen állunk a programozásra.
Annak ellenére, hogy könyvtárat használtunk a billentyűzet használatához, meg kell említenünk néhány részletet (az alábbiakban látható) az Arduino kezelőjéről. A ROWS és COLS változó megmondja, hogy a kezelőnknek hány sora és oszlopa van, és a billentyűtérkép megmutatja a billentyűk sorrendjét. A billentyűzet, amelyet ebben a projektben használok, az alábbiak szerint néz ki, és a kulcstérkép szintén ugyanazt ábrázolja.
Az alábbiakban megemlítettük, hogy melyik csapokhoz van a billentyűzet csatlakoztatva a változó tömbű Pins és colPins segítségével .
konst byte ROWS = 4; // Négy sor const byte COLS = 4; // Három oszlop // Definiálja a Keymap karakterbillentyűit = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Csatlakoztassa a ROW0, ROW1, ROW2 és ROW3 billentyűzetet ezekhez az Arduino csapokhoz. bájt colPins = {4, 5, 6, 7}; // Csatlakoztassa a COL0, COL1 és COL2 billentyűzetet ezekhez az Arduino csapokhoz.
Miután megemlítettük, hogy milyen típusú billentyűzetet használunk és hogyan kapcsolódik, akkor az alábbi vonalon létrehozhatjuk a billentyűzetet az alábbi sor segítségével
Kezelő kpd = Kezelő (makeKeymap (kulcsok), rowPins, colPins, ROWS, COLS); // Hozza létre a kezelőt
Hasonlóképpen azt is meg kell mondanunk, hogy az LCD Arduino melyik csapjához van csatlakoztatva. Kapcsolási rajzunk szerint a definíciók az alábbiakhoz hasonlóak
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // csapok, amelyekhez az LCD van csatlakoztatva LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // hozza létre az LCD-t
A telepítési funkción belül csak megjelenítjük a projekt nevét, majd folytatjuk a while ciklust, ahol a fő projekt található.
Alapvetően ellenőriznünk kell, hogy be van-e írva valami a kezelőn, ha be van írva, akkor fel kell ismernünk a gépeltet, majd a „=” megnyomásakor változóvá kell alakítanunk, ki kell számolnunk az eredményt, majd végül meg kell jelenítenünk az LCD-n. Pontosan ez történik a hurokfunkción belül, az alábbiak szerint
kulcs = kpd.getKey (); // a megnyomott kulcs értékének tárolása egy char-ban, ha (kulcs! = NO_KEY) DetectButtons (); if (eredmény == igaz) CalculateResult (); DisplayResult ();
Ami az egyes funkciókban történik, a megjegyzés sorokkal magyarázható, menjen át az alábbi teljes kódon, babráljon vele, hogy megértse, valójában hogyan működik. Ha kétségei vannak egy adott vonallal kapcsolatban, nyugodtan használja a megjegyzés részt vagy a fórumokat.
Az Arduino kalkulátor szimulációja:
Megpróbálhatjuk a projekt szimulálását a Proteus szoftver segítségével is. A Proteus nem rendelkezik Arduino komponenssel, de egyszerűen letölthető és hozzáadható a könyvtárához. Miután megvan az Arduino komponens a Proteus-on, csak vegye fel az alfanumerikus LCD-t és a Billentyűzetet a kapcsolat létrehozásához az áramköri ábra szerint.
Ezután töltse le innen a hex fájlt, és adja hozzá az Arduino-hoz, duplán kattintva a fedélzetre a Proteus programban, és mutassa a „programfájlt” erre a letöltött hex fájlra. A szimuláció pillanatfelvétele látható alább, a teljes munka pedig az alábbi videóban látható.
Megjegyzés: A megadott hex fájl nem azonos az alább megadott program eredetivel. A szimulációs billentyűzet és a tényleges hardveres billentyűzet billentyűtérképe óta módosították.
Az Arduino kalkulátor működése:
Csatlakoztassa a kapcsolási rajz szerint, és töltse fel az alábbi kódot. Ha hibát mutat, győződjön meg arról, hogy hozzáadta a könyvtárat a fenti utasításoknak megfelelően. Megpróbálhatja a szimulációt is annak ellenőrzésére, hogy a hardverrel van-e probléma. Ha mindent a szokásos módon végeztek, akkor a hardver az alábbiak szerint fog kinézni az LCD-vel
Mivel az itt használt billentyűzeten nincs megfelelő jelölés, feltételeztem, hogy az ábécék az alább felsorolt operátorok
Karakter a kezelőn |
Feltételezve, hogy |
„A” |
Kiegészítés (+) |
„B” |
Kivonás (-) |
„C” |
Szorzás (*) |
„D” |
Osztály (/) |
„*” |
Tiszta (C) |
„#” |
Egyenlő (=) |
Jelölővel felírhatja, hogy az egyes gombok mit jelentenek.
Ha ez megtörtént, közvetlenül elkezdheti használni a számológépet. Gépelje be a számot, és megjelenik a második sorban, nyomja meg az operandust, és írja be a második számát, végül nyomja meg a „#” gombot az eredmény eléréséhez. Megpróbálhatja megépíteni ezt az érintőképernyős alapú Arduino számológépet is.