Objetivos
En este laboratorio aprenderás a:
- Entender qué es un diccionario en Python.
- Asociar “claves” con “valores” de forma estructurada.
- Modelar información como si fuera un sistema inteligente.
- Usar diccionarios para controlar la Circuit Playground Express.
- Construir programas más organizados y escalables.
- Representar conceptos del mundo real (emociones, estados, reglas).
Material necesario
- Circuit Playground Express
- Cable USB
- Computadora con CircuitPython
- Conocimientos de variables, listas y condicionales
Introducción
Hasta ahora aprendiste a guardar información en:
- variables (un solo valor)
- listas (muchos valores ordenados)
Pero hay un problema importante:
👉 las listas solo guardan cosas por posición, no por significado
Ejemplo:
- lista[0] = rojo
- lista[1] = verde
Pero… ¿qué significa cada cosa?
Aquí entran los diccionarios.
📘 ¿Qué es un diccionario?
Un diccionario es una estructura que guarda información en pares:
👉 clave → valor
Ejemplo:
emocion = {
"feliz": "verde",
"triste": "azul",
"enojado": "rojo"
}
🧠 Analogía sencilla
Un diccionario es como:
- un diccionario real de palabras
- una base de datos simple
- una tabla de significados
Ejemplo:
- “feliz” → verde
- “triste” → azul
💡 Curiosidad:
Muchos sistemas de inteligencia artificial usan estructuras tipo diccionario para representar conocimiento.
🔑 Claves y valores
En un diccionario:
- clave = nombre del concepto
- valor = lo que representa
Ejemplo:
"feliz" → (0, 255, 0)
🎨 Diccionarios en Circuit Playground Express
Vamos a usar diccionarios para controlar luces según estados.
🧪 Ejemplo 1: emociones como colores
Código
import time
from adafruit_circuitplayground import cp
emociones = {
"feliz": (0, 255, 0),
"triste": (0, 0, 255),
"enojado": (255, 0, 0),
"calma": (0, 0, 100)
}
estado = "feliz"
cp.pixels.brightness = 0.2
while True:
color = emociones[estado]
for i in range(10):
cp.pixels[i] = color
time.sleep(1)
🔍 Explicación
1. Diccionario principal
emociones = {
"feliz": (0, 255, 0),
"triste": (0, 0, 255)
}
Cada emoción tiene un color asociado.
2. Estado actual
estado = "feliz"
El sistema “vive” en un estado.
3. Acceso al diccionario
color = emociones[estado]
Busca el color correspondiente.
🧪 Ejemplo 2: cambio de estado con botones
import time
from adafruit_circuitplayground import cp
emociones = {
"feliz": (0, 255, 0),
"triste": (0, 0, 255),
"enojado": (255, 0, 0)
}
estado = "feliz"
cp.pixels.brightness = 0.2
while True:
if cp.button_a:
estado = "feliz"
if cp.button_b:
estado = "enojado"
color = emociones[estado]
for i in range(10):
cp.pixels[i] = color
time.sleep(0.1)
🔍 Resultado esperado
- Botón A → verde (feliz)
- Botón B → rojo (enojado)
- Sin botones → mantiene estado
🧪 Ejemplo 3: sistema de estados complejos
import time
from adafruit_circuitplayground import cp
estados = {
"calma": (0, 0, 255),
"alerta": (255, 255, 0),
"alarma": (255, 0, 0)
}
estado = "calma"
while True:
luz = cp.light
sonido = cp.sound_level
if sonido > 60:
estado = "alarma"
elif luz < 20:
estado = "alerta"
else:
estado = "calma"
color = estados[estado]
for i in range(10):
cp.pixels[i] = color
time.sleep(0.1)
🧠 Concepto clave
Los diccionarios permiten:
- dar significado a los datos
- organizar sistemas complejos
- crear estructuras tipo “cerebro simple”
- separar lógica de representación
🔧 Retos del laboratorio
🟢 Reto 1: Diccionario de clima
Crea un sistema con estados:
- soleado → amarillo
- nublado → blanco
- lluvia → azul
- tormenta → rojo parpadeante
💡 Objetivo: modelar fenómenos del mundo real.
🟡 Reto 2: Diccionario musical visual
Asocia sonidos a colores:
- grave → rojo
- medio → verde
- agudo → azul
💡 Usa sensor de sonido.
🔴 Reto 3: Diccionario dinámico
Haz que:
- botón A agrega un nuevo estado al diccionario
- botón B cambia entre estados
💡 Objetivo: modificar estructuras en tiempo real.
🔴 Reto avanzado: sistema inteligente
Crea un sistema con:
- al menos 5 estados
- al menos 2 sensores
- comportamiento distinto por estado
- transición automática entre estados
💡 Ejemplo:
- calma
- alerta
- curiosidad
- estrés
- reposo
🧠 Desafío final
Diseña un sistema donde:
- cada estado tenga un significado claro
- cada estado tenga un comportamiento visual distinto
- el sistema cambie según el entorno
- el diccionario sea el “cerebro” del programa
Resumen del laboratorio
En este laboratorio aprendiste:
- Qué es un diccionario en Python.
- Cómo funciona la relación clave → valor.
- Cómo representar estados complejos.
- Cómo organizar sistemas más inteligentes.
- Cómo separar lógica y significado.
- Cómo construir programas más escalables.
Ahora tu programación ya no solo organiza datos:
👉 ahora crea sistemas con significado, estructura y comportamiento inteligente
Valentina Tech