Tabla de contenido:

Calculadora Arduino con teclado 4X4: 4 pasos (con imágenes)
Calculadora Arduino con teclado 4X4: 4 pasos (con imágenes)

Video: Calculadora Arduino con teclado 4X4: 4 pasos (con imágenes)

Video: Calculadora Arduino con teclado 4X4: 4 pasos (con imágenes)
Video: Calculadora Arduino con LCD 16x2 💡【 2021 】 - Capítulo #44🔋 2024, Noviembre
Anonim
Image
Image

En este tutorial construiremos nuestra propia calculadora con Arduino. Los valores se pueden enviar a través de un teclado (teclado 4 × 4) y el resultado se puede ver en una pantalla LCD. Esta calculadora podría realizar operaciones simples como suma, resta, multiplicación y división con números enteros. Pero una vez que comprenda el concepto, puede implementar incluso funciones científicas con las funciones integradas de Arduino.

Suministros

Arduino Uno

Pantalla LCD 16 × 2

Teclado 4 × 4

Tablero de circuitos

Cables de salto

Cable Arduino

Paso 1: esquemas

Paso 2: instalación de la biblioteca:

Como se dijo anteriormente, vamos a conectar una pantalla LCD y un teclado con Arduino usando bibliotecas. Así que primero agregémoslos a nuestro IDE de Arduino. La biblioteca para LCD ya está incluida en su Arduino de forma predeterminada, por lo que no debemos preocuparnos por eso. Para la biblioteca de teclado (haga clic en el enlace para descargarlo de Github). Obtendrá un archivo ZIP, luego agregue esta lib a Arduino by Sketch -> Incluir biblioteca -> Agregar archivo. ZIP y apunte la ubicación a este archivo descargado. Una vez hecho esto, estamos listos para la programación.

Paso 3: Código fuente:

/*

© Techtronic Harsh

*/

#incluir

#incluir

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

const byte FILAS = 4; const byte COLS = 4;

char claves [FILAS] [COLS] = {

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

Teclado myKeypad = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS);

booleano presentValue = falso;

siguiente booleano = falso; booleano final = falso; String num1, num2; int respuesta; char op;

configuración vacía ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Calculadora"); retraso (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Me gusta y"); lcd.setCursor (0, 1); lcd.print ("Suscríbase"); retraso (3000); lcd.clear (); }

bucle vacío () {

char key = myKeypad.getKey ();

if (key! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || clave == '7' || clave == '8' || clave == '9' || clave == '0'))

{if (presentValue! = true) {num1 = num1 + key; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // para ajustar un espacio en blanco para el operador lcd.print (num1); } más {num2 = num2 + tecla; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); final = verdadero; }}

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

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

else if (final == true && key! = NO_KEY && key == '=') {

if (op == '+') {respuesta = num1.toInt () + num2.toInt (); } else if (op == '-') {respuesta = 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 (respuesta); lcd.noAutoscroll (); } else if (key! = NO_KEY && key == 'C') {lcd.clear (); presentValue = falso; final = falso; num1 = ""; num2 = ""; respuesta = 0; op = ''; }}

/*

© Techtronic Harsh

*/

Paso 4: trabajo:

Realice las conexiones según el diagrama de circuito y cargue el código. Si muestra un error, asegúrese de haber agregado la biblioteca según las instrucciones dadas anteriormente.

Carácter en el teclado y suposición:

  • "A": suma (+)
  • "B": resta (-)
  • "C": multiplicación (*)
  • "D" - División (/)
  • "*" - Borrar (C)
  • "#": Igual a (=)

Recomendado: