Archivo de la etiqueta: Microcontroladores

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.

PIC y DSPIC

PIC y DSPIC

Acontinuación encontrarás diferentes proyectos realizados en base a PIC y dsPIC:

TÍTULO DEL PROYECTO
AUTORES
DESCARGAR (Formatos)
( PDF)
(ZIP)
(EXE)
Tutorial Mplab1- PIC16F84
Tips.- Sobre los Microcontroladores PIC, Aquí algunas cosas sobre uCo PIC, que he encontrado por ahí y que seria interesantes Saberlas.
Grabador Pipo2 Mejorado, la versión pipo y pipo2, son versiones hechas por un colega, que mejoro, al clásico y sencillo grabador JDM, aquí lo que hago es colocarle una fuente externa, ya que la salida del puerto serial no es la suficiente como para grabarme al PIC siempre.
Yoel Ocmin 
Manejo de un Teclado 4×4 PIC16F628
Yoel Ocmin
Llamar un Teléfono a Pulsos PIC16F628, la Idea es de que ingresando un número por el teclado,  se llame a este.
Yoel Ocmin
Alarma que llamar a un Teléfono, la idea es de que el número al que queremos llamar lo tenemos previamente Grabado, en la EEPROM del PIC16F628, envia pulsos _._ (SOS  en clave morse)
Yoel Ocmin
Activar Relé con contraseña, PIC16F873 con PIC Basic Plus rutinas de Teclado, LCD y manejo de la EEPROM
Yoel Ocmin
Manejo de 2 uCo PIC16F628, usando comunicación serial RS232
Yoel Ocmin
Adquisición de Datos usando un PIC16F877, y envió de datos a la PC vía puerto serie mediante RS232, para posterior Tratamiento. Se usará Visual Basic para la Adquisición del Dato
Yoel Ocmin
Guardando Datos en una EEPROM externa vía I2C y Visualizándolo en LCD usando un PIC16F877, Guarda el valor que se encuentra en PUERTO B, y que esta direccionado por el Puerto D,  lee o  usando Pic Basic Plus
Yoel Ocmin
dsPIC
Usando el Pic como un Terminal Virtual para uso con hyperterminal,  Aquí veremos, lo interesante de trabajar con PIC,  usando Pic Basic Plus
Yoel Ocmin
El Mejor Foro Dedicado a este tema
SIM2000, el Clásico simulador para el querido PIC16F84, ahora en su versión para Windows.
Niple84 Demo, Permite tener el código desde el Diagrama de Flujo
Niple87 Demo, Permite tener el código desde el Diagrama de Flujo
Pic Simulator IDE 5.30,  simulador para el PIC 16F877
PicSimulatorID533
PCWH Demo, es sin duda el mejor compilador de C para PIC
PCWDEMO
Pic Basic Pro – Demo, es sin duda el mejor compilador de Basic para PIC
PBPDEMO
EPICWIN, mi grabador convencional
Epicwin
IC-PROG, para Grabar, trae varios Grabadores, entre ellos el JDM y es el que se usara, con el grabador pipo2 mejorado.
Ic-Prog
Manual en Español del Compilador  para C “PCWH”, este es sin duda uno de los mejores compiladores de C que hay en el Mercado.
Escrito por Andrés Cánovas LópezReeditado
para formato PDF por Víctor Dorado
Manual en Español del Pic Basic Plus, excelente compilador de Basic para PIC, tiene instrucciones parecidas a BASIC STAMP, pero ojo no es igual ya que este usa, otra arquitectura
Descarga el CODDDX.EXE, necesario para vincular Proteus y Mplab
Yoel Ocmin
Ver Sección Proteus: Te dirás porque,  pues este es uno de los mejores simuladores que he encontrado, ya que nos permite simular de manera completa con Hardware,  Tiene muchísimas Aplicaciones y puedes usar varios tipos de microcontroladores al Mismo Tiempo.
Yoel Ocmin
Usar Mplab con Proteus, Para tener una buena simulación de un Código ASM en Proteus, necesitamos tener su Respectivo Archivo .COD, que tiene los parámetros de simulación …
Yoel Ocmin

Microcontroladores

.: Microcontroladores :.

.: LOS MICROCONTROLADORES :.

A la fecha hablar de los microcontroladores es algo muy común en nuestras vidas, los encontramos en múltiples soluciones cuya característica de función específica hace importante su esencial requerimiento. En el mercado existen muchas marcas que diseñan sus propios microcontroladores y a ello sumado el uso de múltiples lenguajes ha logrado una asombrosa diversificación de las mismas en la forma de programar, compilar y visualizar resultados que nos conducirán al desarrollo de nuestras aplicaciones.

Arduino – MICROCHIP- PIC y dsPiC  –   ATMEL –   Motorola Freescale

Aqui presento un resumen de los diferentes compiladores a la fecha usado en diferentes plataformas (Windows y Linux) con sus propios lenguajes de programación: