Sisällysluettelo:

Arduino -laskin 4X4 -näppäimistöllä: 4 vaihetta (kuvilla)
Arduino -laskin 4X4 -näppäimistöllä: 4 vaihetta (kuvilla)

Video: Arduino -laskin 4X4 -näppäimistöllä: 4 vaihetta (kuvilla)

Video: Arduino -laskin 4X4 -näppäimistöllä: 4 vaihetta (kuvilla)
Video: Johdanto LCD2004 LCD-näyttöön, jossa on I2C-moduuli Arduinolle 2024, Marraskuu
Anonim
Image
Image

Tässä opetusohjelmassa rakennamme oman laskimemme Arduinolla. Arvot voidaan lähettää näppäimistöllä (4 × 4 näppäimistö) ja tulos voidaan tarkastella nestekidenäytöllä. Tämä laskin voi suorittaa yksinkertaisia toimintoja, kuten yhteenlasku, vähennyslasku, kertolasku ja jako kokonaisluvuilla. Mutta kun ymmärrät käsitteen, voit toteuttaa jopa tieteellisiä toimintoja Arduinon sisäänrakennettujen toimintojen avulla.

Tarvikkeet

Arduino Uno

16 × 2 LCD -näyttö

4 × 4 Näppäimistö

Leipälauta

Käynnistyskaapelit

Arduino -kaapeli

Vaihe 1: Kaaviot

Vaihe 2: Kirjaston asennus:

Kuten aiemmin kerrottiin, aiomme liittää nestekidenäytön ja näppäimistön Arduinon kanssa kirjastojen avulla. Joten lisätään ne ensin Arduino IDE: hen. LCD -kirjasto sisältyy jo oletusarvoisesti Arduinoosi, joten meidän ei tarvitse huolehtia siitä. Näppäimistökirjasto (lataa se Githubista napsauttamalla linkkiä). Saat ZIP -tiedoston, lisää sitten tämä lib Arduinoon Sketch -> Sisällytä kirjasto -> Lisää. ZIP -tiedosto ja osoita sijainti tähän ladattuun tiedostoon. Kun olet valmis, olemme kaikki valmiita ohjelmoimaan.

Vaihe 3: Lähdekoodi:

/*

© Techtronic Harsh

*/

#sisältää

#sisältää

LiquidCrystal lcd (0, 1, 2, 3, 4, 5);

const tavu RIVIT = 4; const tavu COLS = 4;

char -näppäimet [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {' C ',' 0 ',' = ','/'}}; tavu rowPins [ROWS] = {13, 12, 11, 10}; tavu colPins [COLS] = {9, 8, 7, 6};

Näppäimistö myKeypad = Näppäimistö (makeKeymap (näppäimet), rowPins, colPins, ROWS, COLS);

boolean presentValue = epätosi;

boolean next = false; boolean final = epätosi; Merkkijono numero 1, numero 2; int vastaus; char op;

mitätön asennus ()

{lcd. alku (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Laskin"); viive (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Like And"); lcd.setCursor (0, 1); lcd.print ("Tilaa meidät"); viive (3000); lcd.clear (); }

void loop () {

char -näppäin = myKeypad.getKey ();

if (key! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || avain == '7' || näppäin == '8' || näppäin == '9' || näppäin == '0'))

{if (presentValue! = true) {num1 = num1 + avain; int numPituus = numero1.pituus (); lcd.setCursor (15 - numLength, 0); // yhden välilyönnin säätäminen operaattorille lcd.print (num1); } else {num2 = num2 + näppäin; int numPituus = numero2.pituus (); lcd.setCursor (15 - numLength, 1); lcd.print (numero2); lopullinen = totta; }}

else if (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))

{if (presentValue == false) {presentValue = true; op = avain; lcd.setCursor (15, 0); lcd.print (op); }}

muuten jos (final == true && key! = NO_KEY && key == '=') {

jos (op == ' +') {vastaus = numero1. } else if (op == ' -') {answer = num1.toInt () - num2.toInt (); } else if (op == ' *') {answer = num1.toInt () * num2.toInt (); } else if (op == ' /') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (vastaus); lcd.noAutoscroll (); } else if (avain! = NO_KEY && key == 'C') {lcd.clear (); presentValue = epätosi; lopullinen = epätosi; numero1 = ""; numero2 = ""; vastaus = 0; op = ''; }}

/*

© Techtronic Harsh

*/

Vaihe 4: Työskentely:

Tee liitännät piirikaavion mukaisesti ja lataa koodi. Jos se näyttää virheen, varmista, että olet lisännyt kirjaston yllä olevien ohjeiden mukaisesti.

Näppäimistön merkki ja olettamus:

  • "A" - lisäys (+)
  • "B" - vähennys (-)
  • "C" - kertolasku (*)
  • "D" - divisioona (/)
  • “*” - kirkas (C)
  • "#" - yhtä suuri (=)

Suositeltava: