Sisällysluettelo:

Arduino DIY -laskin 1602 LCD -näytön ja 4x4 -näppäimistön avulla: 4 vaihetta
Arduino DIY -laskin 1602 LCD -näytön ja 4x4 -näppäimistön avulla: 4 vaihetta

Video: Arduino DIY -laskin 1602 LCD -näytön ja 4x4 -näppäimistön avulla: 4 vaihetta

Video: Arduino DIY -laskin 1602 LCD -näytön ja 4x4 -näppäimistön avulla: 4 vaihetta
Video: How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16x2 LCD I2C Tutorial 2024, Marraskuu
Anonim
Arduino DIY -laskin 1602 LCD -näytön ja 4x4 -näppäimistön avulla
Arduino DIY -laskin 1602 LCD -näytön ja 4x4 -näppäimistön avulla

Hei kaverit tässä ohjeessa, teemme laskimen Arduinolla, joka voi tehdä peruslaskelmia. Joten periaatteessa otamme syötteet 4x4 -näppäimistöltä ja tulostamme tiedot 16x2 lcd -näyttöön ja arduino tekee laskelmat.

Vaihe 1: Tarvitsemasi asiat

Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat
Tarvitsemasi asiat

Tätä ohjetta varten tarvitsemme seuraavia asioita: Arduino Uno (mikä tahansa versio toimii)

16 × 2 LCD -näyttö

4 × 4 Näppäimistö 9 V Akku Leipälevy Johtojen liittäminen

Vaihe 2: Liitännät

Liitännät
Liitännät
Liitännät
Liitännät

Tämän Arduino -laskinprojektin täydellinen piirikaavio on esitetty edellä. Kytkentäkaaviossa näkyvä +5V ja maadoitus voidaan saada Arduinon 5V ja maadoitusliittimestä. Arduinoa voidaan käyttää kannettavasta tietokoneesta tai DC-liittimestä 12 V: n sovittimen tai 9 V: n akun avulla. Käytämme LCD-näyttöä 4-bittisessä tilassa Arduinon kanssa, joten vain nestekidenäytön neljä viimeistä databittiä on kytketty Arduinoon. Näppäimistössä on 8 ulostulonappia, jotka on liitettävä nastasta 0 nastaan 7, kuten yllä on esitetty. näppäimistöä ohjelman lataamisen aikana.

Vaihe 3: Koodi

Koodi
Koodi

Kopioi seuraava koodi ja lataa siihen arduinoosi:/ * * Arduino -näppäimistölaskinohjelma */#sisältää "LiquidCrystal.h" // LCD -otsikkotiedoston osoitteesta https://www.arduino.cc/en/Reference/LiquidCrystal# sisälly "Keypad.h" // Näppäimistön otsikkotiedosto osoitteesta https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Neljä riviriviä tavu COLS = 4; // Kolme saraketta // Määritä avainnumeronäppäimet [RIVIT] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; tavu rowPins [ROWS] = {0, 1, 2, 3}; // Liitä näppäimistö ROW0, ROW1, ROW2 ja ROW3 näihin Arduino -nastoihin. Tavua colPins [COLS] = {4, 5, 6, 7}; // Kytke näppäimistö COL0, COL1 ja COL2 näihin Arduino -nastoihin. // Luo näppäimistökonst. Int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Nastat, joihin LCD on liitetty LiquidCrystal lcd (rs, en, d4, d5, d6, d7); pitkä Num1, Num2, Number; char -näppäin, toiminta; boolen tulos = false; void setup () {lcd.begin (16, 2); // Käytämme 16*2 LCD -näyttöä lcd.print ("DIY Calculator"); // Näytä intro -viesti lcd.setCursor (0, 1); // aseta kohdistin sarakkeeseen 0, rivin 1 viive (2000); // Odota, kunnes näytössä näkyy tiedot lcd.clear (); // Puhdista sitten} void loop () {key = kpd.getKey (); // painetun näppäimen arvon tallentaminen charifiin (avain! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } mitätön DetectButtons () {lcd.clear (); // Puhdista se, jos (key == '*') // Jos peruutuspainiketta painetaan {Serial.println ("Button Cancel"); Luku = Num1 = Num2 = 0; result = false;} if (key == '1') // Jos painiketta 1 painetaan {Serial.println ("Button 1"); jos (luku == 0) luku = 1; else Luku = (luku*10) + 1; // Painamalla kahdesti} if (key == '4') // Jos painiketta 4 painetaan {Serial.println ("Button 4"); jos (luku == 0) luku = 4; else Luku = (luku*10) + 4; // Painamalla kahdesti} if (key == '7') // Jos painiketta 7 painetaan {Serial.println ("Button 7"); jos (luku == 0) luku = 7; else Luku = (luku*10) + 7; // Painamalla kahdesti} if (key == '0') {Serial.println ("Button 0"); // Painiketta 0 painetaan, jos (luku == 0) numero = 0; else Luku = (luku*10) + 0; // Painamalla kahdesti} if (key == '2') // Painike 2 on painettu {Serial.println ("Button 2"); jos (luku == 0) luku = 2; else Luku = (luku*10) + 2; // Painamalla kahdesti} if (key == '5') {Serial.println ("Button 5"); jos (luku == 0) luku = 5; muu Luku = (luku*10) + 5; // Painamalla kahdesti} if (key == '8') {Serial.println ("Button 8"); jos (luku == 0) luku = 8; muu Luku = (luku*10) + 8; // Painamalla kahdesti} if (key == '#') {Serial.println ("Button Equal"); Num2 = luku; tulos = totta; } if (key == '3') {Serial.println ("Button 3"); jos (luku == 0) luku = 3; else Luku = (luku*10) + 3; // Painamalla kahdesti} if (key == '6') {Serial.println ("Button 6"); jos (luku == 0) luku = 6; muu Luku = (luku*10) + 6; // Painamalla kahdesti} if (key == '9') {Serial.println ("Button 9"); jos (luku == 0) luku = 9; muu Luku = (luku*10) + 9; // Painamalla kahdesti} if (näppäin == 'A' || näppäin == 'B' || näppäin == 'C' || näppäin == 'D') // Tunnistuspainikkeet sarakkeessa 4 {Num1 = luku; Luku = 0; if (key == 'A') {Serial.println ("Lisäys"); action = '+';} if (key == 'B') {Serial.println ("Vähennys"); toiminta = '-'; } if (key == 'C') {Serial.println ("Kertolasku"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} viive (100); }}

mitätön CalculateResult () {if (action == '+') Number = Num1+Num2; jos (toiminta == '-') Luku = Num1-Num2; if (toiminta == '*') Luku = Num1*Num2; jos (toiminta == '/') Luku = Num1/Num2; } mitätön DisplayResult () {lcd.setCursor (0, 0); // aseta kohdistin sarakkeeseen 0, rivi 1 lcd.print (Num1); lcd.print (toiminta); lcd.print (Num2); jos (tulos == tosi) {lcd.print ("="); lcd.print (luku);} // Näytä tulos lcd.setCursor (0, 1); // aseta kohdistin sarakkeeseen 0, rivi 1 lcd.print (Number); // Näytä tulos}

Vaihe 4: Laskimen lähtö

Laskimen lähtö
Laskimen lähtö
Laskimen lähtö
Laskimen lähtö
Laskimen lähtö
Laskimen lähtö

Joten valmistimme yhteydet ja latasimme koodin arduinoon ja sen aika kytkeä virta ja tehdä joitain laskelmia ja kuten näet, teen laskelmia näppäimistöllä ja näet tulokset LCD -näytöllä. Joten pidä hauskaa tehdä oma DIY -laskin käyttämällä arduinoa.

Suositeltava: