Código de búsqueda

Lección 5 de 10 del curso: Control del LED RGB WS2812B usando Raspberry Pi Pico

Esta lección es parte de: Coche inteligente Raspberry Pi Pico 4WD

Lección 5 de 10 del curso: Control del LED RGB WS2812B usando Raspberry Pi Pico

Esta lección, parte del curso de Robojax sobre el coche inteligente Raspberry Pi Pico, se centra en el control de la tira de LED RGB (WS2812B) en el kit de coche de tracción a las cuatro ruedas de SunFounder. Irás más allá del simple control de encendido y apagado y aprenderás a mezclar valores de rojo, verde y azul para crear cualquier color, controlar LED individuales y crear secuencias de luz dinámicas como un efecto de luz "caminante". Esta habilidad es fundamental para añadir retroalimentación visual y personalidad a tus proyectos de robótica.

Controlar LED RGB es una habilidad esencial para cualquier proyecto de robótica o electrónica. Aquí tienes algunas cosas prácticas que puedes construir con este conocimiento:

  • Indicadores de estado personalizados: Usa diferentes colores para mostrar el estado de tu robot, como verde para "listo", azul para "trabajando" y rojo para "error".
  • Efectos de iluminación interactivos: Crea patrones de luz estilo "persecución" o "caballero de la noche" para un robot más dinámico y atractivo.
  • Retroalimentación visual para sensores: Programa los LED para que cambien de color según los datos del sensor, como volverse rojo cuando hay un obstáculo cerca o azul cuando sigue una línea.
  • Iluminación ambiental: Configura los LED a un color aleatorio o a un tono específico para crear un ambiente personalizado para tu coche u otros proyectos.

Hardware/Componentes

Este proyecto utiliza los componentes que vienen con el kit de coche de tracción a las cuatro ruedas Raspberry Pi Pico de SunFounder. El componente clave es la tira de LED RGB en sí, que está controlada por la Raspberry Pi Pico.

  • Raspberry Pi Pico
  • Kit de coche de tracción a las cuatro ruedas de SunFounder (que incluye la tira de LED RGB WS2812B)
  • Paquete de baterías para el coche (para alimentar los LED, como se menciona en el video)

Guía de cableado

La lección en video no detalla el proceso de cableado, ya que es parte del diseño preensamblado del kit del coche. Los LED ya están conectados a la Raspberry Pi Pico. Para una configuración personalizada, normalmente conectarías el pin de datos de la tira WS2812B a un pin GPIO en la Pico, junto con alimentación (5V) y tierra (GND). Dado que esta lección usa el kit del coche, no se necesita cableado adicional.

Si estás construyendo esto en una placa de pruebas, conectarías la línea de datos de tu tira de LED a un pin GPIO (por ejemplo, GP0) y la alimentarías con una fuente externa de 5V.

Explicación del código

La lección se centra en el uso de las funciones preescritas de la biblioteca del kit del coche. La función principal para controlar las luces es set_light_color(). Este método se llama en el objeto del coche y toma dos argumentos principales: el número de ID de la luz y una lista de tres valores que representan la intensidad de Rojo, Verde y Azul (RGB).

Aquí tienes un desglose de cómo usar las funciones clave demostradas en el video:

  • car.set_light_color(LED_ID, [R, G, B]): Esta es la forma más directa de controlar un LED individual. El LED_ID es un entero de 0 a 23, y el color es una lista como [255, 0, 0] para rojo.
  • Funciones auxiliares de la biblioteca: La biblioteca del kit proporciona funciones de nivel superior como set_all_light_color(), set_bottom_left_color() y set_bottom_right_color() para controlar grupos de LED más fácilmente.

Para crear un color personalizado, puedes ajustar los tres valores en la lista. Por ejemplo, [255, 255, 0] hace amarillo, [0, 255, 255] hace cian, y [255, 0, 255] hace rosa o magenta. El video demuestra la creación de estos colores mezclando los valores RGB primarios.

Para colores aleatorios, puedes usar la función random.randint(0, 255) para generar valores aleatorios para R, G y B, como se muestra en el ejemplo "aleatorio". Esto asigna un color único y aleatorio a cada uno de los 24 LED.

Proyecto/Demostración en vivo

En el video, el instructor demuestra los conceptos en vivo. Primero muestra cómo encender todas las luces inferiores a un verde sólido configurando los valores RGB a [0, 255, 0]. Luego, cambia el color a rojo configurando [255, 0, 0]. La demostración continúa mostrando cómo controlar LED individuales por su número de ID (0-23) y configurar sus colores de forma independiente.

Una parte significativa del video está dedicada a crear un efecto de "luz caminante". Esto se hace con un bucle for que itera de 1 a 24. En cada iteración, enciende el LED actual durante un tiempo determinado (por ejemplo, 300 milisegundos) y luego lo apaga durante un tiempo muy corto (por ejemplo, 10 milisegundos) antes de pasar al siguiente. Esto crea la ilusión de una luz que se mueve a lo largo de la tira. El instructor también muestra cómo ajustar la velocidad de este efecto cambiando los valores de retardo.

Finalmente, demuestra el programa de "color aleatorio", que usa la biblioteca random para generar un color único para cada uno de los 24 LED cada vez que se ejecuta el código, creando una exhibición vibrante y multicolor.

Capítulos

  • [00:00] Introducción a los LED RGB y al curso de coche inteligente
  • [02:36] Comprensión del modelo de color RGB
  • [05:00] Control de luces con funciones de la biblioteca
  • [09:01] Cómo controlar LED individuales (0-23)
  • [13:08] Creación de un efecto de luz caminante
  • [15:32] Generación de colores aleatorios para cada LED
Sin código adjunto.

Recursos y referencias

Aún no hay recursos.

Archivos📁

No hay archivos disponibles.