⚡ Descuentos en cursos en video - Lleva tu aprendizaje técnico al siguiente nivel y aprovecha precios especiales antes de que termine la oferta. 🔥 Aprovechar oferta ahora 🔥
Microcontroladores y sistemas digitales

Matriz de Leds de 8x40 con pic 16f877a

xavier3765
hace 13 años
hace 13 años
Empece a realizar un proyecto electronico, pero me estancado en lo q refiere a la matriz de leds, necesito una de 8 x 40, estoy yendo a utilizar un pic 16f877a y la programacion realizarla con microcode, pero no comprendo muy bien cual deberia ser el circuito apropiado, y sobre todo de q manera programaria.....
torres.electronico
hace 13 años
hace 13 años
:twisted: -xavier3765 No repitas tus mensajes en mas de un subforo- :x No te entiendo a que te referis cuanod decis que te estancastes, pero por las dudas, fijate y date una vuelta por este topico, donde doy un ejemplo en proteus de una matriz de led: http://yoreparo.com/foros/electronica/conexionado-de-300-leds-a-la-red-de-220vca-t955148.html ... Puedes guiarte con el circuito de la simulacion.... Si despues de ver eso te queda duda, planteala con mas detalles; Saludos
xavier3765
hace 13 años
hace 13 años
Esta super la matriz, pero ahora mi pregunta es y a lo q quiero llegar es como lo hago para realizar una de esta manera necesito grabar el mensaje en el pic, ya q la matriz va ir montada en un carro de madera, las placas van individuales x cuestion de espacio, solamente la matriz es la q va completa....
xavier3765
hace 13 años
hace 13 años
O me podria ayudar con la informacion de en q programa esta realizado el archivo HEX, para poder analizarlo....
torres.electronico
hace 13 años
hace 13 años
En esa matriz en particular, trabaje las interrupciones en ASM y el resto, lo trabaje integramente en PBP (PicBasic Pro)...Por razones personales, no lo comparto abiertamente, pero vamos a ver detenidamente tu tema con un ejemplo que se amolda a lo que pedis... Partimos de este diagrama en proteus...osea, una sencilla matriz de led... [img:c71c44f241]http://i.imgur.com/Zn1se.jpg[/img:c71c44f241] Ahora quiero que observes el siguiente programa, y notes como controlo los led bit a bit con una sencilla tabla... [color=green:c71c44f241]'**************************************************************** '* Name : MATRIZ8x8.BAS * '* Author : [Ing. Martin A. Torres Fortelli] * '* Notice : Copyright (c) 2009 [prof.martintorres@educ.ar] * '* : All Rights Reserved * '* Date : 08/11/2009 * '* Version : 1.0 * '* Notes : * '* : * '****************************************************************[/color:c71c44f241] [color=blue:c71c44f241]TRISB=%11111111 TRISC=%00000000 TRISD=%00000000 dAUX VAR BYTE LETRA VAR BYTE P1 VAR BYTE i VAR BYTE i1 VAR BYTE D0 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];A[/color:c71c44f241] [color=blue:c71c44f241]D1 VAR BYTE D2 VAR BYTE D3 VAR BYTE D4 VAR BYTE D5 VAR BYTE D6 VAR BYTE D7 VAR BYTE D8 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];B[/color:c71c44f241] [color=blue:c71c44f241]D9 VAR BYTE D10 VAR BYTE D11 VAR BYTE D12 VAR BYTE D13 VAR BYTE D14 VAR BYTE D15 VAR BYTE D16 VAR BYTE D17 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];C[/color:c71c44f241] [color=blue:c71c44f241]D18 VAR BYTE D19 VAR BYTE D20 VAR BYTE D21 VAR BYTE D22 VAR BYTE D23 VAR BYTE D24 VAR BYTE D25 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];D[/color:c71c44f241] [color=blue:c71c44f241]D26 VAR BYTE D27 VAR BYTE D28 VAR BYTE D29 VAR BYTE D30 VAR BYTE D31 VAR BYTE D32 VAR BYTE D33 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];E[/color:c71c44f241] [color=blue:c71c44f241]D34 VAR BYTE D35 VAR BYTE D36 VAR BYTE D37 VAR BYTE D38 VAR BYTE D39 VAR BYTE D40 VAR BYTE D41 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];F[/color:c71c44f241] [color=blue:c71c44f241]D42 VAR BYTE D43 VAR BYTE D44 VAR BYTE D45 VAR BYTE D46 VAR BYTE D47 VAR BYTE D48 VAR BYTE D49 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];G[/color:c71c44f241] [color=blue:c71c44f241]D50 VAR BYTE D51 VAR BYTE D52 VAR BYTE D53 VAR BYTE D54 VAR BYTE D55 VAR BYTE D56 VAR BYTE D57 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];H[/color:c71c44f241] [color=blue:c71c44f241]D58 VAR BYTE D59 VAR BYTE D60 VAR BYTE D61 VAR BYTE D62 VAR BYTE D63 VAR BYTE D64 VAR BYTE D65 VAR BYTE D66 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];I[/color:c71c44f241] [color=blue:c71c44f241]D67 VAR BYTE D68 VAR BYTE D69 VAR BYTE D70 VAR BYTE D71 VAR BYTE D72 VAR BYTE D73 VAR BYTE D74 VAR BYTE D75 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];J[/color:c71c44f241] [color=blue:c71c44f241]D76 VAR BYTE D77 VAR BYTE D78 VAR BYTE D79 VAR BYTE D80 VAR BYTE D81 VAR BYTE D82 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];K[/color:c71c44f241] [color=blue:c71c44f241]D83 VAR BYTE D84 VAR BYTE D85 VAR BYTE D86 VAR BYTE D87 VAR BYTE D88 VAR BYTE D89 VAR BYTE D90 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];L[/color:c71c44f241] [color=blue:c71c44f241]D91 VAR BYTE D92 VAR BYTE D93 VAR BYTE D94 VAR BYTE D95 VAR BYTE D96 VAR BYTE D97 VAR BYTE D98 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];M[/color:c71c44f241] [color=blue:c71c44f241]D99 VAR BYTE D100 VAR BYTE D101 VAR BYTE D102 VAR BYTE D103 VAR BYTE D104 VAR BYTE D105 VAR BYTE D106 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];N[/color:c71c44f241] [color=blue:c71c44f241]D107 VAR BYTE D108 VAR BYTE D109 VAR BYTE D110 VAR BYTE D111 VAR BYTE D112 VAR BYTE D113 VAR BYTE D114 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];O[/color:c71c44f241] [color=blue:c71c44f241]D115 VAR BYTE D116 VAR BYTE D117 VAR BYTE D118 VAR BYTE D119 VAR BYTE D120 VAR BYTE D121 VAR BYTE D122 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];P[/color:c71c44f241] [color=blue:c71c44f241]D123 VAR BYTE D124 VAR BYTE D125 VAR BYTE D126 VAR BYTE D127 VAR BYTE D128 VAR BYTE D129 VAR BYTE D130 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];Q[/color:c71c44f241] [color=blue:c71c44f241]D131 VAR BYTE D132 VAR BYTE D133 VAR BYTE D134 VAR BYTE D135 VAR BYTE D136 VAR BYTE D137 VAR BYTE D138 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];R[/color:c71c44f241] [color=blue:c71c44f241]D139 VAR BYTE D140 VAR BYTE D141 VAR BYTE D142 VAR BYTE D143 VAR BYTE D144 VAR BYTE D145 VAR BYTE D146 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];S[/color:c71c44f241] [color=blue:c71c44f241]D147 VAR BYTE D148 VAR BYTE D149 VAR BYTE D150 VAR BYTE D151 VAR BYTE D152 VAR BYTE D153 VAR BYTE D154 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];T[/color:c71c44f241] [color=blue:c71c44f241]D155 VAR BYTE D156 VAR BYTE D157 VAR BYTE D158 VAR BYTE D159 VAR BYTE D160 VAR BYTE D161 VAR BYTE D162 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];U[/color:c71c44f241] [color=blue:c71c44f241]D163 VAR BYTE D164 VAR BYTE D165 VAR BYTE D166 VAR BYTE D167 VAR BYTE D168 VAR BYTE D169 VAR BYTE D170 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];V[/color:c71c44f241] [color=blue:c71c44f241]D171 VAR BYTE D172 VAR BYTE D173 VAR BYTE D174 VAR BYTE D175 VAR BYTE D176 VAR BYTE D177 VAR BYTE D178 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];W[/color:c71c44f241] [color=blue:c71c44f241]D179 VAR BYTE D180 VAR BYTE D181 VAR BYTE D182 VAR BYTE D183 VAR BYTE D184 VAR BYTE D185 VAR BYTE D186 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];X[/color:c71c44f241] [color=blue:c71c44f241]D187 VAR BYTE D188 VAR BYTE D189 VAR BYTE D190 VAR BYTE D191 VAR BYTE D192 VAR BYTE D193 VAR BYTE D194 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];Y[/color:c71c44f241] [color=blue:c71c44f241]D195 VAR BYTE D196 VAR BYTE D197 VAR BYTE D198 VAR BYTE D199 VAR BYTE D200 VAR BYTE D201 VAR BYTE D202 VAR BYTE[/color:c71c44f241] [color=green:c71c44f241];Z[/color:c71c44f241] [color=blue:c71c44f241]D203 VAR BYTE D204 VAR BYTE D205 VAR BYTE D206 VAR BYTE D207 VAR BYTE D208 VAR BYTE D209 VAR BYTE P1=11 i=0 i1=22 dAUX = 0[/color:c71c44f241] [color=green:c71c44f241];TABLAS (esto seria ideal en una eeprom externa)[/color:c71c44f241] [color=blue:c71c44f241]D0 =%00000000[/color:c71c44f241] [color=green:c71c44f241];A[/color:c71c44f241] [color=blue:c71c44f241]D1 =%01111110 D2 =%01000010 D3 =%01000010 D4 =%01111110 D5 =%01000010 D6 =%01000010 D7 =%00000000 D8 =%00000000[/color:c71c44f241] [color=green:c71c44f241];B[/color:c71c44f241] [color=blue:c71c44f241]D9 =%01111100 D10 =%01000010 D11 =%01000010 D12 =%01111100 D13 =%01000010 D14 =%01000010 D15 =%01111100 D16 =%00000000 D17 =%00000000[/color:c71c44f241] [color=green:c71c44f241];C[/color:c71c44f241] [color=blue:c71c44f241]D18 =%00111110 D19 =%01000000 D20 =%01000000 D21 =%01000000 D22 =%01000000 D23 =%00111110 D24 =%00000000 D25 =%00000000[/color:c71c44f241] [color=green:c71c44f241];D[/color:c71c44f241] [color=blue:c71c44f241]D26 =%01111100 D27 =%01000010 D28 =%01000010 D29 =%01000010 D30 =%01000010 D31 =%01111100 D32 =%00000000 D33 =%00000000[/color:c71c44f241] [color=green:c71c44f241];E[/color:c71c44f241] [color=blue:c71c44f241]D34 =%01111110 D35 =%01000000 D36 =%01000000 D37 =%01110000 D38 =%01000000 D39 =%01111110 D40 =%00000000 D41 =%00000000[/color:c71c44f241] [color=green:c71c44f241];F[/color:c71c44f241] [color=blue:c71c44f241]D42 =%01111110 D43 =%01000000 D44 =%01000000 D45 =%01110000 D46 =%01000000 D47 =%01000000 D48 =%00000000 D49 =%00000000[/color:c71c44f241] [color=green:c71c44f241];G[/color:c71c44f241] [color=blue:c71c44f241]D50 =%00111110 D51 =%01000000 D52 =%01000000 D53 =%01001110 D54 =%01000010 D55 =%00111110 D56 =%00000000 D57 =%00000000[/color:c71c44f241] [color=green:c71c44f241];H[/color:c71c44f241] [color=blue:c71c44f241]D58 =%01000010 D59 =%01000010 D60 =%01000010 D61 =%01111110 D62 =%01000010 D63 =%01000010 D64 =%01000010 D65 =%00000000 D66 =%00000000[/color:c71c44f241] [color=green:c71c44f241];I[/color:c71c44f241] [color=blue:c71c44f241]D67 =%00010000 D68 =%00010000 D69 =%00010000 D70 =%00010000 D71 =%00010000 D72 =%00010000 D73 =%00010000 D74 =%00000000 D75 =%01111110[/color:c71c44f241] [color=green:c71c44f241];J[/color:c71c44f241] [color=blue:c71c44f241]D76 =%00000100 D77 =%00000100 D78 =%00000100 D79 =%01000100 D80 =%00111000 D81 =%00000000 D82 =%00000000[/color:c71c44f241] [color=green:c71c44f241];K[/color:c71c44f241] [color=blue:c71c44f241]D83 =%01000100 D84 =%01001000 D85 =%01110000 D86 =%01001000 D87 =%01000100 D88 =%01000010 D89 =%00000000 D90 =%00000000[/color:c71c44f241] [color=green:c71c44f241];L[/color:c71c44f241] [color=blue:c71c44f241]D91 =%01000000 D92 =%01000000 D93 =%01000000 D94 =%01000000 D95 =%01000000 D96 =%01111110 D97 =%00000000 D98 =%00000000[/color:c71c44f241] [color=green:c71c44f241];M[/color:c71c44f241] [color=blue:c71c44f241]D99 =%01000010 D100 =%01100110 D101 =%01011010 D102 =%01000010 D103 =%01000010 D104 =%01000010 D105 =%00000000 D106 =%00000000[/color:c71c44f241] [color=green:c71c44f241];N[/color:c71c44f241] [color=blue:c71c44f241]D107 =%01000010 D108 =%01100010 D109 =%01010010 D110 =%01001010 D111 =%01000110 D112 =%01000010 D113 =%00000000 D114 =%00000000[/color:c71c44f241] [color=green:c71c44f241];O[/color:c71c44f241] [color=blue:c71c44f241]D115 =%00111100 D116 =%01000010 D117 =%01000010 D118 =%01000010 D119 =%01000010 D120 =%00111100 D121 =%00000000 D122 =%00000000[/color:c71c44f241] [color=green:c71c44f241];P[/color:c71c44f241] [color=blue:c71c44f241]D123 =%01111100 D124 =%01000010 D125 =%01000010 D126 =%01111100 D127 =%01000000 D128 =%01000000 D129 =%00000000 D130 =%00000000[/color:c71c44f241] [color=green:c71c44f241];Q[/color:c71c44f241] [color=blue:c71c44f241]D131 =%00000000 D132 =%00000000 D133 =%00000000 D134 =%00000000 D135 =%00000000 D136 =%00000000 D137 =%00000000 D138 =%00000000[/color:c71c44f241] [color=green:c71c44f241];R[/color:c71c44f241] [color=blue:c71c44f241]D139 =%00000000 D140 =%00000000 D141 =%00000000 D142 =%00000000 D143 =%00000000 D144 =%00000000 D145 =%00000000 D146 =%00000000[/color:c71c44f241] [color=green:c71c44f241];S[/color:c71c44f241] [color=blue:c71c44f241]D147 =%00000000 D148 =%00000000 D149 =%00000000 D150 =%00000000 D151 =%00000000 D152 =%00000000 D153 =%00000000 D154 =%00000000[/color:c71c44f241] [color=green:c71c44f241];T[/color:c71c44f241] [color=blue:c71c44f241]D155 =%00000000 D156 =%00000000 D157 =%00000000 D158 =%00000000 D159 =%00000000 D160 =%00000000 D161 =%00000000 D162 =%00000000[/color:c71c44f241] [color=green:c71c44f241];U[/color:c71c44f241] [color=blue:c71c44f241]D163 =%00000000 D164 =%00000000 D165 =%00000000 D166 =%00000000 D167 =%00000000 D168 =%00000000 D169 =%00000000 D170 =%00000000[/color:c71c44f241] [color=green:c71c44f241];V[/color:c71c44f241] [color=blue:c71c44f241]D171 =%00000000 D172 =%00000000 D173 =%00000000 D174 =%00000000 D175 =%00000000 D176 =%00000000 D177 =%00000000 D178 =%00000000[/color:c71c44f241] [color=green:c71c44f241];W[/color:c71c44f241] [color=blue:c71c44f241]D179 =%00000000 D180 =%00000000 D181 =%00000000 D182 =%00000000 D183 =%00000000 D184 =%00000000 D185 =%00000000 D186 =%00000000[/color:c71c44f241] [color=green:c71c44f241];X[/color:c71c44f241] [color=blue:c71c44f241]D187 =%00000000 D188 =%00000000 D189 =%00000000 D190 =%00000000 D191 =%00000000 D192 =%00000000 D193 =%00000000 D194 =%00000000[/color:c71c44f241] [color=green:c71c44f241];Y[/color:c71c44f241] [color=blue:c71c44f241]D195 =%00000000 D196 =%00000000 D197 =%00000000 D198 =%00000000 D199 =%00000000 D200 =%00000000 D201 =%00000000 D202 =%00000000[/color:c71c44f241] [color=green:c71c44f241];Z[/color:c71c44f241] [color=blue:c71c44f241]D203 =%01111110 D204 =%00000100 D205 =%00001000 D206 =%00010000 D207 =%00100000 D208 =%01111110 D209 =%00000000[/color:c71c44f241] [color=green:c71c44f241];******************************************[/color:c71c44f241] [color=blue:c71c44f241]INICIO: i=i+1 IF i=i1 Then PALABRA PORTD=%11111110 PORTC=d1 Pause P1 PORTD=%11111101 PORTC=d2 Pause P1 PORTD=%11111011 PORTC=d3 Pause P1 PORTD=%11110111 PORTC=d4 Pause P1 PORTD=%11101111 PORTC=d5 Pause P1 PORTD=%11011111 PORTC=d6 Pause P1 PORTD=%10111111 PORTC=d7 Pause P1 PORTD=%01111111 PORTC=d8 Pause P1 PALABRA: i=0[/color:c71c44f241] [color=green:c71c44f241];LETRA_a:[/color:c71c44f241] [color=blue:c71c44f241]dAUX=D0 d0=d1 d1=d2 d2=d3 d3=d4 d4=d5 d5=d6 d6=d7 d7=d8 d8=D9[/color:c71c44f241] [color=green:c71c44f241];LETRA_b:[/color:c71c44f241] [color=blue:c71c44f241]d9=d10 d10=d11 d11=d12 d12=d13 d13=d14 d14=d15 d15=d16 d16=d17 D17=D18[/color:c71c44f241] [color=green:c71c44f241];LETRA_c:[/color:c71c44f241] [color=blue:c71c44f241]d18=d19 d19=d20 d20=d21 d21=d22 d22=d23 d23=d24 d24=d25 D25=D26[/color:c71c44f241] [color=green:c71c44f241];LETRA_d:[/color:c71c44f241] [color=blue:c71c44f241]d26=d27 d27=d28 d28=d29 d29=d30 d30=d31 d31=d32 d32=d33[/color:c71c44f241] [color=green:c71c44f241];LETRA_e:[/color:c71c44f241] [color=blue:c71c44f241]d33=d34 d34=d35 d35=d36 d36=d37 d37=d38 d38=d39 d39=d40 d40=d41[/color:c71c44f241] [color=green:c71c44f241];LETRA_f:[/color:c71c44f241] [color=blue:c71c44f241]d41=d42 d42=d43 d43=d44 d44=d45 d45=d46 d46=d47 d47=d48 d48=d49[/color:c71c44f241] [color=green:c71c44f241];LETRA_g:[/color:c71c44f241] [color=blue:c71c44f241]d49=d50 d50=d51 d51=d52 d52=d53 d53=d54 d54=d55 d55=d56 d56=d57[/color:c71c44f241] [color=green:c71c44f241]; Y ASI SIGUE SUCESIVAMENTE....[/color:c71c44f241] [color=blue:c71c44f241]goto INICIO END[/color:c71c44f241] Cuando inicies el programa, notaras que la matriz, arrancara presentando las distintas letras que hay en la tabla, pero con la novedad, de que se ve con el efecto visual de desplazamiento... Si no me entendes, chiflame que te lo explico de una manera mas grafica...
xavier3765
hace 13 años
hace 13 años
Muchas gracias x su ayuda voy a armarlo en proteus y hacer la prueba, y lo q me quedaria medio pendiente es la manera de como multiplexo con un registro de desplazamiento..... eso es lo q me faltaria para poder desarrolar la matriz de 8 x 40...q es la q requiero....voy a leer mas detenidamente sus respuestas y cualquier duda la hare saber....
torres.electronico
hace 13 años
hace 13 años
Con la hojas de datos del registro de desplazamiento + lo que ya te comente, tenes el proyecto servido en bandeja y mano ;)
torres.electronico
hace 13 años
hace 13 años
Para hacerlo un poco mas claro y que arranques con pruebas mas pequeñas, te vpoy a explicar el paso a paso de como controlar una matriz de led... Mirá, este articulo originalmente lo escribi para picaxe, pero como estos son programados en un basic, no creoque tengas problema alguno en modificarlo para llevarlo a tus necesidades; O sea, la base de este articulo, es valida para cualqier programacion... arranquemos: Como controlar una pantalla del tipo matriz de LED En otro articulo, ya hemos estado viendo un poco de lo que refiere el control matricial; Concretamente, aprendimos como controlar un teclado matricial, y tomando como base aquel proyecto, seguiremos abordando el tema de control de matrices, pero con un proyecto aun mas ambicioso… “La creación de una simple pantalla matricial a Leds”. Si bien, se podría implementar un puerto para cada LED, esto nos llevaría a requerir de un microcontrolador con varios puertos y a su vez, estaríamos desperdiciando un microcontrolador, ya que la cantidad de puertos empleados para controlar el hardware de la pantalla, serian muchos y no aprovecharíamos su máximo rendimiento para emplearlo en mas de una cosa; Es por ello, que en este articulo, aprenderemos otro método mas de control matricial, que se lo denomina “control por multiplexacion”. Una matriz es una tabla rectangular de números ordenados por filas y columnas. Para nuestro caso, tenemos una matriz con lógica binaria; Es decir, los valores de la matriz, pueden varían entre 1 y 0 lógico (encendido, 0 apagado). Si nos vamos a la estructura interna de las pantallas a led, sencillamente lo que podemos encontrar en la gran mayoría de estos hardware, es un arreglo de LED conectados en filas y columnas (ver imagen inferior); que por esta misma razón, se los llama y o denomina, Pantallas Matriciales. ANÁLISIS DE CIRCUITO El control multiplexado de una matriz de 49 LEDs (o sea, una matriz como la de nuestro ejemplo, pero puede ser de mas o menos leds), es muy sencilla y sólo requiere un truco; La implementación del método de “persistencia de la visión”, que en si, es un sencillo efecto visual, donde son tan rápidas las conmutaciones de los Leds, que el ojo no percibe estos cambios y podemos ver figuras, números, letras, etc, en la pantalla. O sea, lo que hacemos, es encender y apagar repetidas veces cada led afectado a la figura a una velocidad importante, y el ojo no notara el parpadeo de los led, todo lo contrario; Solo vera la figura formada por los led que se encendieron. Notaran que mencione que nuestra matriz esta compuesta por 49 led… Bien, como el picaxe18x tan solo posee 8 salidas digitales, nos estarían faltando, supuestamente, 6 u 7 salidas mas para poder crear nuestra matriz de 49 leds ; Para que esto ultimo no sea un impedimento en la creación de nuestro proyecto, observemos el siguiente diagrama de circuito, para ver como resolvimos nuestro pequeño dilema. Como verán, para obtener estas salidas que nos estaban faltando, recurrimos a un circuito integrado que trabajara como auxiliar en nuestro proyecto. Este CI, es un contador Johnson (CD4017); Y básicamente, tiene la función de activar sus salidas en forma lineal, a cada pulso de reloj que tenga en su entrada. O sea, cuando recibe el 1er pulso de reloj este circuito integrado, activa la salida1, al siguiente pulso de reloj, desactiva la salida1 y activa la salida2, y así sucesivamente hasta que sea reseteado. Digamos que es ideal para nuestra aplicación, ya que nosotros solo deseamos que active una fila por vez. Como la corriente del CD4017 es muy baja (1mA) y nosotros requerimos de una corriente de 60mA por columna; En serie a las salidas de nuestro contador Johnson, hemos implementado un circuito integrado mas a nuestro diseño, que es un Array de transistores (algo así como implementar dos transistores en configuración darlington para cada salida, pero mas reducido en un solo IC). La implementación del ULN2803, es para obtener más corriente a través de los LEDs (este nos entrega 500mA), y si bien podría implementar un par de transistores NPN, resolví implementar este IC por una cuestión cómoda a la hora de diseñar nuestro PCB (ocupa mucho menos espacio). INTRODUCCIÓN A LA PROGRAMACION La rutina de control, es relativamente simple y fácil de seguir. Primero que nada, debemos definir nuestros caracteres y o imágenes a imprimir en la pantalla de leds. Para ello, dibujaremos una cuadricula que sea similar a nuestra matriz, y dentro de cada circulo, le asignaremos un valor absoluto hasta formar nuestra imagen... Luego, tomaremos el valor de cada fila, y esos valores, serán los bits de cada puerto a la hora de controlar nuestro picaxe. Por ejemplo, si tenemos la siguiente situación (dibujaremos la letra “X”): Una vez que ya tenemos lista la tabla con los valores que adoptara cada salida, para formar la figura; Tomaremos estos valores y los introduciremos en nuestro programa del picaxe, de la siguiente manera… Como podemos deducir en el programa, para habilitar cada fila, primero vamos al subprograma “clock4017” (recordar que en cada pulso de reloj, este CI, desplaza sus salidas linealmente, o sea, va encendiendo y apagando sus salidas en un orden especifico). Una vez que habilitamos la fila, volvemos al programa principal, y daremos la orden de que led deben encenderse y cuales no , osea, habilitaremos las columnas que deseemos (esto lo hacemos sencillamente con la función “let pins” mas el valor obtenido en la tabla que creamos anteriormente). El resto del programa, básicamente es lo mismo. Volvemos a repetir los pasos para mandar el pulso de clock en el CD4017, y luego daremos la orden de que columnas queremos encender… Veamos este mismo ejemplo, un poco mas grafico: Y así sucesivamente hasta formar la imagen… La idea, es entrar en un bucle de parpadeos continuo, que contengan pequeños retardos para que se pueda crear el efecto visual. El retardo mínimo que podemos emplear en la señal clock del CD4017, es de 20mS y para poder obtener el efecto visual sin notar las conmutaciones de los Leds, deberemos jugar con los valores de b2; cuando mas rápido sea el ciclo mejor. Recuerden siempre que, las salidas de nuestro picaxe, dicen que led se enciende o no, en cada columna; y el CD4017, es el encargado de habilitar cada fila. Con estos dos importantes datos, de seguro muchos proyectos podrán comenzar a crear. Cabe destacar, que esto mismo se puede hacer con circuitos integrados especificos ( un desplazador de registro, uno o dos 4017, dos 555,etc ) Espero poder aclarar toda duda con esto ultimo, salu2
xavier3765
hace 13 años
hace 13 años
Ok gracias...cualquier duda se la hare....gracias...
xavier3765
hace 13 años
hace 13 años
Ya simule el primer ejemplo, y tengo una duda oscilador de cuanto le utilizo, y q registro de desplazamiento me recomienda para realizar la matriz de 8x40...
torres.electronico
hace 13 años
hace 13 años
[quote="xavier3765"]Ya simule el primer ejemplo, y tengo una duda oscilador de cuanto le utilizo, y q registro de desplazamiento me recomienda para realizar la matriz de 8x40...[/quote] Cual de todos :D el de la matriz chica con desplazamiento para arriba? si es ese, fijate que no te lo compile para que vos puedas modificar los fuses a gusto tuyo... Yo lo tengo armado con uno de 8Mhz
xavier3765
hace 13 años
hace 13 años
Si tiene raz<on ahora estoy pensandolo en como hacerle la matriz q necesito, x eso q registro de desplazamiento me sugiere usar......
torres.electronico
hace 13 años
hace 13 años
[quote="xavier3765"]Si tiene raz<on ahora estoy pensandolo en como hacerle la matriz q necesito, x eso q registro de desplazamiento me sugiere usar......[/quote] mira, hay varios....si queres, podes usar el 74ls164...Ya que estas, date una vuelta por acá: http://wsdetcp.upct.es/Personal/JZapata/labelec08.pdf Y descargate la hoja de datos, que la info esta mas completa
xavier3765
hace 13 años
hace 13 años
Entre 74hc164 y 74ls164 la unica diferencia es q el hc da una salida con mayor amperaje...es verdad..???
torres.electronico
hace 13 años
hace 13 años
Tal cual
xavier3765
hace 13 años
hace 13 años
Para el desplazamiento en esste caso de la matriz de 8x40 es mejor ir prendiendo fila x fila... O columna x columna...
torres.electronico
hace 13 años
hace 13 años
Es lo mismo :D Eso depende de donde lo mires...Por ejemplo si yo te acuesto la matriz, cual seria las columnas, y cuales serian las filas? Lo que tenes que tener en cuenta, es donde te rinde mas las salidas del registro de desplazamiento, asi no tienes que implementar otros mas... En el caso del ejemplo que planteo de la matriz serial, fijate como los implemente...Igualmente, si buscas mas referencias graficas para desarrollar tu circuito, podrias ver acá: http://www.taringa.net/posts/ciencia-educacion/8653811/matriz-de-led-8x8.html (este proyecto esta en PicBasic, no en PicBasic Pro) o bien podrias implementar el buscador de la pagina y encontrar algo asi: http://www.yoreparo.com/foros/digital/matriz-de-leds-en-assembler-con-pic16f84-y-74ls164-t350542.html o de ultima, para encontrar mas recursos como guia, aqui: https://www.google.com.ar/search?q=matriz+74ls164&hl=es&prmd=imvns&tbm=isch&tbo=u&source=univ&sa=X&ei=TV8wULbZCq-t0AG0zYC4Aw&ved=0CGUQsAQ&biw=1366&bih=641 ;)
Reparaciones similares solucionadas

¿Conoces una solución?

¡Aprende a reparar con estos cursos YoReparo!

4.84
(25)

Curso Práctico de Reparación y Bobinado de Motores Eléctricos

Héctor Castiñeira
$ 60 USD
$ 20 USD
4.73
(22)

Curso Reparación de Fuentes Conmutadas de PC y Equipos Electrónicos

Maximiliano Resch
$ 40 USD
$ 20 USD
4.64
(11)

Curso Electrónica para Reparación de Placas

Santiago Cediel
$ 29 USD
$ 11 USD
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos?
Regístrate gratis