Ir al contenido principal

Práctica 2 Teclado Matricial // TETRIS

Haciendo una calculadora usando un teclado matricial en Tinkercad

En tinkercad hacer uso de los siguientes elementos:

  • Arduino UNO
  • Teclado matricial 4X4
  • 1 resistencia 220 K Ohms
  • LCD 16 x 2
Armar el circuito como se especifica en la siguiente imagen  y probar este código, el cual es una calculadora con las 4 operaciones básicas.



#include <Keypad.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

long first = 0;
long second = 0;
double total = 0;

char customKey;
const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
  {'1','2','3','+'},
  {'4','5','6','-'},
  {'7','8','9','*'},
  {'C','0','=','/'}
};
byte rowPins[ROWS] = {7,6,5,4}; // Asignamos a las filas los pinouts correspondientes
byte colPins[COLS] = {3,2,1,0}; //Asignamos a las columnas los pinouts correspondientes

//Instanciamos la clase NewKeypad
Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS); 

void setup()
{
lcd.begin(16, 2);               // start lcd
lcd.setCursor(0,0);
  lcd.print("Calculadora CSI");
  lcd.setCursor(0,1);
delay(4000);
lcd.clear();
lcd.setCursor(0, 0);
}


void loop()
{

  customKey = customKeypad.getKey();
  switch(customKey) 
  {
  case '0' ... '9': // Seleccionamos los valores del 0 al 9 de nuestro teclado.
    lcd.setCursor(0,0);
    first = first * 10 + (customKey - '0');
    lcd.print(first);
    break;

  case '+':
    first = (total != 0 ? total : first);
    lcd.setCursor(0,1);
    lcd.print("+");
    second = SecondNumber(); // Obtengo el segundo numero
    total = first + second;
    lcd.setCursor(0,3);
    first = 0, second = 0; // Inicializamos los valores
    lcd.print(total);
    break;
    
  case 'C':
    total = 0;
    lcd.clear();
    break;
      
    case '-':
    first = (total != 0 ? total : first);
    lcd.setCursor(0,1);
    lcd.print("-");
    second = SecondNumber(); // Obtengo el segundo numero
    total = first - second;
    lcd.setCursor(0,3);
    first = 0, second = 0; // Inicializamos los valores
    lcd.print(total);
    break;
    
    case '*':
    first = (total != 0 ? total : first);
    lcd.setCursor(0,1);
    lcd.print("*");
    second = SecondNumber(); // Obtengo el segundo numero
    total = first * second;
    lcd.setCursor(0,3);
    first = 0, second = 0; // Inicializamos los valores
    lcd.print(total);
    break;

    case '/':
    first = (total != 0 ? total : first);
    lcd.setCursor(0,1);
    lcd.print("/");
    second = SecondNumber(); // Obtengo el segundo numero
    total = first / second;
    lcd.setCursor(0,3);
    first = 0, second = 0; // Inicializamos los valores
    lcd.print(total);
    break;
    

  }
}

long SecondNumber()
{
  while( 1 )
  {
    customKey = customKeypad.getKey();
    if(customKey >= '0' && customKey <= '9')
    {
      second = second * 10 + (customKey - '0');
      lcd.setCursor(0,2);
      lcd.print(second);
    }

    if(customKey == '=') break;  
  }
 return second; 
}





Comentarios

Entradas populares de este blog

EXAMEN DE EXCEL 📚🧠📌

 Seguir las indicaciones para cumplir con la evaluación de Excel 💪📊📌📂📚🧠 Actividad 1: Una tienda de computadoras necesita adquirir nueva mercancía, para ello necesitan elaborar en Excel una tabla de gastos, para tener un presupuesto. Esta es la lista que tienen y el precio Computadora de escritorio - 10500 pesos 💻💻💻💻 Laptop Lenovo - 9800 pesos 💻🧍 Audifonos - 150 pesos 👂 💻 Mouse - 100 pesos 🐀 Teclado - 250 pesos 🎹 Licencia de antivirus - 1800 pesos 👾👾👾👿 Tapete para mouse - 250 pesos La tienda necesita  Computadora de escritorio - 8 piezas Laptop Lenovo - 25 piezas Audifonos - 50 piezas Mouse - 33 piezas Teclado - 33 piezas Licencia de antivirus - 7 piezas Tapete para mouse - 50 piezas Elaborar en Excel una hoja llamada "PRESUPUESTO" de color verde y en esa hoja una tabla donde se coloquen los precios por cada pieza y al final se coloque el total global de todo lo que se debe de gastar, favor de revisar bien las filas y columnas, ya que son importantes Agrega...

Examen Práctico de Microsoft Word

Las siguientes indicaciones forman parte del examen en Microsoft Word 📕📚🤓🤓 No olviden tomar en cuenta aspectos como tamaño, tipo de letra, color, etc. 1. Elaborar un documento en Word sobre  "¿Qué es la  Computación en la nube?"  😱🙀  mínimo  1 hoja de investigación , y en base a ello  complementar el documento con las siguientes instrucciones. ⛅💻 2. Crear un Gráfico SmartArt  de tipo "Jerarquía". Añade los siguientes modelos de implementación en el gráfico: 1.  "Nube Pública"  👾 2.  "Nube Privada" 💥 3.  "Nube Híbrida" 👀 Cambia los colores del Smart Art a uno que te guste. ✐🔵🔴🟢 3. Uso de Ilustraciones para explicar el Uso de la Nube 🌄🌄 Inserta 2 imágenes relacionadas con el uso de la nube. Da formato y posición a las imágenes, de manera que se vean agradables a la vista. 😀💬👀 😎😎👍GUARDAR EL ARCHIVO CON EL NOMBRE: Nombre_Apellidos_EXAMEN1_WORD.docx