Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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
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
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
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ö
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.