Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Calculadora Arduino

Componentes y suministros

Arduino UNO
× 1
Kit de pantalla LCD RGB, pantalla de caracteres de 16x2
× 1
Cables de puente (genéricos)
× 1
batería de 9V (genérica)
× 1
Breadboard (genérico)
× 1

Acerca de este proyecto

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 de 16 × 2
  • Teclado 4 × 4
  • Batería de 9 V
  • Tablero de pruebas y cables de conexión

D0

1er pin del teclado

D1

2do pin del teclado

D2

3er pin del teclado

D3

4to pin del teclado

D4

Quinto pin del teclado

D5

Sexto pin del teclado

D6

Séptimo pin del teclado

D7

Octavo pin del teclado

D8

Registre el pin seleccionado de la pantalla 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)

Tierra

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

Código

  • Archivo sin título
Archivo sin título Arduino
 * * Programa de calculadora de teclado Arduino * / # include  // Archivo de encabezado para LCD de https://www.arduino.cc/en/Reference/LiquidCrystal#include  // Encabezado archivo para teclado de https://github.com/Chris--A/Keypadconst byte ROWS =4; // Cuatro filas const byte COLS =4; // Tres columnas // Defina las claves de Keymapchar [ROWS] [COLS] ={{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] ={0, 1, 2, 3}; // Conecte el teclado ROW0, ROW1, ROW2 y ROW3 a estos pines de Arduino.byte colPins [COLS] ={4, 5, 6, 7}; // Conecte el teclado COL0, COL1 y COL2 a estos pines de Arduino. Teclado kpd =Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS); // Crea el Keypadconst int rs =8, en =9, d4 =10, d5 =11, d6 =12, d7 =13; // Pines a los que se conecta la pantalla LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); long Num1, Num2, Number; char key, acción; resultado booleano =falso; configuración vacía () {lcd.begin (16, 2); // Estamos usando una pantalla LCD de 16 * 2 lcd.print ("Calculadora de bricolaje"); // Muestra un mensaje de introducción lcd.setCursor (0, 1); // coloca el cursor en la columna 0, línea 1 lcd.print ("- CircuitDigest"); // Mostrar un retraso en el mensaje de introducción (2000); // Espere a que la pantalla muestre información lcd.clear (); // Luego límpialo} void loop () {key =kpd.getKey (); // almacenar el valor de la tecla presionada en un charif (key! =NO_KEY) DetectButtons (); if (result ==true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Luego límpialo if (key =='*') // Si se presiona el botón cancelar {Serial.println ("Botón Cancelar"); Número =Num1 =Num2 =0; result =false;} if (key =='1') // Si se presiona el Botón 1 {Serial.println ("Botón 1"); si (Número ==0) Número =1; más Número =(Número * 10) + 1; // Presionado dos veces} if (key =='4') // Si se presiona el Botón 4 {Serial.println ("Botón 4"); si (Número ==0) Número =4; más Número =(Número * 10) + 4; // Presionado dos veces} if (key =='7') // Si se presiona el Botón 7 {Serial.println ("Botón 7"); si (Número ==0) Número =7; más Número =(Número * 10) + 7; // Presionado dos veces} if (key =='0') {Serial.println ("Botón 0"); // Se presiona el botón 0 si (Número ==0) Número =0; más Número =(Número * 10) + 0; // Presionado dos veces} if (key =='2') // Se presiona el botón 2 {Serial.println ("Botón 2"); si (Número ==0) Número =2; más Número =(Número * 10) + 2; // Presionado dos veces} if (key =='5') {Serial.println ("Botón 5"); si (Número ==0) Número =5; más Número =(Número * 10) + 5; // Presionado dos veces} if (key =='8') {Serial.println ("Botón 8"); si (Número ==0) Número =8; más Número =(Número * 10) + 8; // Presionado dos veces} if (key =='#') {Serial.println ("Botón igual"); Num2 =Número; resultado =verdadero; } if (clave =='3') {Serial.println ("Botón 3"); si (Número ==0) Número =3; más Número =(Número * 10) + 3; // Presionado dos veces} if (key =='6') {Serial.println ("Botón 6"); si (Número ==0) Número =6; más Número =(Número * 10) + 6; // Presionado dos veces} if (key =='9') {Serial.println ("Botón 9"); si (Número ==0) Número =9; más Número =(Número * 10) + 9; // Presionado dos veces} if (key =='A' || key =='B' || key =='C' || key =='D') // Detectando botones en la columna 4 {Num1 =Number; Número =0; if (clave =='A') {Serial.println ("Adición"); action ='+';} if (key =='B') {Serial.println ("Resta"); acción ='-'; } if (clave =='C') {Serial.println ("Multiplicación"); action ='*';} if (key =='D') {Serial.println ("Devesion"); acción ='/';} retraso (100); }} void CalculateResult () {if (acción =='+') Número =Num1 + Num2; if (acción =='-') Número =Num1-Num2; if (acción =='*') Número =Num1 * Num2; if (acción =='/') Número =Num1 / Num2; } void DisplayResult () {lcd.setCursor (0, 0); // coloca el cursor en la columna 0, línea 1 lcd.print (Num1); lcd.print (acción); lcd.print (Num2); if (resultado ==verdadero) {lcd.print ("="); lcd.print (Number);} // Muestra el resultado lcd.setCursor (0, 1); // coloca el cursor en la columna 0, línea 1 lcd.print (Number); // Mostrar el resultado} 

Esquemas


Proceso de manufactura

  1. Rodillo
  2. Pin de bolos
  3. Demostración y prevención de exploits del teclado Arduino (HID)
  4. Programación de la serie Atmel AT89 a través de Arduino
  5. Arduino Spybot
  6. Lectura de la señal PPM del receptor RC usando Arduino
  7. FlickMote
  8. Televisión casera B-Gone
  9. Reloj maestro
  10. Arduino + LED + Teclado MIDI + MuseScore =Tutor de piano
  11. Control de ventilador PWM de 4 pines y 25 kHz con Arduino Uno