import machine
import tm1637
import time
# --- CONFIGURACIÓN DE PINES ---
TM_CLK_PIN = 16
TM_DIO_PIN = 17
tm = tm1637.TM1637(clk=machine.Pin(TM_CLK_PIN), dio=machine.Pin(TM_DIO_PIN))
def mostrar_numero_en_display(number):
"""Convierte el número entero a cadena y lo muestra en el display."""
if number > 9999:
tm.show('Err')
return
# Convierte a cadena y rellena con espacios a la izquierda (por ejemplo, 43 -> ' 43')
number_str = str(number).rjust(4)
tm.show(number_str)
print(f"Resultado en Display: {number}")
def obtener_entrada_entero(mensaje):
"""Pide un número entero al usuario usando input()."""
# Nota: En Wokwi, debes escribir el número en la consola de salida (Output Console)
# y presionar Enter cuando se te pida.
while True:
try:
print(mensaje)
# Leer la entrada y convertirla a entero
entrada = int(input())
return entrada
except ValueError:
print("Error: Por favor, ingrese solo números enteros válidos.")
time.sleep(1) # Pequeña pausa para claridad
def algoritmo_suma_interactiva():
"""Implementación del algoritmo de suma."""
print("\n--- INICIO DEL ALGORITMO DE SUMA ---")
# 1. Entrada de datos (Solicitar números al usuario)
numero1 = obtener_entrada_entero("Ingrese el primer número entero:15")
numero2 = obtener_entrada_entero("Ingrese el segundo número entero:7")
# 2. Proceso: Calcular la suma
resultado = numero1 + numero2
# 3. Salida: Mostrar resultado
print("-" * 30)
print(f"La operación fue: {numero1} + {numero2}")
print(f"El resultado final es: {resultado}")
print("-" * 30)
# Mostrar el resultado en el display físico
mostrar_numero_en_display(resultado)
# --- EJECUCIÓN DEL PROGRAMA ---
if __name__ == "__main__":
algoritmo_suma_interactiva()
# Mantener el programa esperando indefinidamente para que el display permanezca encendido
print("Algoritmo finalizado. El resultado permanece en el display. Presione RESTART para otra suma.")
while True:
time.sleep(1)