Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Simulador de Sumador de Binarios con ESP32, Guías, Proyectos, Investigaciones de Diseño de Sistemas Digitales

El documento es un informe de laboratorio que describe la implementación de un circuito basado en un microcontrolador ESP32 para sumar números binarios mediante DIP switches y visualizar el resultado en LEDs. Explica detalladamente el montaje del hardware, incluyendo la conexión del ESP32, DIP switches, LEDs, resistencias y un botón para alternar entre suma y resta. Luego, describe la configuración y carga del código en el ESP32 usando el IDE de Arduino. Además, proporciona un código en C++ que gestiona la lectura de entradas, el cálculo de la suma/resta y la representación visual en LEDs. Finalmente, muestra ejemplos de uso y pruebas con diferentes valores binarios, asegurando la correcta interpretación de los resultados en el monitor serial y los LEDs.

Tipo: Guías, Proyectos, Investigaciones

2023/2024

A la venta desde 21/02/2025

Domixp31
Domixp31 🇪🇨

3 documentos

1 / 7

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
LABORATORIO
INSTITUTO SUPERIOR UNIVERSITARIO CENTRAL
TÉCNICO
MECATRÓNICA
CARRERA DE MECATRÓNICA
NOMBRE DEL ESTUDIANTE: ZURITA REQUENA DOMENICA ESTEFANIA
MATERIA: Sistemas digitales y microcontroladores
FECHA: 24/11/2024
Tema: Simulador de Sumador de Binarios con ESP32
Antes de comenzar, asegúrate de contar con los siguientes elementos:
ESP32: Microcontrolador que ejecutará el programa.
Protoboard: Para conectar y organizar los componentes.
DIP Switches: Dos bancos de 4 switches para representar los números binarios.
LEDs: Cinco LEDs (4 para bits y 1 para el acarreo).
Resistencias:
470 Ω o 330 Ω para limitar la corriente de los LEDs.
Pull-down en el botón, aunque el ESP32 puede usar su resistencia interna.
Botón momentáneo: Para alternar entre los modos de suma y resta.
Cables de conexión: Para conectar todos los componentes.
Fuente de alimentación: El ESP32 se puede alimentar por USB.
2. Armado del Circuito
Sigue estos pasos para armar el circuito en la protoboard:
Conexión del ESP32
1. Coloca el ESP32 en la protoboard.
2. Conecta un cable desde el pin GND del ESP32 a la línea negativa de la protoboard.
3. Conecta el pin 3V3 del ESP32 a la línea positiva de la protoboard para alimentar los
componentes.
Configuración de los DIP Switches
1. Coloca dos bancos de 4 DIP switches en la protoboard. Cada switch tiene dos
estados:
ON: Genera un nivel alto (3.3 V).
OFF: Genera un nivel bajo (0 V).
2. Conecta:
El lado izquierdo de cada switch a la línea positiva de la protoboard (3.3 V).
El lado derecho a una resistencia pull-down de 10 kΩ, y luego a la línea
negativa.
3. Asigna cada pin de los switches a los pines del ESP32 según el siguiente esquema:
DIP Switch 1 (número A):
Bit 0 Pin 2 (A0).
Bit 1 Pin 4 (A1).
Bit 2 Pin 16 (A2).
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Simulador de Sumador de Binarios con ESP32 y más Guías, Proyectos, Investigaciones en PDF de Diseño de Sistemas Digitales solo en Docsity!

LABORATORIO INSTITUTO SUPERIOR UNIVERSITARIO CENTRAL TÉCNICO MECATRÓNICA CARRERA DE MECATRÓNICA NOMBRE DEL ESTUDIANTE: ZURITA REQUENA DOMENICA ESTEFANIA MATERIA: Sistemas digitales y microcontroladores FECHA: 24/11/

Tema: Simulador de Sumador de Binarios con ESP

Antes de comenzar, asegúrate de contar con los siguientes elementos: ● ESP32 : Microcontrolador que ejecutará el programa. ● Protoboard : Para conectar y organizar los componentes. ● DIP Switches : Dos bancos de 4 switches para representar los números binarios. ● LEDs : Cinco LEDs (4 para bits y 1 para el acarreo). ● Resistencias : ○ 470 Ω o 330 Ω para limitar la corriente de los LEDs. ○ Pull-down en el botón, aunque el ESP32 puede usar su resistencia interna. ● Botón momentáneo : Para alternar entre los modos de suma y resta. ● Cables de conexión : Para conectar todos los componentes. ● Fuente de alimentación : El ESP32 se puede alimentar por USB.

2. Armado del Circuito

Sigue estos pasos para armar el circuito en la protoboard: Conexión del ESP

  1. Coloca el ESP32 en la protoboard.
  2. Conecta un cable desde el pin GND del ESP32 a la línea negativa de la protoboard.
  3. Conecta el pin 3V3 del ESP32 a la línea positiva de la protoboard para alimentar los componentes. Configuración de los DIP Switches
  4. Coloca dos bancos de 4 DIP switches en la protoboard. Cada switch tiene dos estados: ○ ON : Genera un nivel alto (3.3 V). ○ OFF : Genera un nivel bajo (0 V).
  5. Conecta: ○ El lado izquierdo de cada switch a la línea positiva de la protoboard (3.3 V). ○ El lado derecho a una resistencia pull-down de 10 kΩ, y luego a la línea negativa.
  6. Asigna cada pin de los switches a los pines del ESP32 según el siguiente esquema: ○ DIP Switch 1 (número A): ■ Bit 0 → Pin 2 (A0). ■ Bit 1 → Pin 4 (A1). ■ Bit 2 → Pin 16 (A2).

■ Bit 3 → Pin 17 (A3). ○ DIP Switch 2 (número B): ■ Bit 0 → Pin 18 (B0). ■ Bit 1 → Pin 19 (B1). ■ Bit 2 → Pin 21 (B2). ■ Bit 3 → Pin 22 (B3). Conexión de los LEDs

  1. Coloca los 5 LEDs en la protoboard (4 para el resultado y 1 para el acarreo).
  2. Conecta el cátodo (lado corto) de cada LED a la línea negativa de la protoboard.
  3. Conecta el ánodo (lado largo) a una resistencia de 470 Ω.
  4. Conecta el otro extremo de la resistencia a los pines del ESP32: ○ Bit 0 del resultado → Pin 5 (S0). ○ Bit 1 del resultado → Pin 23 (S1). ○ Bit 2 del resultado → Pin 25 (S2). ○ Bit 3 del resultado → Pin 26 (S3). ○ Carry → Pin 27 (CARRY). Conexión del Botón
  5. Coloca el botón momentáneo en la protoboard.
  6. Conecta un lado del botón al pin 32 del ESP32.
  7. Conecta el mismo lado a una resistencia pull-down de 10 kΩ y luego a GND.
  8. Conecta el otro lado del botón a la línea positiva (3.3 V). Verificación del Circuito Revisa todas las conexiones para evitar cortocircuitos o pines mal conectados.

3. Cargar el Código en el ESP

  1. Instala el IDE de Arduino : ○ Si no lo tienes, descárgalo e instálalo desde Arduino. ○ Instala las bibliotecas necesarias para el ESP32 siguiendo guías como esta.
  2. Configura el ESP32 en el IDE de Arduino : ○ Selecciona la placa adecuada: ESP32 Dev Module. ○ Configura el puerto COM correspondiente.
  3. Carga el Código : ○ Copia el código proporcionado (con los comentarios claros). ○ Sube el programa al ESP32 desde el IDE.

4. Realizar la Simulación

Paso 1: Encender el Circuito ● Alimenta el ESP32 mediante el puerto USB conectado al ordenador o a una fuente externa. Paso 2: Configurar los Números en los DIP Switches

  1. Define el número A activando los switches del DIP Switch 1:

7. Código

// Pines DIP Switch 1 para el número A #define A0 2 // Bit 0 del número A #define A1 4 // Bit 1 del número A #define A2 16 // Bit 2 del número A #define A3 17 // Bit 3 del número A // Pines DIP Switch 2 para el número B #define B0 18 // Bit 0 del número B #define B1 19 // Bit 1 del número B #define B2 21 // Bit 2 del número B #define B3 22 // Bit 3 del número B // Pines LEDs para mostrar el resultado #define S0 5 // Bit 0 del resultado #define S1 23 // Bit 1 del resultado #define S2 25 // Bit 2 del resultado #define S3 26 // Bit 3 del resultado #define CARRY 27 // LED de acarreo (carry) // Botón para cambiar entre suma y resta #define BUTTON 32 // Variables globales bool mode = true; // true = suma, false = resta bool lastButtonState = LOW; // Estado anterior del botón void setup() { // Configurar los pines de entrada para los DIP switches pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); pinMode(A3, INPUT); pinMode(B0, INPUT); pinMode(B1, INPUT); pinMode(B2, INPUT); pinMode(B3, INPUT); // Configurar los pines de salida para los LEDs pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT);

pinMode(S3, OUTPUT); pinMode(CARRY, OUTPUT); // Configurar el botón como entrada con resistencia pull-down pinMode(BUTTON, INPUT_PULLDOWN); // Inicializar la comunicación serial Serial .begin( 9600 ); // Iniciar en modo Suma Serial .println("Se encuentra en modo Suma"); } void loop() { // Leer los valores de los DIP switches para el número A int a0 = digitalRead(A0); int a1 = digitalRead(A1); int a2 = digitalRead(A2); int a3 = digitalRead(A3); // Leer los valores de los DIP switches para el número B int b0 = digitalRead(B0); int b1 = digitalRead(B1); int b2 = digitalRead(B2); int b3 = digitalRead(B3); // Convertir los valores binarios de A y B a enteros en decimal int A = (a3 << 3 ) | (a2 << 2 ) | (a1 << 1 ) | a0; int B = (b3 << 3 ) | (b2 << 2 ) | (b1 << 1 ) | b0; // Leer el estado actual del botón bool buttonState = digitalRead(BUTTON); // Detectar si el botón ha sido presionado para cambiar el modo if (buttonState == HIGH && lastButtonState == LOW) { mode = !mode; // Cambiar entre suma y resta if (mode) { Serial .println("Modo: Suma"); } else { Serial .println("Modo: Resta"); } delay( 300 ); // Evitar rebote del botón }