Archivo de la categoría: Programacion

Manejando paneles flexibles WS2812B

Manejando paneles flexibles WS2812B

Ha pasado el tiempo, y mis actuales responsabilidades no me dan el tiempo que quisiera para compartir, pero me alegra ver como Internet ha crecido y hay muchos ingenieros que tienen portales activos, que van compartiendo novedades que hacen que el mundo de la programación sea accesible para todos, además de eso realizar compras de equipos de electrónica de consumo para realizar proyectos en electrónica DIY para IoT se ha abaratado mucho, por lo que conseguir cacharros para jugar se hace no tan complicado en estos tiempos.

Y bueno desde hace un tiempo vengo viendo videos de varios youtubers conocidos que usan y programan las tiras de led WS2812B, debido a su facilidad de usar al tener solo 3 pines (GND, DATO, VCC +5V), además de poder configurarse como RGB de 24 bits (255 variaciones por cada color), por lo que hizo que me interesara en jugar con ellas. Inicialmente me animo mucho la idea de jugar con ellas de paso que le enseñaba a mi hija a hacer unas secuencias navideñas.

Para eso inicialmente pensé conseguirme unas tiras LED que en aliexpress no estan muy caras Acá un ejemplo en Aliexpress entre 10 a 15USD

Sin embargo también he visto estos otros paneles

Cuyo precio varia entre 10 a 12USD para los de 8×32 y 16×16, y lo pueden encontrar buscándolo como Panel+de+luz+LED+RGB+Flexible+WS2812B también en Aliexpress

Inicialmente me compre una tira de 5m con 30 leds por metro, y además 1 panel de 16×16 y de 32×8, solo que debido a los retrasos por la pandemia llegaron en enero, por lo que al final decidí usarlos para preparar unos mensajes en el cumpleaños de mi última hija que fue en febrero.

Quiero aclarar que mi idea no es dar más de lo mismo, y por tanto no voy a simplemente usar solo las librerías típicas para el WS2812B, sino que voy a tratar de ir paso a paso. explicando el proceso que realizado, bueno acá les hago un pequeño listado de lo que pienso ir agregando en el transcurso de estos días:

  1. Entender el funcionamiento del modelo de matriz (funciona de forma diferente al sugerido en algunos videos).
  2. Manejar el WS2812B usando al diablillo IMP electric, con la posibilidad de cambiar las imágenes usando un servicio WEBREST, el cual tengo implementado sobre tarjeta Hanna v3 con un IMP v01, Donde almaceno imágenes monocromáticas en 1 solo color y a colores usando técnicas diferentes.
Tengo almacenadas 8 imágenes monocromáticas y 8 imágenes a color. En el caso de la primera corresponde a la temperatura del modulo Hanna.
En el caso de las imágenes a color, estas están a 8 bits (256 colores) , para ahorrar tamaño en memoria.
Y tanto las imágenes a color o monocromáticas pueden enviarse directamente al IMP usando servicios webservice, y mensajes por JQuery

3. Revisar la estructura de los archivos BMP, de manera que podamos entender como estas compuestas, para de esta manera usarlas para almacenar las imágenes que queremos visualizar.

4. Usar javascript para crear nuestra estructura de datos de forma de entender como la imagen mostrada de la tortuga es el equivalente numérico al array tortuga.

local tortuga =[242,0,0,242,242,242,242,242,242,242,0,0,242,242,242,242,0,183,183,0,0,0,242,242,242,0,249,249,0,0,242,242,0,183,183,249,249,249,0,0,242,0,249,249,249,249,0,242,0,183,249,0,183,183,0,249,0,0,0,249,249,249,0,242,242,0,249,0,183,183,0,183,249,216,216,216,216,0,242,242,242,0,249,183,183,0,0,183,183,249,216,216,216,0,242,242,0,249,249,0,0,183,0,183,249,249,216,216,216,216,0,242,0,249,249,183,183,183,183,183,249,249,216,216,216,216,0,242,0,249,249,183,183,183,183,183,249,216,216,216,216,216,0,242,0,249,249,183,0,0,183,183,183,249,249,249,216,216,216,0,0,249,249,0,0,0,183,0,249,249,249,249,249,216,216,0,242,0,249,0,183,183,0,0,249,249,0,0,0,216,216,0,242,242,0,0,183,183,0,0,249,0,183,183,249,249,0,242,242,242,242,242,0,0,242,242,0,0,183,183,249,249,249,0,242,242,242,242,242,242,242,242,242,0,183,0,0,249,249,0,242,242,242,242,242,242,242,242,242,242,0,0,242,0,0,242]

* Por si no saben IMP Electric se programa en Squirrell que es un poco parecido a C y processing.

5. Crear programa para arduino, que permita la visualización de imágenes 16×16 y de mayor tamaño a 16×16. (Hasta 384×16)

  • NOTA: El tamaño de la imagen es configurable, en mi caso lo hice de esa manera, pero podrias cambiar a tu conveniencia.

6. Realizar el funcionamiento de la pantalla, pero usando el microcontrolador ESP 8285 M3 (Si me preguntan porque no uso otro, es porque eso lo tengo hace mucho tiempo, y no he tenido tiempo de usarlo), además de que posee una buena capacidad de memoria flash 1MB, por lo que no tuve problemas en almacenar imágenes grandes. (Inicialmente solo usado sin activar Wifi)

7. Migrar el programa a arduinos mas pequeños, usando el almacenamiento en FLASH con PROGMEN (Para Arduino Nano y Leonardo).

8. Activar el modulo Wifi del ESP 8285 para crear un servidor web que permita el cambio de los mensajes en pantalla, con la opción de controlarlas remotamente.

A continuación les muestro unos ejemplos del resultado.

Assembler Win32

.: Assembler Win32 :.

En esta sección podrás encontrar algunos de los proyectos realizados  utilizando Macro Assembler para Windows (MASM32)y la Ide Visual RadAsm.

Además podremós crear nuestros propios inconos y nuestros propios instaladores

      PDF: Listos para leer en Linea, esta el codigo explicado y algunos diagramas

       ZIP: Para probar el Proyecto mensionado la fuente respectiva

Para usar los Programas en Win32, instala el siguiente Driver
Mas detalles en la seccion Puertos

Sugerencia: Se recomienda saber leer el tutorial de Izcelión, traducido por Numit_or de Win32.

TÍTULO DEL PROYECTO AUTORES DESCARGAR 

(PDF)

(Zip) (EXE)
Control del Puerto ParaleloPrograma para controlar el Puerto Paralelo MasInfo Yoel Ocmín G.
Hola Mundo con RadAsm Yoel Ocmín
Hola Mundo con Masm32 Yoel Ocmín
Manejo de 16 Luces por el Puerto Paralelo
usando MASM32 (Assembler Win 32)
Yoel Ocmín G.
Creacion de una DLL, para manejo del Puerto Paralelo, pero en Win98, la llameremos inout98.dll Yoel Ocmín G.
Prueba de Libreria Creada Anteriormente (inout98.dll) lo llamamos Probe98.EXE Yoel Ocmín G.
Breve Explicacion de lo que sucede en Windows 2000 y Xp,… la necesidad de un Driver… InpOut32.dll Yoel Ocmín G.
Probando InpOut32.dll en Win200, lo llamamos ProbeNt.exe Yoel Ocmín G.
Creacion de una DLL, para manejo del Puerto Paralelo, para manejar mi ADC8032 del proyecto de control, la llamare inoutdac.dll Yoel Ocmín G.
Curso Assembler HLA, es sin dudar a dudas uno de los mejores cursos sobre ensamblador en alto Nivel www.arc3000.com

Assembler 8086

.: ASSEMBLER :.

En esta sección podrás encontrar algunos de los proyectos realizados  utilizando Assembler, Turbo Assembler, Macro Assembler. Están compuestos por el algoritmo aplicado en la solución del problema, el Software utilizado para el caso, el Hardware diseñado para soportar el software y realizar las funciones necesarias, así como los diagramas de tiempos de las distintas respuestas  presentes en los circuitos, también algunos esquemas y el diseño de las pistas implementadas ya sean en placas de baquelita o placas de fibra de vidrio. Si no tienes los compiladores bajate este archivo 80×86, o el nuevo 80x86v2 que esta totalmente integrado A Windows.
Si tienes alguna duda  o quieres Informacion Acerca de un tema Pulsa Aqui para ver el Foro de Assembler de la Web del Programador, Te Contestare lo mas pronto posible

Si Instalalaste el 80x86v2, lee el Archivo que acompaña al instalador .

TÍTULO DEL PROYECTO
AUTORES
DESCARGAR (Formatos)
( PDF)
(ZIP)
(EXE)
Proyectos Assembler Solo Software
Ordenar 15 Números Ascendente Descenderte – Turbo Assembler
Yoel Ocmín
Sumar 2 números 5 bits  en Assembler
Turbo Assembler
Yoel Ocmín
Buscando un Nombre de una Lista
Yoel Ocmín
Convierte de Mayúsculas a Minusculas.
Yoel Ocmín
Dado 2 Coordenadas, Hacer una Recta (Modo Grafico)
Yoel Ocmín
Gato persigue Pericote (Modo Texto)
Yoel Ocmín
Teoría Sobre el Speaker PC
Yoel Ocmín
Piano usando el Speaker PC
Yoel Ocmín
Proyectos Vinculados a Electrónica
Resolución de Mi Examen de Arquitectura
Esta bien didáctico,  y separado en 4 partes
Presionen AQUI
Yoel Ocmín
Comunicación Pc-Pc,  Port Paralelo, Un pequeño chat, pero interesante…..
Turbo Assembler
Yoel Ocmín
Comunicación Pc-Pc,  Port Serial, Es parecido, y con un entorno parecido al del Port Paralelo, pero usando el Usart 8052, puedes elegir el COM a Usar
Turbo Assembler
Yoel Ocmín
Probador de Circuitos Contadores TTL, para que veas si tus contadores valen o No !!!
74LS190 – 191 – 192 – 193
Usando Turbo Assembler

Carlos A. SamYoel Ocmín G.

Probador de COMPUERTAS TTL, para que veas si tus tus Chips estan bien o mal.
Usando Turbo Assembler
Yoel Ocmín G.
Manejo de luces agrupadas en 4 bloques de 4 focos
Yoel Ocmín G.
Manejo de luces agrupadas en 4 bloques de 4 focos (Version 3)
Yoel Ocmín G.
Probador de Un  Decoder 74LS373
Turbo Assembler
Yoel Ocmín
Panel Electrónico con Displays
Yoel Ocmín
Control de Un Motor PAP, con interfase Isa, manejado Por PC
Yoel Ocmín
Proyectos Personales
Control del Puerto Paralelo – Programa para controlar el Puerto Paralelo MasInfo
Yoel Ocmín G.
Panel Electrónico de Displays MasInfo
Yoel Ocmín G.