matriz de led 8x8 y pic 16f876-neo-teo

Upload: jihnmar-joel-mancco-cunyas

Post on 23-Feb-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Matriz de LED 8X8 Y PIC 16F876-NEO-TEO

    1/8

    18/2/2016 Matriz de LED 8X8 (Parte II) - Neoteo

    http://www.neoteo.com/matriz-de-led-8x8-parte-ii#prettyPhoto

    Matriz de LED 8X8 (Parte II)

    Facebook Twitter

    En la entrega anteriorvimos todo el hardware necesario para crear una pequea matriz de LEDs que pudiera

    ofrecer caracteres o smbolos fijos y, en un avance ms de diseo, mostrar un mensaje en desplazamiento,

    dndote la oportunidad de utilizarlo para mltiples aplicaciones. La inclusin de un conector ICSPser fundamenta

    para grabar rpidamente el microcontrolador y disponer al instante de mensajes diferentes con slo organizar

    algunas lneas del software necesario para su funcionamiento. Desde vender un vehculo, pasando por los clsicos

    carteles utilizados en los aeropuertos con el apellido de una persona a la que se espera y terminando en un divertid

    gadget para anunciar las ofertas de fin de temporada, los carteles pasa-mensajes estn en el ABC constructivo

    de todo electrnico experimentador. Todava no hiciste el tuyo?

    Como mencionamos anteriormente, la construccin del hardware quedar sometida a tu eleccin, gusto y posibilid

    econmica. Como pudiste apreciar en las imgenes, nosotros optamos por LEDsindividuales y montamos nuestro

    desarrollo en dos placas bien definidas: una exclusiva para los LEDs y otra para el resto de los componentes

    necesarios para el circuito. La construccin nos qued cual si fuese un libro que se puede abrir al medioy dejar al descubierto todas las conexiones. Este mtodo

    nos permite acceder rpidamente a cualquier sector del hardware para realizar correcciones de ltimo momento y reformas que con el tiempo se nos ocurra realizar

    sobre la construccin inicial. Adems, la fabricacin realizada sobre placas universales pre-agujereadas facilita an ms la tarea de modificacin, ampliacin y

    correccin del diseo.

    Matriz de LED 8X8 (Parte II)

    35 0

    35

    TOP

    http://www.neoteo.com/wp-content/uploads/2013/07/9C0B.jpghttp://www.neoteo.com/wp-content/uploads/2013/07/9C0B.jpghttp://www.neoteo.com/wp-content/uploads/2013/07/9C0B.jpghttp://www.neoteo.com/wp-content/uploads/2013/07/9C0B.jpghttps://googleads.g.doubleclick.net/aclk?sa=l&ai=CLlqrz7nEVrPpEteNmQTs2ZD4BpXwobwH1ayXo8IC06X1_QgQASCWnZoGYN0EoAG2h77_A8gBAqgDAcgDwQSqBIgBT9BaCFJc0NtU3gywRf1MO9t31-dg6UxIBEFv-NIt9QiQLZtF5LQuSKP7LBckGzVmIZ_BeFK360FBJTr_UGdSXmjpo5h6fKFv0TtQpbzW9WwIQO_fvCoUbPePV37uj8VeEzrhYkjIXeEOerCovNAjcuvvruzigFYQqz-xTXd_fIvPhCd6kKtA8qAGAoAHsvhBqAemvhvYBwE&num=1&sig=AOD64_3GH890NZhm5PZ7wWfuiIJhY03jfg&client=ca-pub-4686440996034068&adurl=http://www.pcbcart.com/quotehttp://www.neoteo.com/wp-content/uploads/2013/07/9C0B.jpghttp://www.neoteo.com/microcontroladores-display-de-led.neohttp://www.neoteo.com/matriz-de-led-8x8.neohttp://www.facebook.com/sharer/sharer.php?u=http://www.neoteo.com/matriz-de-led-8x8-parte-ii&t=Matriz+de+LED+8X8+%28Parte+II%29
  • 7/24/2019 Matriz de LED 8X8 Y PIC 16F876-NEO-TEO

    2/8

    18/2/2016 Matriz de LED 8X8 (Parte II) - Neoteo

    http://www.neoteo.com/matriz-de-led-8x8-parte-ii#prettyPhoto

    En la imagen puedes ver claramente las partes fundamentales que componen el hardware que hemos decidido montar, con sus componentes ms destacados. Por

    supuesto que las conexiones del lado soldadura se presentan en todos estos casos con visibles signos de una aparente falta de prolijidad. Eso no debe ser uncondicionante a la hora de la construccin ya que no ests fabricando un instrumento de electromedicinani el mdulo principal de un satlitede aplicaciones militares

    No. Estamos aprendiendo, practicando, ensayando, transitando el camino de la experimentacin y el desarrollo amateur. Ser fantstico y muy bienvenido que pueda

    construir tus propios circuitos impresos de doble faz en FR4, con mscara antisoldante y agujeros metalizados, pero debes considerar tambin que hay personas que

    recin estn aprendiendo a soldary se entusiasman con estos proyectos o estn aquellos casos en que los recursos econmicos y los conocimientos son escasos pa

    llevar a buen trmino una placa doble faz como debiera emplear este desarrollo.

    Los grupos de cables estn muy bien definidos e indicados en la imagen superior, donde se pueden identificar los correspondientes a las columnas, las filas, la conexi

    desde el puerto Cdel PIC hacia el ULN2803A, los cables de alimentacin y los que llevan la informacin de las filas desde el puerto Bhacia los transistores. De form

    menos visible, por detrs de las conexiones de las filas, se encuentra la lnea de conexin de la alimentacin con el 7805, los capacitores de filtrado (electrolticos) y

    desacoplo (cermicos), la llave interruptora de alimentacin y los diodos de proteccin contra la inversin de polaridad. Esto es tanto para la alimentacin desde la

    bateracomo para la entrada de energa desde alguna alimentacin general (12 Volts del coche) o desde una fuenteconectada a la red domiciliaria.

    Como dato final, antes de dedicarnos de lleno a experimentar con el software, te recomendamos instalar el microcontrolador sobre un zcalo de modo tal que puedas

    extraerlo fcilmente para su programacin, en caso de no disponer de un sistema grabador de PICs que trabaje con el modo ICSP(In Circuit Serial Programming). E

    nuestro caso, con el grabador GTP-USB, lo utilizamos en modo ICSP, cambiamos lneas de comandos y hacemos muchos ensayos sin movilizar el PIC de su zcalo.

    Recuerda que si no realizas la tarea de extraccin y colocacin de manera cuidadosa, puedes romper fcilmente el zcalo o arrancar un pin del PIC, hecho que

    lamentars mucho. Finalmente, un precinto plstico para sujetar la batera a la placa y listo! A programar se ha dicho!

    Planteando el software

    Un buen planteo previo del programa (es decir, analizar y llevar a un papel las ideas) es una tarea obligada cuando vamos a desarrollar un software, por ms sencil

    http://www.neoteo.com/fuente-de-alimentacion-irrompible-diy.neohttp://www.neoteo.com/convertidor-dc-dc-mc34063a-el-desafio-de-las-15574.neohttp://www.neoteo.com/midiendo-diodos-y-transistores-15335.neohttp://www.neoteo.com/aprender-a-soldar-15304.neohttp://www.neoteo.com/como-bajar-imagenes-desde-un-satelite.neohttp://www.neoteo.com/monitor-cardiaco-escucha-tu-corazon.neo
  • 7/24/2019 Matriz de LED 8X8 Y PIC 16F876-NEO-TEO

    3/8

    18/2/2016 Matriz de LED 8X8 (Parte II) - Neoteo

    http://www.neoteo.com/matriz-de-led-8x8-parte-ii#prettyPhoto

    . , .

    convoca, podemos deducir de manera muy clara que el puerto B del PIC se encargar de entregarnos los datos que veremos en cada columnay, por su parte, el

    puerto C se encargar de mover y desplazar estos datos a lo anchode la pantalla hasta el lugar correcto donde deban ser presentados.

    Utilizando la misma imagen de ejemplo del artculo anterior, nos encontramos que para representar la letra R debemos activar un contador que vaya desde el borde

    izquierdo de la matriz hacia el borde derecho y que en la posicin N3 (RC2) nos entregue el valor decimal 127, que saldr desde el puerto B e ingresar a travs de

    las filas. Luego, el contador del puerto C avanzar a la siguiente posicin y desde el puerto B llegar el siguiente dato: el valor decimal 72. De esta forma, el contador

    puerto C avanzar una posicin a la derecha y el puerto B entregar otro dato, uno a uno hasta completar las ocho posiciones. Este mecanismo, ejecutado muchas

    veces en un segundo, nos permitir percibir que la letra R est quieta all y que se forma toda junta y de una sola vez. Sin embargo, el anlisis nos muest

    que lo hace columna a columna a medida que el contador (del puerto C) avanza una posicin.

    En el siguiente video podemos ver cmo se forma la letra o caracter, paso a paso, con cada incremento de la salida del puerto C. En el caso de las posiciones en que

    existen LEDs encendidos (segn el ejemplo mostrado hasta aqu), dentro de la rutina preparada especialmente para crear el video , se han colocado datos en la

    posicin 128 del puerto B, es decir, en el LED superior correspondiente a cada columna no utilizada (0,1 y 7). El propsito es saber en todo momento la actividad

    del puerto C. Conocer qu valores toma a cada paso y las columnas que atraviesa mientras no presenta datos tiles en la matriz. Cuando el puerto B entrega datos,

    estos se muestran en la columna correspondiente. La variacin de velocidad mostrada ser fundamental para descubrir lo que an no habas comprendido acerca del

    funcionamiento de esta matriz.

    Matriz 8X8 3

    https://www.youtube.com/watch?v=1WNlGSSq4m4
  • 7/24/2019 Matriz de LED 8X8 Y PIC 16F876-NEO-TEO

    4/8

    18/2/2016 Matriz de LED 8X8 (Parte II) - Neoteo

    http://www.neoteo.com/matriz-de-led-8x8-parte-ii#prettyPhoto

    El programa

    Lo elemental, entonces, es dividir el trabajo en tres bloques que deben estar perfectamente sincronizados: crear un contador para que el puerto C avance desde

    el inicio (a la izquierda de la matriz) hasta el final (a la derecha de la matriz), a cada paso del contador del puerto C entregar por el puerto B los datos correspondiente

    a cada columna y por ltimo, ajustar los tiempos del programa para obtener un funcionamiento correcto sin parpadeos molestos y simulando tener una imagen esttic

    y fija. Al contador de columnas lo resolveremos mediante un lazo FOR NEXTde 8 ciclos, mientras que a la obtencin de los datos a entregar por el puerto B ser

    mediante el conjunto de instrucciones DATA, RESTOREy READ.

    Naturalmente, al inicio definiremos el PIC a utilizar con la frecuencia del oscilador. Si deseas utilizar otros modelos como el 16F877Ao el 16F873A, debes corregir est

    primera lnea, al igual que si optas por otra frecuencia de cristal. Yo utilic estos componentes porque los tena a mano t puedes utilizar y experimentar con otros

    mientras se respete el circuito y el principio de funcionamiento. Luego declaramos las variables, como siempre en todo programa, y llegamos al lazo principal en la

    etiqueta Inicio, que es donde comienza la parte interesante del sistema.

    Lo primero es iniciar el lazo FOR NEXTpara saber qu dato deberemos ir a buscar a la instruccin DATAen cada vuelta del ciclo. Observa que la mencionada

    instruccin posee los ocho valores que utilizaremos para formar el carcter seleccionado (la letra R). Entonces, para un valor inicial de cero en la variable CONTADOR

    el puntero RESTOREnos indicar que debemos tomar el primer valor encontrado en DATA. Este valor se cargar en la variable LETRAmediante la instruccin REA

    Una vez obtenido el dato, ya sabemos que la variable Atiene un valor inicial igual a 1 y eso se cargar a la salida del puerto C. Como cada transistor darlington del

    ULN2803A se activa con un estado alto, se activar directamente la salida PORTC.0 en estado alto. Recordemos que en BASIC escribir 1 y %00000001 en el puerto

    es exactamente lo mismo una forma es decimal y la otra binaria pero ambas se ejecutarn de la misma forma.

    Para el caso del puerto B, encontramos el caracter ~antes de la variable LETRA. Este caracter especial nos indica que cargaremos sobre FILA(la salida del puerto

    B) el complemento de los datos que contenga la variable LETRA. Por qu hacemos esto? Porque a la salida del puerto B tenemos transistores PNP y estos se

    consideran activos en estado bajo. Por lo tanto, el dato decimal 127, que sera %011111111, saldr por el puerto B como %100000000 para de esta forma activar l

    7 transistores PNP correspondientes a RB0 RB6.

    Luego de esto, incrementamos la variable Amultiplicndola por 2 y controlando el momento en que llegue al final de la matriz (borde derecho) con el condicionante IF

    THEN. Aplicamos un retardo que nos permita una visin sin parpadeos y listo! Ya tenemos nuestra matriz funcionando y mostrando un caracter (la letra R).

    Comienza el juego

    Lo primero ser hacer intermitente en el tiempo el carcter exhibido. Es decir, podemos crear un dibujo con el smbolo de STOPo PAREque funcione de forma

    intermitente para utilizarlo como baliza en el coche, o tambin puedes crear un grfico con forma de corazn y hacer que funcione en forma intermitente bajo una cami

    semi-traslcida ara demostrarle a tu chica ue el corazn te late or ella. Es decir ara entretenerse ha miles de ideas osibles veamos cmo lo rarlo.

    http://www.neoteo.com/construye-tu-volante-para-videojuegos-diy.neo
  • 7/24/2019 Matriz de LED 8X8 Y PIC 16F876-NEO-TEO

    5/8

    18/2/2016 Matriz de LED 8X8 (Parte II) - Neoteo

    http://www.neoteo.com/matriz-de-led-8x8-parte-ii#prettyPhoto

    La realizacin de todo lo que quieras mostrar se basa fundamentalmente en la construccin de los mapas de bits que se aplicarn en la instruccin DATA. Luego,

    haremos una secuencia FOR NEXTpara mostrar el smbolo y otra ms para no mostrar nada en la salida del puerto B. Tambin puede ser una buena idea diagram

    un corazn ms pequeo para simular una variacin de tamaos entre ciclo y ciclo. T elijes, ellas se rinden a tus pies.

    De manera muy sencilla, hemos agregado al programa otra secuencia de datos en la instruccin DATAy adems ahora aparece un contador de tiempo de encendido

    del smbolo y otro segmento de programa donde se apagan los puertos y se coloca un retardo de tiempo equivalente al que dura el smbolo visible pero, en este caso,

    apagado. Volvemos a destacar la importancia de la imaginacina la hora de disear los smbolos y caracteres a utilizar en este tipo de carteles. Una aplicacin

    inteligente es garanta de xito asegurado y por qu no una posible fuente de ingresos extras cuando alguien se acerque a consultarte cunto le cobras por construirle

    uno.

    Matriz 8x8 4

    0:07/ 0:07

    https://www.youtube.com/watch?v=rNVYJ_M1Kywhttps://www.youtube.com/watch?v=rNVYJ_M1Kywhttp://www.neoteo.com/pov-escribe-con-luz-en-el-aire.neo
  • 7/24/2019 Matriz de LED 8X8 Y PIC 16F876-NEO-TEO

    6/8

    18/2/2016 Matriz de LED 8X8 (Parte II) - Neoteo

    http://www.neoteo.com/matriz-de-led-8x8-parte-ii#prettyPhoto

    Moviendo el texto

    Aqu comienza lo que estabas esperando, aqu comienza la accin de verdad. Para desplazar un texto dentro de una matriz debemos aplicar todo lo visto hasta aqu

    slo moverlo. Cmo se realiza esto? Muy sencillo. Primero cargas en la seccin de la instruccin DATAtodos los datos correspondientes a las filas que mostrars.

    Luego generas un incremento de la variable CONTADORa cada ciclo y, de este modo, forzars al puntero RESTOREa que lea un nuevo dato para enviar al puerto B

    De este sencillo modo, habrs creado el movimiento en tu matriz.

    Observa que la instruccin READsiempre se debe colocar en la parte ms inicial del programa. Podemos entonces colocar una sola instruccin o varias que

    correspondan a cada caracter para mantener ordenado el programa. Adems, cada caracter terminar en un dato igual a cero que ser el equivalente a dejar un

    espacio entre letra y letra. Agregaremos ceros para generar espacios entre el fin y el inicio de una palabra y el resultado ser el siguiente listado de programa quecorresponde al video anterior:

    Matriz 8X8_5.avi

    0:09/ 0:09

    https://www.youtube.com/watch?v=lzu3gnB5euAhttps://www.youtube.com/watch?v=lzu3gnB5euA
  • 7/24/2019 Matriz de LED 8X8 Y PIC 16F876-NEO-TEO

    7/8

    18/2/2016 Matriz de LED 8X8 (Parte II) - Neoteo

    http://www.neoteo.com/matriz-de-led-8x8-parte-ii#prettyPhoto

    Conclusin

    Al texto que hemos generado le puedes agregar todo lo que la memoria del PIC alcance. Te puedo asegurar que te vas a cansar de escribir texto y smbolosy nun

    lo llenars. Al menos al 16F876A. Puedes utilizarlo como pasa-mensajes para publicidad, para vender productos, para saludar amigos en estas fiestas, en fin para

    que quieras transmitir, all tendrs un nuevo medio para hacerlo. Recuerda lo sencillo que es: moviendo el puerto C, cargas en forma sincronizada los datos por el

    puerto B. Eso es todo. Intuyo que no creas que fuera tan sencillo. Divirtete, juega, experimenta, aprende y, como siempre, esperamos ver tus logros en videoTe dejamos los programas de los ejemplos vistos en el artculo y un .TXT con un listado de letras y smbolos prearmados para que no pierdas tiempo y comiences

    cargar tu matriz hoy mismo.Felicidades!

    Domingo, 17 de Enero de 2010: Una vez ms el amigo Yesbond nos honra y enorgullece a todos los que hacemos NeoTeo mostrndonos sus logros a partir de los

    artculos. Gracias Yesbond!Tu trabajo y los resultados mostrados hacen que valga la pena ofrecer lo mejor de nosotros. Aqu est el trabajo de Yesbond, ojal t

    ambin encuentres interesantes los montajes que aqu compartimos y nos enves tus videos.

    Descarga: Letra "R" formndose

    Matriz 8x8_Neoteo.wmv

    1:45/ 1:45

    https://www.youtube.com/watch?v=bpMZR72FrWkhttps://www.youtube.com/watch?v=bpMZR72FrWkhttp://www.4shared.com/file/181310535/50749aeb/R_Formandose_Lenta.html
  • 7/24/2019 Matriz de LED 8X8 Y PIC 16F876-NEO-TEO

    8/8

    18/2/2016 Matriz de LED 8X8 (Parte II) - Neoteo

    http://www.neoteo.com/matriz-de-led-8x8-parte-ii#prettyPhoto

    2 Comentarios

    octavio

    hola disculpa que compilador usas y como lo usas, ya que yo he instalado el picbasic y algunas palabras me las reconoce como errores sintcticos. agradecera nosproporcionaras ese dato.

    Armando

    Podran actualizar las imgenes, ya que hay muchas que no se ven, al igual que en la parte uno de este tutorial, gracias.

    Descarga: Corazn ganador

    Descarga: Scroll-Text NeoTeo

    Descarga: Archivo TXT con un alfabeto y caracteres prearmados

    https://disqus.com/http://www.4shared.com/file/181311988/7c97a19c/Alfabeto_Matriz.htmlhttp://www.4shared.com/file/181310979/34b4eaa0/NeoTeo_Scroll.htmlhttp://www.4shared.com/file/181310292/31b0f147/Corazon_Matriz.htmlhttps://help.disqus.com/customer/portal/articles/1657951?utm_source=disqus&utm_medium=embed-footer&utm_content=privacy-btnhttps://publishers.disqus.com/engage?utm_source=neoteo&utm_medium=Disqus-Footerhttps://disqus.com/http://www.neoteo.com/matriz-de-led-8x8-parte-ii#comment-1521787426http://www.neoteo.com/matriz-de-led-8x8-parte-ii#comment-1603934216https://disqus.com/home/inbox/https://disqus.com/home/forums/neoteo/http://www.neoteo.com/tag/tutorialeshttp://www.neoteo.com/category/electronica