import time
import machine
from machine import Pin, I2C
import ssd1306
# Simula la respuesta de la API de ChatGPT
def fake_chatgpt_response(prompt):
respuestas = {
"Hola": "¡Hola! ¿Cómo estás? 😊",
"¿Qué es Python?": "Python es un lenguaje de programación de alto nivel.",
"¿Quién eres?": "Soy una IA simulada como ChatGPT en Wokwi.",
}
return respuestas.get(prompt, "Lo siento, no entendí la pregunta.")
# Configuración de la pantalla OLED
i2c = I2C(0, scl=Pin(1), sda=Pin(0))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
# Botón en GP15 (opcional)
boton = Pin(15, Pin.IN, Pin.PULL_UP)
# Mensaje por defecto si se presiona el botón
mensaje_predefinido = "¿Qué es Python?"
def mostrar_texto(texto):
oled.fill(0)
lineas = []
while len(texto) > 0:
lineas.append(texto[:20])
texto = texto[20:]
for i, linea in enumerate(lineas[:3]):
oled.text(linea, 0, i * 10)
oled.show()
def main():
print("Simulación ChatGPT en Pico W")
mostrar_texto("Listo para usar :)")
while True:
# Opción 1: entrada por REPL
entrada = input("Escribe tu pregunta: ")
if entrada.lower() in ["salir", "exit"]:
print("Adiós 👋")
mostrar_texto("Adios :)")
break
print("Enviando pregunta a ChatGPT...")
mostrar_texto("Enviando pregunta...")
time.sleep(1)
respuesta = fake_chatgpt_response(entrada)
print("Respuesta:", respuesta)
mostrar_texto(respuesta)
time.sleep(3)
# Opción 2: se presiona un botón para enviar pregunta fija
if boton.value() == 0:
mostrar_texto("Botón presionado!")
print("Enviando:", mensaje_predefinido)
respuesta = fake_chatgpt_response(mensaje_predefinido)
mostrar_texto(respuesta)
time.sleep(3)
main()