Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
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 (=)