Tabla de contenido:

Concurso Calculadora TinkerCad: 8 pasos
Concurso Calculadora TinkerCad: 8 pasos

Video: Concurso Calculadora TinkerCad: 8 pasos

Video: Concurso Calculadora TinkerCad: 8 pasos
Video: EJERCICIO 8 TINKERCAD PLACA PRUEBA DE PEQUEÑA Y BOMBILLAS 2024, Noviembre
Anonim
Concurso Calculadora TinkerCad
Concurso Calculadora TinkerCad

Oye, recientemente he estado explorando cómo implementar diferentes tipos de código en un circuito. Descubrí que hacer una calculadora sería una excelente manera de implementar "case" y otras formas de código que me parecieron interesantes. En el pasado, hice calculadoras directamente a partir del código, pero hacer un circuito me interesó. Especialmente durante este tiempo de cuarentena donde estoy en mi computadora casi todo el día. El proyecto consiste en implementar operaciones matemáticas en una pantalla LCD.

Paso 1: Materiales

Para circuito:

  • LCD 16 x 2
  • Arduino Uno R3
  • Teclado 4x4
  • Placa de pruebas pequeña
  • Potenciómetro (250 kΩ)
  • Resistencia (1kΩ)
  • x26 cables de puente

Paso 2: Conexión del teclado 4x4

Conexión del teclado 4x4
Conexión del teclado 4x4

Conecte los pines de 4 filas en el teclado 4x4 a los pines 4-7 de Arduino, y conecte los pines de 4 columnas a los pines 0-3 de Arduino.

Paso 3: Proporcione energía a la placa de pruebas y conecte la pantalla LCD

Proporcione energía a la placa de pruebas y conecte la pantalla LCD
Proporcione energía a la placa de pruebas y conecte la pantalla LCD

Usé un voltaje de alimentación de 5 para la placa de pruebas. Conecté la energía y la tierra a la placa de pruebas. La pantalla LCD se coloca en la placa de pruebas y se coloca de modo que todos sus pines se conecten a la placa de pruebas.

Paso 4: Conecte la alimentación y la tierra a la pantalla LCD

Conecte la alimentación y la tierra a la pantalla LCD
Conecte la alimentación y la tierra a la pantalla LCD

Habrá 3 pines de tierra necesarios para conectarse a la pantalla LCD. Uno se conectará a la tierra del LCD, otro se conectará al LED del LCD y el último se conectará al RW. El VCC de la pantalla LCD y el LED necesitarán energía para conectarse. Sin embargo, la potencia del LED requerirá una resistencia conectada, en este caso utilicé una resistencia de 1 kΩ.

Paso 5: Conexión del potenciómetro

Conexión del potenciómetro
Conexión del potenciómetro

Conecte el potenciómetro a la placa de pruebas con 3 columnas libres. Tendrá 3 pines, la columna que contiene el terminal 1 pin necesitará tierra. La columna que contiene el pin del terminal 2 necesitará energía. Luego, el limpiaparabrisas tendrá un cable de puente en su columna que se conecta al VO de la pantalla LCD.

Paso 6: Conexión del Arduino a la pantalla LCD

Conectando el Arduino a LCD
Conectando el Arduino a LCD

Los pines 8-13 del Arduino se conectarán a la pantalla LCD. Los pines 8-11 en el Arduino se conectarán a D8 (7-4) respectivamente. Luego, el pin 12 del Arduino se conectará con la habilitación de la pantalla LCD, y el pin 13 del Arduino se conectará al registro de la pantalla LCD.

Paso 7: Implementar el código

Se necesitará código para usar operaciones matemáticas con el teclado y la pantalla LCD. El siguiente será el código que utilicé, sin embargo, aún se pueden implementar varios cambios para hacerlo más limpio y mejor. Así que siéntete libre de jugar un poco con él.

#include #incluya

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

largo primero = 0;

segundo largo = 0;

doble total = 0;

int posit = 0;

char customKey;

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] = {7, 6, 5, 4};

byte colPins [COLS] = {3, 2, 1, 0};

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

configuración vacía () {

lcd. comienzo (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

bucle vacío () {

customKey = customKeypad.getKey ();

switch (customKey) {

caso '0'… '9':

lcd.setCursor (0, 0);

primero = primero * 10 + (customKey - '0');

lcd.print (primero);

postular ++;

rotura;

caso '+':

primero = (total! = 0? total: primero);

lcd.setCursor (positivo, 0);

lcd.print ("+");

postular ++;

segundo = SecondNumber ();

total = primero + segundo;

lcd.setCursor (1, 1);

lcd.print (total);

primero = 0, segundo = 0;

postular = 0;

rotura;

caso '-':

primero = (total! = 0? total: primero);

lcd.setCursor (positivo, 0);

lcd.print ("-");

postular ++;

segundo = SecondNumber ();

total = primero - segundo;

lcd.setCursor (1, 1);

lcd.print (total);

primero = 0, segundo = 0;

postular = 0;

rotura;

caso '*':

primero = (total! = 0? total: primero);

lcd.setCursor (positivo, 0);

lcd.print ("*");

postular ++;

segundo = SecondNumber ();

total = primero * segundo;

lcd.setCursor (1, 1);

lcd.print (total);

primero = 0, segundo = 0;

postular = 0;

rotura;

caso '/':

primero = (total! = 0? total: primero);

lcd.setCursor (positivo, 0);

lcd.print ("/");

postular ++;

segundo = SecondNumber (); lcd.setCursor (1, 1);

segundo == 0? lcd.print ("Error"): total = (flotante) primero / (flotante) segundo;

lcd.print (total);

primero = 0, segundo = 0;

postular = 0;

rotura;

caso 'C':

total = 0;

primero = 0;

segundo = 0;

postular = 0;

lcd.clear ();

rotura; }

}

Long SecondNumber () {

while (1) {

customKey = customKeypad.getKey ();

if (customKey> = '0' && customKey <= '9') {

segundo = segundo * 10 + (customKey - '0');

lcd.setCursor (positivo, 0);

lcd.print (segundo); }

if (customKey == 'C') {

total = 0;

primero = 0;

segundo = 0;

postular = 0;

lcd.clear ();

rotura; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

postular = total;

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

rotura; }

}

volver segundo;}

Paso 8: Resultado

Resultado
Resultado
Resultado
Resultado

Espero que todos hayan disfrutado de este instructivo. ¡Gracias por leer!

Saim.

Recomendado: