Autor Tema: Protocolo HUB75 pantallas led RGB  (Leído 6752 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado beto_tech

  • PIC10
  • *
  • Mensajes: 13
Protocolo HUB75 pantallas led RGB
« en: 24 de Enero de 2017, 00:43:00 »
Estimados foreros, saludos!
En esta ocasión les traigo una duda bastante grande.. La verdad es que estoy trabajando en un proyecto personal en el cual estoy por empezar a programar y jugar con una pantalla RGB. Esta es la pantalla que compré en China https://goo.gl/mp9UNz, esta pantalla tiene una resolución de 64x32px. Utiliza el protocolo de comunicación HUB75. Os pido ayuda si saben algo sobre este protocolo y cómo funciona, puesto que googleando he encontrado muy pocas cosas. Como una librería para Arduino y raspberry PI, pero la verdad quiero ponerla a funcionar con un PIC32 o bien con un PIC18 de alta gama en MikroC. Mi idea a futuro es hacer una pantalla con resolución de 320*480px con estas pantallas. Aunque la puedo comprar en el mercado ya hecha, me gustaría manejarla por mi cuenta.
https://learn.sparkfun.com/tutorials/rgb-panel-hookup-guide

Agradezco su cordial ayuda y aportes!.
Gracias!
« Última modificación: 07 de Febrero de 2017, 00:56:31 por beto_tech »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #1 en: 24 de Enero de 2017, 05:40:50 »
.

El manejo de estas pantallas no tienen mayor misterio. Los puntos por linea se barren con un registro de desplazamiento (datos, reloj, Latch), y el barrido vertical de las lineas se hace de dos en dos con un código binario (A, B, C, D). Tienes un pin para ajustar el brillo con una señal PWM y poco más.

Con un PIC18 dudo mucho que puedas manejarla, hace falta algo más potente, y a nivel de programación fundamental usar DMA. Yo las estoy gestionando con un STM32F4 y tengo otro proyecto con un Kinetis MK66, ambos Cortex M4 de 32 bits a 168Mhz y 180Mhz. Tambien tengo en proyecto hacer algo con un Raspberry Pi 3.

Lo más cómodo es controlarlas con un Raspberry, por internet tienes librerías ya hechas, también hay librerías para Teensy con Kinetis. Para Teensy recomendable trabajar con las últimas versiones, 3.5 y 3.6, que instalan procesadores MK64 y MK66, sobre todo si piensas encadenar varios paneles para construir pantallas de mayor resolución.

« Última modificación: 24 de Enero de 2017, 05:46:59 por planeta9999 »

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #2 en: 24 de Enero de 2017, 08:30:22 »
http://jaanus.tech-thing.org/small-projects/hub75-rgb-led-matrixes-with-arduino/
Ahi esta explicado el funcionamiento. Es muy parecido a como dice planeta. Alcanzas a entenderlo?

Saludos!
-
Leonardo Garberoglio

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #3 en: 24 de Enero de 2017, 08:32:39 »
HUB75 interface

HUB75 interface used for lot of LED displays. It is couple of links below if you want to learn about it.
It is slight differences between panels, but for panels used by Adafruit and many others basically you need is to do flowing to operate the display:

    Clock in data for entire row (use R1,G1,B1,R2,G2,B2 for data and CLK for clock)
    OE high
    Select line address (A,B,C,D)
    LAT high
    LAT low
    OE low

Repeat for each line
-
Leonardo Garberoglio

Desconectado beto_tech

  • PIC10
  • *
  • Mensajes: 13
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #4 en: 07 de Febrero de 2017, 00:54:50 »
Muchas gracias amigos de foreros.

Es decir, ustedes me recomiendan algo mucho más potente en velocidad y procesamiento. Algo así como una raspberry PI B+ por ejemplo?
Quisiera controlar una pantalla como esta (https://http2.mlstatic.com/pantalla-video-led-gigante-p10-p5-gabinete-exterior-acero-D_NQ_NP_861501-MLM20338995146_072015-F.jpg)
Lo quiero hacer con unas 12 pantallas que he comprado en china: https://goo.gl/5mm2le
Solo quiero mostrar imágenes estáticas y cambiarlas cada cierto tiempo, también es posible que pueda reproducir solo video?

Ustedes que dicen?
Espero sus comentarios, gracias!

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #5 en: 07 de Febrero de 2017, 13:24:00 »
.

Yo mínimo usaría un micro de 32 bits (STM32, Kinetis, Teensy 3.5/3.6), y mejor todavía un Raspberry Pi programado en C con QT Creator.

Menudo pedazo de pantallón vas a montar, las mías son de 128x32 pixels, con animaciones y algunos videos en formato GIF animado. Cuando lo hagas, cuéntanos que tal te va, que hardware decides usar y pon alguna foto y videos.
« Última modificación: 07 de Febrero de 2017, 13:28:00 por planeta9999 »

Desconectado beto_tech

  • PIC10
  • *
  • Mensajes: 13
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #6 en: 14 de Febrero de 2017, 12:46:38 »
Hola amigo Planeta9999, espero que te encuentres muy bien!
Es posible que me expliques por favor de una manera más detallada cómo funciona el HUB75. La verdad es que lo que estoy haciendo es para aprender, es por esto que no me gustaría descargar una librería para esto.
Agradezco tu ayuda y la de todos los participantes. Muchisimas gracias!


El manejo de estas pantallas no tienen mayor misterio. Los puntos por linea se barren con un registro de desplazamiento (datos, reloj, Latch), y el barrido vertical de las lineas se hace de dos en dos con un código binario (A, B, C, D). Tienes un pin para ajustar el brillo con una señal PWM y poco más.


Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #7 en: 14 de Febrero de 2017, 14:34:52 »
Hola amigo Planeta9999, espero que te encuentres muy bien!
Es posible que me expliques por favor de una manera más detallada cómo funciona el HUB75. La verdad es que lo que estoy haciendo es para aprender, es por esto que no me gustaría descargar una librería para esto.
Agradezco tu ayuda y la de todos los participantes. Muchisimas gracias!


El manejo de estas pantallas no tienen mayor misterio. Los puntos por linea se barren con un registro de desplazamiento (datos, reloj, Latch), y el barrido vertical de las lineas se hace de dos en dos con un código binario (A, B, C, D). Tienes un pin para ajustar el brillo con una señal PWM y poco más.



Yo no haría un desarrollo de este tipo, partiendo de cero, si ya hay algo hecho como es el caso, siempre es mejor partir de librerías o código libre disponible. Tanto para Raspberry, como para Teensy (Kinetis) o STM32, hay librerías disponibles.

El funcionamiento es como te he indicado. Barres las lineas de 2 en 2 con un código binario A, B, C, D, con un primer bloque de las lineas 1 a 16, y otro bloque de la 17 a la 32. Los datos se reciben por 6 lineas, 3 rojo, verde, azul para el primer bloque de 16 lineas y otras 3 rojo, verde, azul para el siguiente bloque de 16 lineas, todo eso sincronizado con una señal de reloj CLK. Y finalmente tienes una linea de LATCH, para volcar el registro de desplazamiento que has cargado, hacia la salida a los leds. Además hay una linea OE (Output Enable) que se suele utilizar para ajustar el nivel de brillo con una señal PWM.









Desconectado joscar66

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 116
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #8 en: 14 de Octubre de 2017, 18:20:00 »
Hola amigo Planeta9999, espero que te encuentres muy bien!
Es posible que me expliques por favor de una manera más detallada cómo funciona el HUB75. La verdad es que lo que estoy haciendo es para aprender, es por esto que no me gustaría descargar una librería para esto.
Agradezco tu ayuda y la de todos los participantes. Muchisimas gracias!


El manejo de estas pantallas no tienen mayor misterio. Los puntos por linea se barren con un registro de desplazamiento (datos, reloj, Latch), y el barrido vertical de las lineas se hace de dos en dos con un código binario (A, B, C, D). Tienes un pin para ajustar el brillo con una señal PWM y poco más.



Yo no haría un desarrollo de este tipo, partiendo de cero, si ya hay algo hecho como es el caso, siempre es mejor partir de librerías o código libre disponible. Tanto para Raspberry, como para Teensy (Kinetis) o STM32, hay librerías disponibles.

El funcionamiento es como te he indicado. Barres las lineas de 2 en 2 con un código binario A, B, C, D, con un primer bloque de las lineas 1 a 16, y otro bloque de la 17 a la 32. Los datos se reciben por 6 lineas, 3 rojo, verde, azul para el primer bloque de 16 lineas y otras 3 rojo, verde, azul para el siguiente bloque de 16 lineas, todo eso sincronizado con una señal de reloj CLK. Y finalmente tienes una linea de LATCH, para volcar el registro de desplazamiento que has cargado, hacia la salida a los leds. Además hay una linea OE (Output Enable) que se suele utilizar para ajustar el nivel de brillo con una señal PWM.


Planeta9999 y como entra el modulo DMA a ayudar a la transferencia de datos?

Gracias
Esfuércense por ser mejor cada día...
¡Saludos desde COLOMBIA!

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #9 en: 14 de Octubre de 2017, 20:57:52 »

Planeta9999 y como entra el modulo DMA a ayudar a la transferencia de datos?



En las salidas hacia el panel led yo no lo he estudiado, porque utilizo unas librerías que se encargan de todo. Pero en las entradas de mis datos, que son unas animaciones de máquinas de arcade, si que lo utilizo, tengo un puerto SPI por DMA, y unas cuantas señales de sincronismo por interrupciones.

Las librerías que uso, se que emplean cuatro canales DMA, porque me lo dijo su autor, pero no he indagado en más detalles.

Desconectado Byakuya

  • PIC10
  • *
  • Mensajes: 38
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #10 en: 22 de Diciembre de 2017, 11:36:54 »
Hola amigos buenos días todos ustedes.  Muchos mencionan que es muy sencillo y que no debe causar demasiado problema el control de este tipo de matrices led, pero , y que si alguno mostrara como enviar datos de forma serial tal vez para ser usados en un muy bonito pasa-mensajes, sin importar el Angulo de Modulación por Bit o el PWM usando alguna  FPGA, Solo un microcontrolador de gama baja para enviar los datos de forma eficiente, tal vez por esas razones todos usan Arduino en lugar de Microchip.. por que no hay información clara. o ustedes que opinan?  :-/

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 257
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #11 en: 22 de Diciembre de 2017, 14:26:27 »
Hola amigos buenos días todos ustedes.  Muchos mencionan que es muy sencillo y que no debe causar demasiado problema el control de este tipo de matrices led, pero , y que si alguno mostrara como enviar datos de forma serial tal vez para ser usados en un muy bonito pasa-mensajes, sin importar el Angulo de Modulación por Bit o el PWM usando alguna  FPGA, Solo un microcontrolador de gama baja para enviar los datos de forma eficiente, tal vez por esas razones todos usan Arduino en lugar de Microchip.. por que no hay información clara. o ustedes que opinan?  :-/

Yo creo que aquí se viene a aprender y no a realizar el trabajo de otros. Con la explicaciones que dan fácilmente cualquier persona podría realizar el código necesario para hacerlas funcionar.

También de donde obtienes la información de que "todos usan Arduino en lugar de Microchip".

Arduino es un IDE+Bibliotecas+Shields+Tarjetas de desarrollo, Microchip es una empresa que desarrolla y fabrica circuitos integrados de distintos tipos.

¿A que te refieres con que no hay información clara?

¿No hay información clara o somos lo suficientemente peresozos para buscar, leer y transformar lo que leemos en algo práctico?

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Protocolo HUB75 pantallas led RGB
« Respuesta #12 en: 22 de Diciembre de 2017, 14:34:18 »
por que no hay información clara. o ustedes que opinan?  :-/


Información, hay para aburrir en internet. Librerías listas para usar con Raspberry, STM32, Kinetis, Teensy (que usa Kinetis), tienes unas cuantas, solo con teclear en Google.

El mismo tiempo que yo puedo emplear en coger una de esas librerías, meterle una rutina para leer un archivo de texto en tarjeta SD o pendrive USB y sacar el texto en los paneles, lo puedes hacer tú. Y si te atascas en algo puntual, preguntas, pero no pretendas que te ten algo mascado listo para usar, aunque algunas de esas librerías son prácticamente productos acabados para mostrar textos con todo tipo de efectos de scroll.

Ejemplo testando la librería Smartmatrix con Kinetis/Teensy, ya solo falta que te lo sirvan con champagne y caviar, ¿ que más quieres ?.

« Última modificación: 22 de Diciembre de 2017, 14:50:29 por planeta9999 »


 

anything