Go Down

Topic: Matrices LED PWM (8x8 a 16x16)  (Read 1 time) previous topic - next topic

Raulitus

Hola gente:

 Ando mirando como controlar matrices LED con Arduino, mi idea es controlar (por ahora una) con el MAX7219 como multiplexador con un UNO. Para luego ir concatenando unas cuantas 8x8. Antes de meterme más al lío tengo unas dudas: ¿El UNO podría procesar bien una matriz 16x16? ¿O mejor usar el Zero o Due? ¿Podría controlar cada led por pwm (me gustaría dar "tonalidades" a cada led)? Y el tema de consumo pues no me queda claro, he visto vídeos de matrices grandes que tiran de alimentación externa.

Un saludo y gracias de antemano.

TFTLCDCyg

#1
Oct 14, 2015, 01:28 pm Last Edit: Oct 14, 2015, 01:35 pm by TFTLCDCyg
La alimentación externa consiste en una bateria, un eliminador o una fuente. Para que el circuito funcione, la tierra de la fuente, la tierra de las matrices y la tierra de tu arduino deben estar unidas.

La linea VCC de la matriz o arreglo de matrices debe ir conectado a la linea VCC de la fuente externa. Todas las demás lineas de la matriz o arreglo de matrices se conectan al arduino.

A partir de unos 40 leds el UNO o el MEGA  comienzan a reducir su velocidad. Si hablamos de un par de matrices 5x8, los tirones ya son muy perceptibles, incluso 80 leds WS2812b ya presentan ralentizaciones apreciables.

Para manejar 80 (2 5x8) a 128 (2  8x8) leds de forma decente tendrías que ir directamente por un arduino Due, un chipkit o un teensy 3.1/3.2. En un extremo un Rasberry Pi, una beaglebone Black o alguna STM4XX serían una buena elección

Estoy tratando de hacer funcionar un par de matrices RGB-WS2812b  de 5x8 en un arduino Due, alimentadas con una fuente para protoboard 5V/3.3V





Raulitus

#2
Oct 16, 2015, 02:43 pm Last Edit: Oct 16, 2015, 02:51 pm by Raulitus
Muy interesante el proyecto, gracias por la explicación!
Cuántos leds por PWM puedes controlar simultáneamente?

Mi idea no era usar RGB sino matrices de un sólo color, y mediante la modulación ir dando intensidad a cada led. Un ejemplo práctico sería que Matlab me leyera una imagen, me haga un resize a lo que yo quiera (8x8 o 16x16 para empezar) y que cada "pixel" me lo cuantifique de 0 a 255, de ahí por puerto serie al Arduino.

Lo que me doy cuenta es que no sé por PWM cuantos leds podré modificar a la vez y si hay librerías para mejorar esto o hay que hacerlo a pelo.
Ejemplo: Quiero 5 leds con un ciclo de trabajo del 20% de tal manera que no se solapen en un ciclo de trabajo y no perder rendimiento. No sé si me he explicado.

Quería simular con Proteus el tema matrices Led por PWM pero veo que no funciona, o encendido o apagado.

Un saludo y gracias

surbyte

Pobre Proteus con el buen trabajo que hace simulando y todavía le piden y exigen mas.. jajaja

Tendras que cablear Raulitus.
Librería de Nick Gammon del Max7219 y a trabajar.
Puedes controlar intensidad usando comandos

Raulitus

#4
Oct 16, 2015, 06:14 pm Last Edit: Oct 16, 2015, 06:27 pm by Raulitus
Muchas gracias surbyte: La verdad que yo vengo del Spice para simulaciones analógicas y hasta hace poco ni sabia de las posibilidades de Proteus (matadme!). Simulé una matriz por defecto 8x8 roja con el 74hc595, después oí sobre el MAX7219 y acabé leyendo sobre los WS 2801. Qué mundo los led!

Le echaré un vistazo a la librería esa y seguiré aprendiendo a simular antes de lanzarme a algo más complejo (Y físico) :)

Edit: El problema que encuentro en el editor de Proteus 8.1 es que me da error al añadir librerías externas, por lo que tengo que usar el IDE de Arduino directamente, compilar, y cargar el hex en el Atmega. Me voy por las ramas y esto iría en otro hilo y subforo.

Saludos

surbyte

Lo mismo me pasa. Pero lo pelee dos o tres veces y como no funciona no insistí.
Siempre compilo externo y luego subo el programa al SIMULINO UNO, NANO, MEGA o MIN PRO

Go Up