- Materiales necesarios:
- Diagrama de circuito:
- Programa de calculadora Arduino:
- Simulación de la calculadora Arduino:
- Funcionamiento de la calculadora Arduino:
La programación siempre es divertida y Arduino es una plataforma maravillosa si recién está comenzando con la programación integrada. 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 (matriz de puntos 16 × 2). Esta calculadora puede 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.
Al final de este proyecto, sabrá cómo usar una pantalla LCD de 16x2 y un teclado con Arduino y también lo fácil que es programarlos usando las bibliotecas disponibles. También comprenderá cómo programar su Arduino para realizar una tarea en particular.
Materiales necesarios:
- Arduino Uno (cualquier versión funcionará)
- Pantalla LCD 16 × 2
- Teclado 4 × 4
- Batería de 9V
- Protoboard y cables de conexión
Diagrama de circuito:
El diagrama de circuito completo de este proyecto de calculadora Arduino se muestra arriba. La conexión de + 5V y tierra que se muestra en el diagrama del circuito se puede obtener del pin de 5V y tierra del Arduino. El Arduino en sí se puede alimentar desde su computadora portátil oa través del conector de CC con un adaptador de 12 V o una batería de 9 V.
Estamos operando la pantalla LCD en modo de 4 bits con Arduino, por lo que solo los últimos cuatro bits de datos de la pantalla LCD están conectados a Arduino. El teclado tendrá 8 pines de salida que deben conectarse desde el pin 0 al pin 7 como se muestra arriba. Puede usar la siguiente tabla de conexiones para verificar su conexión con Arduino, también puede verificar la interfaz del teclado 4x4 con Arduino.
Nombre del Pin de Arduino: |
Conectado a: |
D0 |
1 st pin del teclado |
D1 |
2 nd pin del teclado |
D2 |
3 er pin del teclado |
D3 |
4 º pin del teclado |
D4 |
5 º pin del teclado |
D5 |
6 º pin del teclado |
D6 |
7 º pin del teclado |
D7 |
8 º pin del teclado |
D8 |
Registro de selección de pin de LCD (pin 4) |
D9 |
Habilitar pin de LCD (pin 6) |
D10 |
Pin de datos 4 (pin 11) |
D11 |
Pin de datos 4 (pin 11) |
D12 |
Pin de datos 4 (pin 11) |
D13 |
Pin de datos 4 (pin 11) |
+ 5V |
Conectado al pin Vdd del LCD (pin 2) |
Suelo |
Conectado al pin Vss, Vee y RW del LCD (pin 1,3 y 5) |
Algunas placas Arduino pueden mostrar un error al cargar el programa si hay algo conectado al pin 0 y al pin1, por lo que si experimenta alguno, simplemente retire el teclado mientras carga el programa.
Una vez que haya realizado las conexiones, su hardware se verá así a continuación
Programa de calculadora Arduino:
El programa completo de Arduino para este proyecto se da al final de este proyecto. El código se divide en pequeños fragmentos significativos y se explica a continuación.
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.
Aunque hemos usado una biblioteca para usar un teclado, tenemos que mencionar algunos detalles (que se muestran a continuación) sobre el teclado del Arduino. Las variables ROWS y COLS dirán cuántas filas y columnas tiene nuestro teclado y el mapa de teclas muestra el orden en el que están presentes las teclas en el teclado. El teclado que estoy usando en este proyecto se ve así a continuación en el mapa de teclas también representa lo mismo.
Más abajo, hemos mencionado a qué pines está conectado el teclado utilizando la matriz de variables rowPins y colPins .
const byte ROWS = 4; // Cuatro filas const byte COLS = 4; // Tres columnas // Defina las claves de caracteres del mapa de teclas = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Conecte el teclado ROW0, ROW1, ROW2 y ROW3 a estos pines de Arduino. byte colPins = {4, 5, 6, 7}; // Conecte el teclado COL0, COL1 y COL2 a estos pines Arduino.
Una vez que hayamos mencionado qué tipo de teclado estamos usando y cómo está conectado, podemos crear el teclado usando esos detalles usando la línea de abajo
Teclado kpd = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS); // Crea el teclado
Del mismo modo, también tenemos que decir a qué pines del Arduino está conectado el LCD. Según nuestro diagrama de circuito, las definiciones serían las siguientes
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pines a los que se conecta el LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // crea el LCD
Dentro de la función de configuración , solo mostramos el nombre del proyecto y luego procedemos al bucle while donde se encuentra el proyecto principal.
Básicamente, tenemos que verificar si se está escribiendo algo en el teclado, si se escribe tenemos que reconocer lo que se está escribiendo y luego convertirlo en una variable cuando se presiona "=" tenemos que calcular el resultado y finalmente mostrarlo en la pantalla LCD. Esto es exactamente lo que se hace dentro de la función de bucle como se muestra a continuación
clave = kpd.getKey (); // almacenando el valor de la tecla presionada en un carácter if (key! = NO_KEY) DetectButtons (); if (resultado == verdadero) CalculateResult (); DisplayResult ();
Lo que sucede dentro de cada función se explica usando las líneas de comentarios, revise el código completo a continuación, juegue con él para comprender cómo funciona realmente. Si tiene alguna duda sobre una línea específica, no dude en utilizar la sección de comentarios o los foros.
Simulación de la calculadora Arduino:
También podemos intentar simular el proyecto usando el software Proteus. Proteus no tiene un componente Arduino por sí solo, pero se puede descargar y agregar fácilmente a su biblioteca. Una vez que tenga el componente Arduino en Proteus, simplemente agregue LCD alfanumérico y teclado para hacer la conexión como se muestra en el diagrama del circuito.
Luego descargue el archivo hexadecimal desde aquí y agréguelo al Arduino haciendo doble clic en la placa en Proteus y apunte el "archivo de programa" a este archivo hexadecimal descargado. A continuación se muestra una instantánea de la simulación, el trabajo completo se muestra en el video a continuación.
Nota: El archivo hexadecimal proporcionado no es el mismo que el original del programa que se muestra a continuación. Se ha modificado porque el mapa de teclas del teclado de simulación y el teclado de hardware real es diferente.
Funcionamiento de la calculadora Arduino:
Realice las conexiones según el diagrama de circuito y cargue el código a continuación. Si muestra un error, asegúrese de haber agregado la biblioteca según las instrucciones dadas anteriormente. También puede probar la simulación para comprobar si el problema está en su hardware. Si todo se hace como se supone que debe ser, entonces su hardware se verá algo así a continuación con la pantalla LCD mostrando esto
Dado que el teclado utilizado aquí no tiene las marcas adecuadas, he asumido que los alfabetos son los operadores que se enumeran a continuación
Carácter en el teclado |
Se supone que es |
"UN" |
Suma (+) |
"SEGUNDO" |
Resta (-) |
"C" |
Multiplicación (*) |
"RE" |
División (/) |
"*" |
Claro (C) |
"#" |
Es igual a (=) |
Puede usar un marcador para escribir sobre lo que realmente representa cada botón.
Una vez hecho esto, puede comenzar a usar la calculadora directamente. Escribe el número y aparecerá en la segunda línea, presiona el operando y escribe tu segundo número finalmente presiona la tecla “#” para obtener tu resultado. También puede intentar construir esta calculadora Arduino basada en pantalla táctil.