Taula de continguts:

Calculadora de bricolatge Arduino amb 1602 LCD i teclat 4x4: 4 passos
Calculadora de bricolatge Arduino amb 1602 LCD i teclat 4x4: 4 passos

Vídeo: Calculadora de bricolatge Arduino amb 1602 LCD i teclat 4x4: 4 passos

Vídeo: Calculadora de bricolatge Arduino amb 1602 LCD i teclat 4x4: 4 passos
Vídeo: Настройка 3D-принтера с помощью MKS sGen L v1.0 Часть 3 2024, De novembre
Anonim
Calculadora de bricolatge Arduino amb teclat LCD 1602 i 4x4
Calculadora de bricolatge Arduino amb teclat LCD 1602 i 4x4

Hola nois en aquest instructable que farem una calculadora amb Arduino que pot fer càlculs bàsics. Així que bàsicament agafarem l'entrada del teclat 4x4 i imprimirem les dades a la pantalla lcd de 16x2 i arduino farà els càlculs.

Pas 1: coses que necessiteu

Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu
Coses que necessiteu

Per a això instructable necessitarem les següents coses: Arduino Uno (Qualsevol versió funcionarà)

Pantalla LCD de 16 × 2

Teclat 4 × 4 Bateria 9V Tauler de pa Connectar cables

Pas 2: connexions

Connexions
Connexions
Connexions
Connexions

El diagrama complet del circuit d’aquest projecte de calculadora Arduino es presenta a la part superior. La connexió de + 5V i de terra que es mostra al diagrama del circuit es pot obtenir a partir del pin de 5V i de terra de l’Arduino. El propi Arduino es pot alimentar des del portàtil o mitjançant la presa de corrent continu mitjançant un adaptador de 12 V o una bateria de 9 V. Estem operant la pantalla LCD en mode de 4 bits amb Arduino, de manera que només els darrers quatre bits de dades de la pantalla LCD estan connectats a Arduino. El teclat tindrà 8 pins de sortida que s’han de connectar del pin 0 al pin 7. Com es mostra a la part anterior, és possible que algunes taules Arduino mostrin un error mentre es carrega el programa si hi ha alguna cosa connectada al pin 0 i al pin1, de manera que si en teniu algun, només cal eliminar-lo el teclat mentre pengeu el programa.

Pas 3: Codi

Codi
Codi

Copieu el codi següent i pengeu-hi el vostre arduino: / * * Programa de calculadora de teclat Arduino * / # inclou "LiquidCrystal.h" // Fitxer de capçalera per a LCD de https://www.arduino.cc/en/Reference/LiquidCrystal# inclou "Keypad.h" // Fitxer de capçalera del teclat de https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Quatre filesconst byte COLS = 4; // Tres columnes // Definiu les tecles Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Connecteu el teclat ROW0, ROW1, ROW2 i ROW3 a aquests pins Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // Connecteu el teclat COL0, COL1 i COL2 a aquests pins Arduino. Teclat kpd = Teclat (makeKeymap (tecles), filaPins, colPins, FILES, COLS); // Creeu el Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins als quals està connectat el LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7); llarg Num1, Num2, Nombre; clau de caràcter, acció; resultat booleà = false; void setup () {lcd.begin (16, 2); // Estem fent servir una pantalla LCD de 16 * 2 lcd.print ("Calculadora de bricolatge"); // Mostra un missatge d'introducció lcd.setCursor (0, 1); // configureu el cursor a la columna 0, retard de la línia 1 (2000); // Espereu que la pantalla mostri informació lcd.clear (); // Després neteja-ho} void loop () {clau = kpd.getKey (); // emmagatzemar el valor de la tecla premuda en una charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Després netegeu-lo si (tecla == '*') // Si premeu el botó Cancel·la {Serial.println ("Cancel·la el botó"); Nombre = Num1 = Num2 = 0; result = false;} if (tecla == '1') // Si es prem el botó 1 {Serial.println ("Botó 1"); if (Nombre == 0) Nombre = 1; else Nombre = (Nombre * 10) + 1; // Es prem dues vegades} if (tecla == '4') // Si es prem el botó 4 {Serial.println ("Botó 4"); if (Nombre == 0) Nombre = 4; else Nombre = (Nombre * 10) + 4; // Es prem dues vegades} if (tecla == '7') // Si es prem el botó 7 {Serial.println ("Botó 7"); if (Nombre == 0) Nombre = 7; else Nombre = (Nombre * 10) + 7; // Es prem dues vegades} if (tecla == '0') {Serial.println ("Botó 0"); // Es prem el botó 0 si (Nombre == 0) Nombre = 0; else Nombre = (Nombre * 10) + 0; // Es prem dues vegades} if (tecla == '2') // Es prem el botó 2 {Serial.println ("Botó 2"); if (Nombre == 0) Nombre = 2; else Nombre = (Nombre * 10) + 2; // Prem dues vegades} if (tecla == '5') {Serial.println ("Botó 5"); if (Nombre == 0) Nombre = 5; else Nombre = (Nombre * 10) + 5; // Es prem dues vegades} if (tecla == '8') {Serial.println ("Botó 8"); if (Nombre == 0) Nombre = 8; else Nombre = (Nombre * 10) + 8; // Es prem dues vegades} if (tecla == '#') {Serial.println ("Botó igual"); Num2 = Nombre; resultat = cert; } if (clau == '3') {Serial.println ("Botó 3"); if (Nombre == 0) Nombre = 3; else Nombre = (Nombre * 10) + 3; // Es prem dues vegades} if (tecla == '6') {Serial.println ("Botó 6"); if (Nombre == 0) Nombre = 6; else Nombre = (Nombre * 10) + 6; // Es prem dues vegades} if (tecla == '9') {Serial.println ("Botó 9"); if (Nombre == 0) Nombre = 9; else Nombre = (Nombre * 10) + 9; // Prem dues vegades} if (tecla == 'A' || tecla == 'B' || tecla == 'C' || tecla == 'D') // Detecció de botons a la columna 4 {Num1 = Nombre; Nombre = 0; if (clau == 'A') {Serial.println ("Addició"); action = '+';} if (clau == 'B') {Serial.println ("Resta"); acció = '-'; } if (clau == 'C') {Serial.println ("Multiplicació"); action = '*';} if (clau == 'D') {Serial.println ("Devesió"); action = '/';} retard (100); }}

void CalculateResult () {if (action == '+') Number = Num1 + Num2; if (action == '-') Nombre = Num1-Num2; if (action == '*') Number = Num1 * Num2; if (action == '/') Nombre = Num1 / Num2; } void DisplayResult () {lcd.setCursor (0, 0); // configureu el cursor a la columna 0, línia 1 lcd.print (Num1); lcd.print (acció); lcd.print (Num2); if (result == true) {lcd.print ("="); lcd.print (Nombre);} // Mostra el resultat lcd.setCursor (0, 1); // configureu el cursor a la columna 0, línia 1 lcd.print (Nombre); // Mostra el resultat}

Pas 4: sortida de la calculadora

Sortida de la calculadora
Sortida de la calculadora
Sortida de la calculadora
Sortida de la calculadora
Sortida de la calculadora
Sortida de la calculadora

Així doncs, hem completat les connexions i hem penjat el codi a arduino i és hora d’endollar-lo i fer alguns càlculs. Com podeu veure, estic fent càlculs amb el teclat i podeu veure els resultats a la pantalla LCD. Així que divertiu-vos fent la vostra pròpia calculadora de bricolatge amb arduino.

Recomanat: