Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Muy buenas, me encuentro desarrollando un proyecto en el que me gustaría controlar una matriz de leds 5x7 con solo 2 pines, ya que voy a usar un PIC de la familia 12F. He pensado en usar los siguientes componentes:
- 1x ULN2003 - Darlington Transistor Array - SMD
- 2x 74HC595 - 8-bit Serial-to-Parallel Shift Reg. Tri-State (16 pin SOIC)
- 7x 150R con encapsulado 0805
Adjunto el esquema que he pensado usar.
Y ahora mis dudas, para el caso que me ocupa, que es encender leds, no creo que necesite el reloj del registro de salida, por eso me gustaría saber si conocéis algún integrado como el 74hc164, pero que tenga salida serie y paralelo. Quizás una opción sería usar un solo registro de 16 bits... Otra cosa que puede que valga es puentear los dos relojes, pero no se si valdría...
Por otro lado, ¿conocéis de algún integrado que además de registro de desplazamiento incluya un driver para los leds? Así ahorraría espacio en placa (quiero que quede lo más pequeño y barato posible). Sino, ¿está bien tal y como lo he puesto? No estoy seguro de si los registros de desplazamiento podrán asimilar los 20-25mA sin problemas. Creo que eso es todo, cualquier sugerencia será bienvenida.
¡Saludos!
Por lo que veo quieres controlar cada led individualmente. Puesto que la última salida del registro X lo has metido al serie del Y. Pero me da que para hacer esto bien y no te surjan problemas tu velocidad de escritura debe ser el tiempo que empleas en desplazar los dos registros, es decir 16 por tu frecuencia de reloj. Puesto que tendrás que enviar en el primer Byte el valor para escribir sobre Y y en el segundo el valor para escribir sobre X. Si envías más de un bit a "1" en cada byte es posible que e encienda algún led que no quieras.
Respecto a lo que comentas tendrás que ver las características del chip, suelen poner la corriente que soportan cuando están a "1" y a "0". Y si no te sirve le poner un interruptor digital que también los hay.
Buenas, la verdad es que si, ya lo había tenido en cuenta. Si uso registros tal y como está en el esquema no pasará nada, pues primero se usa la linea CLK_SERIE para precargar los registros y luego dando un solo pulso a la señal CLK_LATCH se pasan los datos al registro de salida, así no habría ningún parpadeo extraño.
De todos modos, el micro trabajará a 4-8 MHz, así que supongo que no habría ningún problema en conmutar los pines a 50KHz, que es mil veces más de lo que el ojo humano es capaz de distinguir. Lo del datasheet, lo he mirado pero no lo veo... Volveré a mirarlo.
Saludos.
Bueno ya veo que lo tienes todo calculado. Lo comenté para saber si estaba entendiendo lo que querías hacer.
Para lo que pretendes hacer me da que tendrás que usar algo parecido a esto, ya que los registros que has puesto son CMOS y no van a soportar la corriente de los leds.
Si no buscate algún analogue switch o intenta resolverlo con un BJT o MOSFET.
¿Has mirado los TPIC595? Básicamente llevan el registro de desplazamiento y además el ULN, y están pensados precisamente para conmutar LED's. La parte del positivo o alimentación la tendrás que conmutar con otra cosa, usualmente un MOSFET, como el FDC303P o un PNP como el BC857/847.