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