- Tarvittavat materiaalit:
- Piirikaavio:
- Arduino-laskinohjelma:
- Arduino-laskimen simulointi:
- Arduino-laskimen toiminta:
Ohjelmointi on aina hauskaa ja Arduino on loistava alusta, jos olet vasta aloittamassa sulautetun ohjelmoinnin käyttöä. Tässä opetusohjelmassa rakennamme oman laskimen Arduinon kanssa. Arvot voidaan lähettää näppäimistöllä (4 × 4-näppäimistö) ja tuloksia voidaan tarkastella LCD-näytöllä (16 × 2 pistematriisia). Tämä laskin pystyi suorittamaan yksinkertaisia toimintoja, kuten yhteenlasku, vähennyslasku, kertolasku ja jakaminen kokonaislukuilla. Mutta kun ymmärrät käsitteen, voit toteuttaa jopa tieteellisiä toimintoja Arduinon sisäänrakennetuilla toiminnoilla.
Tämän projektin lopussa opit käyttämään 16x2-nestekidenäyttöä ja näppäimistöä Arduinon kanssa ja myös kuinka helppoa on ohjelmoida heille helposti saatavilla olevien kirjastojen avulla. Ymmärrät myös, kuinka Arduino ohjelmoidaan tietyn tehtävän suorittamiseen.
Tarvittavat materiaalit:
- Arduino Uno (mikä tahansa versio toimii)
- 16 × 2 LCD-näyttö
- 4 × 4 näppäimistö
- 9 V: n akku
- Leipälauta ja liitäntäjohdot
Piirikaavio:
Tämän Arduino-laskinprojektin täydellinen piirikaavio on annettu yllä. Kytkentäkaaviossa esitetty + 5 V: n ja maadoitusliitäntä saadaan Arduinon 5 V: n ja maadoitustapista. Arduino itse voidaan virtaa kannettavasta tietokoneesta tai DC-liitännästä 12 V: n sovittimen tai 9 V: n akun avulla.
Käytämme LCD-näyttöä 4-bittisessä tilassa Arduinon kanssa, joten vain LCD: n neljä viimeistä databittiä on kytketty Arduinoon. Näppäimistössä on 8 lähtöpistoketta, jotka on kytkettävä nastasta 0 nastaa 7, kuten yllä on esitetty. Voit käyttää seuraavaa liitetaulukkoa yhteyden vahvistamiseen Arduinoon, voit myös tarkistaa 4x4-näppäimistön käyttöliittymän Arduinoon.
Arduino-pin-nimi: |
Yhdistetty: |
D0 |
1 st pin näppäimistön |
D1 |
2 toinen tappi näppäimistön |
D2 |
3 rd pin näppäimistön |
D3 |
4 : nnen pin näppäimistön |
D4 |
5 th pin näppäimistön |
D5 |
6 : nnen pin näppäimistön |
D6 |
7 th pin näppäimistön |
D7 |
8 : nnen pin näppäimistön |
D8 |
Rekisteröi LCD-näytön tappi (tappi 4) |
D9 |
Ota LCD-nasta käyttöön (tappi 6) |
D10 |
Tietotappi 4 (tappi 11) |
D11 |
Tietotappi 4 (tappi 11) |
D12 |
Tietotappi 4 (tappi 11) |
D13 |
Tietotappi 4 (tappi 11) |
+ 5 V |
Yhdistetty nestekidenäytön Vdd-nastaan (nasta 2) |
Maa |
Yhdistetty LCD-näytön Vss-, Vee- ja RW-nastoihin (nastat 1,3 ja 5) |
Jotkut Arduino-levyt saattavat näyttää virheen ohjelmaa ladattaessa, jos nastoihin 0 ja pin1 on liitetty jotain, joten jos sinulla on jotain, poista vain näppäimistö ohjelman lataamisen aikana.
Kun yhteydet on tehty, laitteesi näyttää alla olevalta tältä
Arduino-laskinohjelma:
Täydellinen Arduino ohjelma tälle hankkeelle annetaan lopussa tämän projektin. Koodi on jaettu pieniksi merkityksellisiksi paloiksi ja selitetty alla.
Kuten aiemmin kerrottiin, aiomme liittää LCD-näytön ja näppäimistön Arduinoon kirjastojen avulla. Joten lisätään ne ensin Arduino IDE: hen. LCD-kirjasto sisältyy jo oletuksena Arduinoon, joten meidän ei tarvitse huolehtia siitä. Napsauta Näppäimistö-kirjastoa napsauttamalla linkkiä ladataksesi sen Githubista. Saat ZIP-tiedoston, lisää sitten tämä lib Arduinoon Sketchillä -> Sisällytä kirjasto -> Lisää.ZIP-tiedosto ja osoita sijainti tähän ladattuun tiedostoon. Kun olet valmis, olemme kaikki valmiita ohjelmoimaan.
Vaikka olemme käyttäneet kirjastoa näppäimistön käyttöön, meidän on mainittava muutamia yksityiskohtia (alla) Arduinon näppäimistöstä. Muuttuja ROWS ja COLS kertoo, kuinka monta riviä ja saraketta näppäimistöllä on, ja näppäinkartta näyttää järjestyksen, jossa näppäimet ovat näppäimistössä. Näppäimistö, jota käytän tässä projektissa, näyttää tältä alla näppäinkartalle edustavan myös samaa.
Jäljempänä olemme maininneet, mihin nastoihin näppäimistö on kytketty käyttämällä muuttuvia matriisirivejä pin ja colPins .
vakiotavu ROWS = 4; // Neljä riviä vakiotavu COLS = 4; // Kolme saraketta // Määritä Keymap-merkkinäppäimet = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; tavu rivinastat = {0, 1, 2, 3}; // Yhdistä näppäimistö ROW0, ROW1, ROW2 ja ROW3 näihin Arduino-nastoihin. tavu colPins = {4, 5, 6, 7}; // Yhdistä näppäimistö COL0, COL1 ja COL2 näihin Arduino-nastoihin.
Kun olemme maininneet, minkä tyyppistä näppäimistöä käytämme ja miten se on kytketty, voimme luoda näppäimistön käyttämällä näitä tietoja käyttämällä alla olevaa riviä
Näppäimistö kpd = Näppäimistö (makeKeymap (avaimet), rowPins, colPins, RIVIT, COLS); // Luo näppäimistö
Samoin meidän on kerrottava myös mihin Arduinon nastoihin LCD on kytketty. Piirikaavion mukaan määritelmät olisivat kuten alla
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // nastat, joihin LCD on kytketty LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // luo nestekidenäyttö
Sisällä setup toiminto, me vain näyttää projektin nimi ja jatka sitten kun silmukka, jossa tärkein hanke valheita.
Pohjimmiltaan meidän on tarkistettava, kirjoitetaanko mitään näppäimistöön, jos kirjoitettu, meidän on tunnistettava kirjoitettava ja muunnettava se muuttujaksi, kun "=" -näppäintä painetaan, meidän on laskettava tulos ja näytettävä se sitten nestekidenäytössä. Juuri näin tehdään silmukkatoiminnon sisällä alla olevan kuvan mukaisesti
avain = kpd.getKey (); // painetun näppäimen arvon tallentaminen merkkijonoon if (avain! = EI_KAAVIO) DetectButtons (); if (tulos == tosi) CalculateResult (); DisplayResult ();
Mitä tapahtuu jokaisen toiminnon sisällä, selitetään kommenttiriveillä, käy läpi alla oleva täydellinen koodi, käy läpi sen ymmärtääksesi, miten se todella toimii. Jos sinulla on epäilyksiä tietystä linjasta, voit käyttää kommenttiosaa tai foorumeita.
Arduino-laskimen simulointi:
Voimme myös yrittää simuloida projektia Proteus-ohjelmistolla. Proteuksella ei ole omaa Arduino-komponenttia, mutta se on helppo ladata ja lisätä kirjastoonsa. Kun sinulla on Arduino-komponentti Proteuksessa, lisää vain aakkosnumeerinen LCD-näyttö ja näppäimistö muodostaaksesi yhteyden piirikaavion mukaisesti.
Lataa sitten hex-tiedosto täältä ja lisää se Arduinoon kaksoisnapsauttamalla Proteus-levyä ja osoittamalla "ohjelmatiedosto" tähän ladattuun hex-tiedostoon. Napsautettu kuva simulaatiosta on esitetty alla, täydellinen työskentely on esitetty alla olevassa videossa.
Huomaa: Annettu heksatiedosto ei ole sama kuin alla olevan ohjelman alkuperäinen. Sitä on muokattu, koska simulointinäppäimistön ja todellisen laitteistonäppäimistön näppäinkartta on erilainen.
Arduino-laskimen toiminta:
Tee liitännät piirikaavion mukaisesti ja lataa koodi alla. Jos siinä näkyy virhe, varmista, että olet lisännyt kirjaston yllä annettujen ohjeiden mukaisesti. Voit myös kokeilla simulaatiota tarkistaaksesi, onko ongelma laitteistossasi. Jos kaikki tehdään niin kuin sen on tarkoitus olla, laitteistosi näyttää tältä alla olevalta LCD-näytöllä
Koska tässä käytetyllä näppäimistöllä ei ole kunnollisia merkintöjä, oletin, että aakkoset ovat operaattoreita, kuten alla on lueteltu
Merkki näppäimistössä |
Oletetaan olevan |
"A" |
Lisäys (+) |
"B" |
Vähennyslasku (-) |
"C" |
Kertolasku (*) |
"D" |
Jaosto (/) |
"*" |
Kirkas (C) |
"#" |
Yhtä (=) |
Voit kirjoittaa merkin avulla sen, mitä kukin painike todella edustaa.
Kun tämä on tehty, voit aloittaa laskimen käytön suoraan. Kirjoita numero ja ilmestyy toiselle riville paina operandia ja kirjoita toinen numero lopuksi painamalla "#" -näppäintä saadaksesi tuloksen. Voit myös kokeilla tämän kosketusnäyttöpohjaisen Arduino-laskimen rakentamista.