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

Proyectos completos: diseño de sistemas interactivos con Circuit Playground

Objetivos

En este laboratorio aprenderás a:


Material necesario


Introducción

Hasta ahora has aprendido piezas importantes:

Pero un problema típico en programación es este:

👉 saber muchas cosas, pero no saber cómo juntarlas


🧠 ¿Qué es un proyecto completo?

Un proyecto completo es un sistema que:


🧠 Analogía sencilla

Es como una máquina expendedora:

Todo está conectado.


🌐 Proyecto del laboratorio

Vamos a construir un sistema llamado:

👉 Guardia inteligente de ambiente

Este sistema:


🧩 Diseño del sistema

Estados del sistema


Reglas del sistema


Nuestro octavo programa


Código completo

import time
from adafruit_circuitplayground import cp

estados = {
    "calma": (0, 0, 255),
    "alerta": (255, 255, 0),
    "alarma": (255, 0, 0)
}

estado = "calma"

cp.pixels.brightness = 0.2

while True:

    luz = cp.light
    sonido = cp.sound_level

    # BOTONES (control manual)
    if cp.button_a:
        estado = "calma"

    if cp.button_b:
        estado = "alarma"

    # SENSORES (control automático)
    if sonido > 65:
        estado = "alarma"

    elif luz < 15:
        estado = "alerta"

    # SALIDA VISUAL
    color = estados[estado]

    for i in range(10):
        cp.pixels[i] = color

    time.sleep(0.1)

Explicación del diseño


1. Separación de responsabilidades

El programa tiene 3 partes:


2. Control manual

if cp.button_a:
    estado = "calma"

El usuario puede “resetear” el sistema.


if cp.button_b:
    estado = "alarma"

El usuario puede forzar una alerta.


3. Control automático

if sonido > 65:
    estado = "alarma"

El sistema detecta peligro por sonido.


elif luz < 15:
    estado = "alerta"

Detecta oscuridad como condición de alerta.


4. Visualización

for i in range(10):
    cp.pixels[i] = color

Todo el sistema se representa con color.


💡 Curiosidad:
Este tipo de arquitectura se usa en sistemas de seguridad reales.


Cómo funciona físicamente

  1. Sensores captan el entorno
  2. Botones permiten intervención humana
  3. Reglas deciden el estado
  4. Estado define comportamiento
  5. LEDs muestran la situación

👉 Es un ciclo completo de percepción y acción


Retos del laboratorio


🟢 Reto 1: Modo nocturno inteligente

Agrega:

💡 Objetivo: combinar múltiples condiciones.


🟡 Reto 2: Historial de eventos

Haz que:

💡 Objetivo: introducir memoria del sistema.


🔴 Reto 3: Panel de control

Agrega más botones o combinaciones:

💡 Objetivo: crear control avanzado.


Resumen del laboratorio

En este laboratorio aprendiste:

Ahora tu placa ya no ejecuta solo programas:

👉 ahora es un sistema completo de monitoreo inteligente con comportamiento definido

Valentina Tech · Circuit Playground Express · CircuitPython