Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Animaciones LED controladas por web con Raspberry Pi y Arduino

Componentes y suministros

Raspberry Pi 3 Modelo B
× 1
Arduino UNO
También se puede usar Arduino Nano. Es posible que se necesite Arduino Mega para impulsar más píxeles LED.
× 1
Tira de NeoPixel
Se puede utilizar cualquier tira de LED WS8212.
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Descripción general del proyecto

Arduino Light Animation (ALA) es una biblioteca de Arduino para controlar LED y ejecutar animaciones coloridas con el mínimo esfuerzo. La biblioteca proporciona más de 30 animaciones predefinidas y varias paletas de colores. Para obtener más información sobre la biblioteca ALA, puede visitar mi blog.

Este proyecto presenta una placa Raspberry Pi 3 que proporcionará una página web que permitirá controlar las animaciones, los colores y la velocidad desde un teléfono inteligente o una PC utilizando el navegador web. Aquí hay un breve video de AlaWeb en acción.

Hay pocos componentes necesarios para este proyecto.

  • WS8212 Tira de LED RGB :Estas tiras contienen varios LED RGB que se pueden direccionar individualmente mediante una interfaz de un cable, lo que le permite un control total sobre el color de cada LED RGB.
  • Arduino :La famosa placa del microcontrolador ejecutará mi biblioteca ALA para controlar la tira de LED que recibe los comandos de la Raspberry PI a través del puerto serie USB. Puede utilizar placas Arduino Uno, Nano y Mega.
  • Raspberry PI :Esta pequeña PC proporcionará la página web para controlar los parámetros de iluminación y animación.

El proyecto es bastante simple si está familiarizado con las placas Arduino y Rapberry PI. He dividido el proyecto en dos pasos para guiarlo a través del proceso de configuración.

Cableado

Las tiras de LED WS8213 son muy fáciles de conectar. Solo necesita energía suficiente para impulsar todos estos LED. Para tiras muy cortas (no más de 10 LED), incluso puede alimentarlas directamente desde su puerto USB, pero para tiras más largas debe proporcionar una buena fuente de alimentación. Como punto de partida, sugiero usar el pin Arduino 5V para alimentar la tira de led como puede ver en el video de arriba.

  • Pin Arduino GND a WS2812 GND
  • Pin de Arduino 5V a WS2812 5V
  • Pin 6 de Arduino a pin WS2812 Ctrl / Din

Si desea impulsar más píxeles, debe proporcionar más potencia. El cálculo es sencillo. Cada LED RGB consume 60 mA con un color blanco brillante completo. Por ejemplo, para conducir una tira de 2 m de largo con 60 LED / metro, necesitará una fuente de alimentación de 5V que proporcione 2m * 60pixel / m * 60mA =7,2 A.

Conecte su fuente de alimentación, la placa Arduino y la tira WS8212 de esta manera.

  • Alimente GND a Arduino GND y WS2812 GND
  • Alimentación 5V a pin Arduino 5V y WS2812 5V
  • Pin 6 de Arduino a pin CTRL WS2812

Tenga en cuenta que al alimentar el pin Arduino 5V, le está proporcionando energía a Arduino, por lo que no necesita conectarlo a una segunda fuente de energía en el conector de barril. Tenga mucho cuidado al usar este esquema de conexión porque el pin de 5V pasa por alto el regulador de voltaje y las protecciones. Para obtener más detalles, puede leer esta guía.

Para obtener más detalles sobre el esquema de cableado de las tiras de LED WS8212, lea esta guía.

Configuración de Arduino

Conecte su placa Arduino al puerto USB de su PC. Abra el IDE de Arduino e inicie el Administrador de bibliotecas (Sketch> Incluir biblioteca> Administrar bibliotecas) para instalar la última biblioteca ALA .

Abra RgbStripSerial ejemplo (Archivos> Ejemplos> ALA> RgbStripSerial) y verifique que los NUM_PIXELS La definición constante coincide con el número de leds en su tira RGB. Recuerde que si desea manejar más de 10 píxeles, debe usar el esquema de conexión mejorado.

Ahora puede cargar el boceto en su tablero presionando Ctrl + U desde el IDE de Arduino o seleccionando Cargar acción en el menú Sketch. Si tiene problemas para cargar el boceto, verifique el tipo de placa y el puerto en el menú Herramientas.

Abra Arduino Serial Monitor (Herramientas> Serial Monitor) y verá un mensaje de bienvenida como este.

Establezca la línea "Nueva línea" que termina en la parte inferior derecha y asegúrese de que la velocidad en baudios esté configurada en 9600.

Ahora pruebe los siguientes comandos (en negrita) sin espacios:

  • A =101 - enciende los leds
  • A =251 - ejecutar una animación de "escáner larson"
  • P =2 - establece una paleta de arcoíris
  • A =242 - otra animación

Eso es genial, ¿verdad?

Puede experimentar los diferentes comandos y combinaciones siguiendo esta breve referencia:

  • A =[código de animación] - Establecer la animación. Los códigos de animación disponibles se enumeran en el archivo de encabezado AlaLed.h.
  • B =[brillo] - Establecer el brillo. Debe estar en el rango [0-100].
  • D =[duración] - Establecer la duración en milisegundos del ciclo de animación. Los valores estándar están entre 500 y 5000.
  • C =[color] - Establecer el color. Debe ser una representación RGB hexadecimal como E8A240.
  • P =[paleta] - Establecer la paleta. Debe estar en el rango [0-5].

Ahora controlemos las animaciones desde su teléfono inteligente.

Configuración de Raspberry PI

En esta parte del proyecto, configuraremos la placa Rapberry Pi para ejecutar un pequeño servidor web para controlar la tira de LED desde un navegador web. Tenga en cuenta que la misma aplicación se puede ejecutar en cualquier PC con Python 3 instalado.

El requisito previo es que su Raspberry PI ya esté configurado y ejecutando el último sistema operativo Raspbian (lo he probado con Stretch) y conectado a Internet.

Primero necesitamos instalar algunas bibliotecas para Python 3 con el siguiente comando:

  sudo pip3 instalar pyserial flask  

Cree un directorio de inicio para su proyecto:

  mkdir / home / pi / AlaWebcd / home / pi / AlaWeb  

Descargue el repositorio git de AlaWeb en el directorio LightStrip y extráigalo.

  wget https://github.com/bportaluri/AlaWeb/archive/master.zipunzip master.zip  

Todo el software ya está listo y configurado. Conecte el puerto USB de Arduino a la Raspberry PI. La aplicación AlaWeb que acaba de descargar se comunicará con la placa Arduino a través de la conexión en serie USB.

  cd AlaWeb-mastersudo python3 AlaWeb.py  

La aplicación AlaWeb enumerará todos los puertos serie USB e intentará detectar Arduino automáticamente. Si sigue en bucle, interrumpa la ejecución e intente pasar el nombre del puerto de la siguiente manera (reemplazando la identificación del puerto según sea necesario):

  sudo python3 AlaWeb.py / dev / ttyACM0  

Si todo está bien, debería ver algo como esto.

Abra un navegador web y conéctese a la URL que se muestra. Obtendrá una página web llena de botones que le permitirán controlar la tira de LED desde un navegador web.

¡Disfruta!

Código

AlaWeb
AlaWeb es el servidor web tini escrito en Python y Flask para controlar las animaciones desde un navegador web. Https://github.com/bportaluri/AlaWeb
ALA
Arduino Light Animation (ALA) es una biblioteca para placas Arduino para simplificar el desarrollo de animaciones de luz usando LED y tiras de LED. Visite esta página para más detalles:http://yaab-arduino.blogspot.it/p/ala.htmlhttps://github.com/bportaluri/ALA

Esquemas


Proceso de manufactura

  1. Cree un detector de incendios en minutos con Samsung SAMIIO, Arduino UNO y Raspberry Pi
  2. Aeroponía con Raspberry Pi y sensor de humedad
  3. Creación de robots con Raspberry Pi y Python
  4. Cree su robot de transmisión de video controlado por Internet con Arduino y Raspberry Pi
  5. Robot con video controlado por web Raspberry Pi
  6. Panel LCD con Arduino para Flight Simulator
  7. Panel de interruptores / LED con Arduino para FS2020
  8. ¡Arduino con Bluetooth para controlar un LED!
  9. Arduino Cuadrúpedo
  10. Control del servomotor con Arduino y MPU6050
  11. Control del brillo del LED usando Bolt y Arduino