← Índice Valentina Tech
Laboratorio 7 · Curso de Programación · CircuitPython

Diccionarios en Python: creando sistemas inteligentes con significado

Objetivos

En este laboratorio aprenderás a:


Material necesario


Introducción

Hasta ahora aprendiste a guardar información en:

Pero hay un problema importante:

👉 las listas solo guardan cosas por posición, no por significado

Ejemplo:

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:

Ejemplo:


💡 Curiosidad:
Muchos sistemas de inteligencia artificial usan estructuras tipo diccionario para representar conocimiento.


🔑 Claves y valores

En un diccionario:

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


🎤 Un sensor nuevo: el oído de la placa

En el siguiente ejemplo la placa va a decidir su estado según dos sensores: la luz
(ya la conoces del Lab 4) y, por primera vez, el sonido. Vamos a presentarlo rápido.

La Circuit Playground Express tiene un micrófono diminuto (marcado MIC). No
"entiende palabras": solo mide qué tan fuerte es el sonido del ambiente y te lo entrega
como un número con cp.sound_level.

sonido = cp.sound_level   # a más ruido, más grande el número
print(sonido)             # míralo en la consola

🎚️ Es Computación Física, como el Lab 4 y el Lab 5: el micrófono es otro sentido de la
nave (el oído). Y, como todos los sensores, hay que calibrarlo: el umbral 60 de
abajo no es fijo, depende de tu micrófono y de tu salón. Míralo con
print(cp.sound_level) en silencio y con una palmada, y ajústalo entre esos dos
valores.


🧪 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:


🔧 Retos del laboratorio


🟢 Reto 1: Diccionario de clima

Crea un sistema con estados:

💡 Objetivo: modelar fenómenos del mundo real.


🟡 Reto 2: Diccionario musical visual

Asocia sonidos a colores:

💡 Usa sensor de sonido.


🔴 Reto 3: Diccionario dinámico

Haz que:

💡 Objetivo: modificar estructuras en tiempo real.


🔴 Reto avanzado: sistema inteligente

Crea un sistema con:

💡 Ejemplo:


🧠 Desafío final

Diseña un sistema donde:


Resumen del laboratorio

En este laboratorio aprendiste:

Ahora tu programación ya no solo organiza datos:

👉 ahora crea sistemas con significado, estructura y comportamiento inteligente

Valentina Tech · Circuit Playground Express · CircuitPython