Matriz modulo 16x32 Rojo

Estos son los famosos módulos fabricados en la república de China, y otros países las podemos encontrar en todas formas y colores y sobre todo económicos, estos módulos led te ahorran bastante tiempo a la hora de implementar un letrero matricial, lo complicado es desarrollar el programa.


Aparte de ser económicos, estos pueden venir con diferentes tipos de protección, IP64, IP67, IP68 es decir si tienen la opción de trabajar bajo la lluvia, polvo y humedad. Para poder controlarlos con microcontrolador, lo primero que deberíamos saber es el tipo de configuración que tienen y que circuitos lo componen, básicamente están hechos a base de un muy conocido integrado 74hc595, estos son fáciles de controlar pero primero debemos encontrar sus pines de conexión es otra tarea, por que al comprar este no te venden con su diagrama circuital, bueno solo nos queda desgranarlo y una ves que tengamos el diagrama circuital podemos empezar  escribiendo el código para cualquier microcontrolador que mas utilices. he incluso podemos hacer una libreria para estos módulos.


En esta entrada mostrare una forma de controlarlos, lo que hace interesante a estos módulos es que puedes controlarlos varias de ellas, conectándolos en serie todos los módulos que se te ocurra y hasta donde la velocidad de tu microcontrolador te alcance. En la nube encontré estas imágenes aun que no ayuden mucho pero al menos es una referencia.


Este  es de un modulo RGB, es similar al de un solo color, pero como podemos observar tiene un pin de reloj y de latch como también un pin datos, pero desconozco los pines A,B,C y D.
Sin mas comentarios, entrare a explicar como funcionan. 

Estos módulos también manejan barridos para mostrar un carácter es decir es casi igual a un letrero matricial que hay bastante información de estos en la nube. pero con una pequeña y ligera diferencia, es que el barrido solo pasa por cuatro filas, al principio me preguntaba por que, llegue a la conclusión de que con este tipo de configuración se logra mayor brillo.



haré una pequeña demostración con un microcontrolador atmega328p y el video lo subiré en esta url: https://youtu.be/9m0-SdXUGGQ para que podes entender mejor el barrido.

A continuación el código en atmel studio v6.2



he aquí algunos resultados que he obtenido es espectacular, subiré el código completo en cuando tenga mas afinado el código

.


Reloj con DS1307 con AM y PM

Este lcd es el mas bueno para empezar, tiene una variedad de caracteres incluidos en el lcd, no es necesario hacer todos lo caracteres, sin embargo iniciarlo el lcd es problema. también los podemos utilizar en modo 4 bits y 8, de esta forma ahorramos mas es bus de un microcontrolador, pero podemos hacer para un bus de 3 hilos, incorporando un circuito integrado latch 74hc595 u otros similares a este C.I. para un mayor ahorro de pines del microcontrolador a usar.

En esta entrada hablare sobre el microcontrolador de microchip(PIC16f877A) y dispositivo ds1307 mas conocido como RTC(reloj en tiempo real), este tiene internamente registros bien organizados para guardar un calendario para 100 años, el bus para comunicarse con este dispositivo es el i2c, ademas es necesario un batería de 3.2v para que este pueda almacenar continuamente el tiempo.


el esquemático: no es muy complejo



El problema esta en el código, vamos utilizar ccs v5.015 para desarrollar el programa, para no complicarnos la vida, el ccs nos facilita librerías, por ejemplo la librería del lcd esta incluido en el programa, sin embargo la del ds1307 no existe, buscando en la nube o internet encontré unas librerías para controlarlo de la manera mas fasil posible el ds1307, pero aun así tenia problemas, en casi todas las librerías no incluyen el AM y PM, sabemos que esto es muy importante a la hora de escoger el modo de 12horas, es que el ds1307 tiene estas dos formas el modo 12hr y el 24hr. 

A mi personalmente me gusta trabajar en modo 12Hrs. sin embargo para lograr configurar en modo 12Hrs el ds1307 es necesario comprender la hoja de datos del ds1307. lo que realmente hice es modificar una librería que lo descargue.

este es el MAIN del programa general:


En esta dirección descargar la simulación y el programa completo: https://mega.nz/#!KtZ0ED5D. también esta incluido la librería que modifique para el ds1307, antes de utilizar verifique la versión de su CCS pueda que no sean compatible la librería del LCD, sin embargo puedes pedírmelo. la versión del programa con lo que trabajees  CCS c compiler v5.015.

y finalmente una imagen de los resultados finales.



Display TFT full color mas DS1307

Este integrado ds1307 puede ser configurado para mantener la hora y la fecha durante 100 años, ademas de utilizar solo un par de hilos para su comunicación con cual quier microcontrolador que tenga el bus i2c. lo que veremos a continuación es como mostrar la hora en un display TFT con microcontrolador avr de 8 bits.



Mostrando Datos En LCD TFT 240x320 full color

Es este uno de los LCD de color mas económicos que podemos encontrar. los lcd de crystal de 2x16 son mas caros y ni hablar de los GLCD´s, pero el problema esta en como controlarlos de hecho es mas complejo que el 2x16, si controlaste alguna vez el glcd de 64x120 es de un solo color, pero este ultimo es un poco igual al lcd TFT solo que este incluye colores en cada pixel.



Estos tienen la capacidad de comunicarse con un microcontrolador por medio de diferentes buses, por ejemplo el bus spi, modo 8 bits o 16 bits, sin embargo este solo tiene implementado el bus SPI, pero no es un gran problema para empezar, a no ser que quieras mostrar un video, para video  si necesitamos mas velocidad y necesariamente el bus de 16bits para una mayor transferencia de datos en pocos microsegundos, y puedas visualizar un video de por lo menos de 30 a 60 cuadros por segundo. 

Como este no tiene el bus de 16 bits, solo es por spi, muy aparte de esto este tiene la capacidad de ser touch es decir tiene un sensor táctil implementado junto a la pantalla.


En esta entrada hablaremos de como controlarlos con un microcontrolador de solo 8 bits con un atmega328p y por supuesto que se puede con otros microcontroladores como el PIC o el STM32F que son de muy buena velocidad. y son bastantes ideales para controlar este tipo de pantallas lcd full color. lo malo es inicializarlos y tratar de hacer su librería.


En esta entrada hablare como controlarlos con solo 4 hilos utilizando un microcontrolador de 8bits Atmega3228p utilizando el bus SPI. 

Como pueden ver en esta imagen del costado se puede ver el mini chip que controla toda la parte del touch, es bastante bueno en otra entrada comentare sobre  este minicontrolador y también demostraremos como manejarlo.

Mostrando Datos Analogicos en Smartphone Android

Básicamente lo que pretendo hacer, es mostrar los datos capturados por un puerto analógico del microcontrolador atmega328p, y enviarlo al smatphone, y que este pueda mostrarlo mediante un gráfico con coordenadas x.y, la señal adquirida por el microcontrolador es enviado vía bluetooth.


La aplicación fue desarrollada en APP inventor2, no es muy complicado solo se utiliza, el CANVAS es una herramienta muy útil para esta aplicación aun lo estoy desarrollando, pero a qui unos avances, sin embargo cada uno puede darle diferentes usos, como por ejemplo:  un osciloscopio o tal vez un interfaz gráfico de un controlador PID. 

Contador con 74HC595

Generalmente un contador se hace con decodificadores, sin embargo aveces es necesario controlar varios display de 7 segmentos, como por ejemplo en un marcador deportivo, cronometro, reloj, contadores y muchas otras aplicaciones, mientras mas displays aumenta la cantidad de decodificadores ademas se necesita de varios puertos de un microcontrolador.

En esta entrada nueva comentare sobre una forma de controlar mas de 100 displays con solo 4 lineas de comunicación utilizando un circuito integrado 74HC595 muy comercial ademas de un bajo precio. como pueden observar en la imagen solo es necesario un microcontrolador de 8 bits.

El código esta escrito en XC8 no es muy complejo, solo necesitamos ver la hoja de datos del integrado 74hc595, y también podemos encontrar bastante información en la nube de este integrado.




El programa esta realizado para un pic 16f628A, la frecuencia de reloj es modificable por el que tengas presente. Lo que hago en estas lineas de código es declarar las variables y pines del microcontrolador que se van utilizar para el control del integrado 74hc595. y ademas declaramos dos funciones que a continuación se muestran sus rutinas.

La primera función, init_Reg74hc595(), realiza las inicialisación de los puertos, y la siguiente función send_reg74hc595(), lo que hace básicamente es  desgranar los datos almacenados NUM_DISPLAY[] y va enviándolo uno a uno por el PIN_DAT con su respectivo pulso de reloj.



La tercera función,  numero_a_bcd(); esta rutina se encarga de convertir un integer a código BCD para su posterior envió.


y finalmente el programa principal, lo único que hace es enviar la variable cont mediante las funciones anteriormente descritas cada 100 mile segundos la variable cont se va incrementado.

aquí tienes un vídeo de la simulación en proteus.

https://youtu.be/KYDplRiCBjQ

Aquí puedes descargarlo su simulación y respectivo código desarrollado en MPLAB