-
Notifications
You must be signed in to change notification settings - Fork 13
CT.16: Conexión de LEDs en la Alhambra II. Placa AP‐LED8‐THT
Diferentes alternativas para la conexión de LEDs en la placa Alhambra-II, para depurar nuestros circuitos. Descripción de la placa AP-LED8-THT
- Icestudio: Todos los ejemplos se han probado con Icestudio-0.11.1w. Usa esta versión o superior
- Ejemplos: Todos los ejemplos de este cuaderno técnico están accesibles en su repositorio en github
- Introducción
- Lista de materiales
- Conexión de UN LED a la Alhambra-II
- Conexión de DOS LEDS a la Alhambra-II
- Conexión de 8 LEDs la Alhambra-II
- Conexión de más LEDs a la Alhambra-II
- La placa AP-LED8-THT
- Conclusiones
- Autor
- Licencia
- Enlaces
La placa Alhambra-II incluye 8 LEDs para hacer pruebas. Sin embargo, muchas veces necesitamos más LEDS para visualizar los números en binario o el estado de nuestros circuito. En este cuaderno técnico describiremos diferentes alternativas para añadir LEDs
Estos son los materiales utilizados en este cuaderno técnico, con sus enlaces donde se pueden encotrar. Estos enlaces NO ESTÁN ESPONSORIZADOS. Es decir, NO son publicidad. Son los que he usado yo para consultar/comprar el material, y son de confianza, pero el material se puede encontrar en otros sitios y a otros precios
Aunque los LEDs se pueden comprar sueltos, existen kits con muchos leds, de diferentes colores y tamaños, a buen precio
- Pack de 300 LEDs de 3mm y 5mm (5.50€): BricoGeek
- Pack de 750 LEDs de 3mm (10.30€): Amazon (Este es el que yo compré)
Las placas de prototipado (Breadboard o protoboards) permite construir circuitos sencillos pinchando los componentes en ellas y uniéndolos mediante cables que también se pinchan en la propia placa, sin necesidad de soldar. Las hay de muchos tamaños. La que yo estoy usando en este cuaderno técnico es una versión mini, que tiene 170 agujeros distribuitos en dos bloques de 5 filas y 17 columnas
- Mini breadboard (0.9€): BricoGeek
Son cables que ya están cortados a diferentes longitudes y doblados, listos para conectar nuestros componentes pinchados en la placa de prototipado
- Kit de 140 Cables puente (2.45€): Bricogeek
Son cables que tienen dos pines en sus extremos. Cada pin puede ser macho o hembra. En esta foto se muestran los dos tipos que vamos a usar: Cable Hembra-hembra y cable macho-hembra
En esta foto se ven más detalles
Tiras de conectores hembra, de 1 fila para soldar en placas de PCB. Los utilizaremos para construir placas que se puedan enchufar directamente a los pines machos de la Alhambra-II. Tienen un paso de 2.54mm (10 mils)
Se pueden comprar por separado, pero existen kits que incluyen además conectores macho rectos y acodados
- Kit de 60 Conectores de diferentes tipos: Amazon
Son placas a doble cara para soldar componentes y conectores para PCBs. Con ellas se pueden hacer prototipos más duraderos que los que se hacen con las placas de prototipado
Vienen en diferentes tamaño, pero se pueden cortar fácilmente con sierras de marquetería para hacerlas del tamaño que queramos
Como son de doble cara podemos soldar componentes en cualquier de las dos caras. En las placas periféricas para conectar a la Alhambra-II pondremos los leds en una cara y los conectores en la otra
Hay kits que vienen sólo con los PCBs y otros que traen además los conectores:
Para conectar los elementos que soldamos en los PCBs podemos usar cualquier cable. Sin embargo, resulta muy útil utilizar hilos finos de 0.25mm de diámetro, que se usan normalmente con las herramientas de wire-wrapping (hilo filo que se enrolla en los pines de los componentes)
Como el hilo es muy fino (diámetro exterior de 0.55mm, interior de 0.25mm), se pueden colocar muchos en nuestro PCB ocupando poco espacio, lo que nos permite hacer placas más pequeñas y más complejas
- Rollo de hilo de wire-wapping (15.65€): Amazon
Esta herramienta NO ES NECESARIA. La pongo aquí como referencia. Es muy útil para pelar los cables de wrapping y para enrollarlos en pines largos. Pero para soldar cables a prototipos PCB no es necesaria
- Herramienta de wire-wrapping (18€): Amazon
Todos los enlaces anteriores están recopilados en esta tabla:
Componente | Precio | Enlace |
---|---|---|
Pack de 300 LEDs de 3mm y 5mm | 5.50€ | BricoGeek |
Pack de 750 LEDs de 3mm | 10.30€ | Amazon |
Mini breadboard | 0.9€ | BricoGeek |
Kit de 140 Cables puente | 2.45€ | Bricogeek |
Cables dupont Macho-hembra | 1.6€ | BricoGeek |
Cables dupont Hembra-hembra | 1.6€ | BricoGeek |
Kit de 60 Conectores de diferentes tipos | 15.29€ | Amazon |
Kit de 8 placas PCB | 6.95€ | BricoGeek |
Kit de 20 PCB + 75 conectores | 15€ | Amazon |
Rollo de hilo de wire-wapping | 15.65€ | Amazon |
Herramienta de wire-wrapping | 18€ | Amazon |
Los pines de la Alhambra-II incorporan una resistencia en serie de 200 ohm lo que permite encender LEDs directamente, sin tener que añadir ninguna resistencia externa. Por ello podemos tomar cualquier LED, conectar su pata larga (el positivo) a un pin Dx
de la Alhambra-II y la otra pata a cualquiera de los pines de GND
(negros)
El esquema es el siguiente:
El LED que usaremos es uno de 3mm:
Para probar el LED utilizamos un circuito en icestudio como el siguiente:
Simplemente enviamos un 1
por el pin D0
, por lo que el LED permanece encendido indefinidamente, siempre y cuando esté correctamente conectado
Otra prueba clásica para un LED es hacerlo parpadear:
El periodo de parpadeo de este ejemplo es de medio segundo (500ms). Se está utilizando el componente Heart-ms de la colección iceHeart
Una forma muy sencilla de conectar un LED a la Alhambra II es pinchar la pata larga del LED (el positivo) al pin Dx
de la Alhambra II (Por ejemplo el pin D0
) y el otro pin se lleva al pin macho de GND. Esta conexión no es muy estable, pero sirve para hacer pruebas rápidas (por ejemplo comprobar si un LED está fundido o no)
En esta imagen se ven más detalles (el LED está apagado):
Otra opción sencilla y rápida es utilizar dos cables hembra-hembra para conectar el LED
En este esquema se muestra la conexión a la Alhambra-II
Este es el montaje real:
En esta foto se pueden ver los detalles de conexión de los cables a los pines macho de la Alhambra-II
Una opción muy fácil también es usar una placa de prototipado (protoboard) donde colocar el LED y usar cables macho-hembra para conectar a la Alhambra II
Estos son los componentes a usar:
Aquí el esquema de conexión:
Este es el Montaje real:
El LED de 3mm se puede soldar a un conector hembra de 3 vías y conectarlo así muy fácilmente a la Alhambra II. Partimos de una tira de pines hembra y usando unos alicates lo cortamos en un conector de 3 pines (1). Al realizar el corte es posible que haya que utilizar una lima para dejar los bordes lisos (ya que normalmente estos cortes no salen limpios)
Luego cortamos con los alicates la pata del centro y por último soldamos el LED. Es importante hacer una marca en el conector para indicar cuál es GND (negativo)
Así es como queda conectado a la placa y con el LED encendido:
y aquí se pueden ver más detalles de la conexión:
En vez de soldar el LED directamente al conector hembra, otra opción es crear un mini-PCB prototipo, con el LED soldado, junto a un conector hembra de 3 vías para la conexión a la Alhambra-II
Este PCB se puede crear de muchas formas y tamaños. En estos dos ejemplos que presento he construido dos placas mínimas, con el objetivo de hacerlas lo más pequeñas posibles
En esta primera versión el PCB es alargado verticalmente. El LED verde está en la parte superior
Así es como queda cuando se conecta al pin D0
:
Detalles de la conexión:
Esta placa es muy cómoda y se puede conectar en cualquiera de los pines de la Alhambra-II. El inconveniente es que el PCB es muy estrecho y cuesta cortarlo. Podría ser una opción muy interesante si se hace un PCB industrial
En esta versión el PCB es más cuadrado, y el LED se sitúa a la derecha del conector (en vez de arriba):
Así es como queda cuando se conecta al pin D0
:
Esta placa es más fácil de cortar porque es más grande, y también es más fácil de soldar el LED y las conexiones al conector hembra
Para conectar 2 LEDs a la Alhambra-II, podemos usar lo mismo que hemos visto en el apartado anterior: conectar los leds directamente con cables, mediante protoboard, soldar a conectores de 3 vías, soldarlos en nuestro PCB prototipo...
En este apartado documentaremos algunos de ellos, para tenerlos como referencia
Este es el esquema genérico, común a todos los montajes:
Este es el circuito de prueba para encender DOS LEDs indefinidamente. Por defecto se usan los pines D0
y D1
Se utiliza el bloque Copy de 2 bits para obtener un bus de 2-bits a 1
que se saca hacia los dos LEDs. Lo interesante de este ejemplo es que escala fácilmente para encender N LEDs. Basta con colocar el bloque copy de N bits
Este circuito desplaza un bit a la derecha por los dos LEDs, lo que provoca el efecto de dos leds parpadeantes desfasados 180 grados. Pero tiene la ventaja de poderse usar para probar N leds. Se utilizan un registro de desplazamiento a la derecha (SR), de N bits
El material que necesitamos es:
- 1 placa de prototipado (breadboard)
- 3 cables dupont macho-hembra
- 1 cable puente
- 2 LEDs de 3mm
Este es el esquema del montaje
En esta foto se muestra el montaje real, con los dos LEDs encendidos
En este vídeo se muestra el sistema en funcionamiento, cuando se carga el ejemplo 4
Este proceso ya lo hemos visto en secciones anteriores. Pero ahora lo repetimos con 2 LEDs independientes. Lo que obtenemos son 2 LEDs discretos que podemos conectar de forma independiente a los pines que queramos. Y la cantidad de LEDs que queramos
Para el caso de 2 LEDs necesitamos los 2 conectores hembra de 3 pines y los 2 LEDs:
Los conectores hembra los hemos cortado de la tira larga con unos alicates, y hemos limado la parte lateral
Cortamos las patas de los LEDs, cortamos el pin central del conector hembra, realizamos las soldaduras y obtenemos nuestros LEDs listos para conectarse. Hacemos unas muescas con el soldador para indicar la conexión a GND
Lo conectamos a la Alhambra-II para probarlo. En este ejemplo se han utilizado los pines D0
y D1
para encender ambos LEDs
En este vídeo lo vemos en acción. Ambos LEDs están parpadeando (usando el ejemplo 4):
En esta opción construimos nuestra placa soldando los componentes en un PCB de prototipado, que previamente hemos cortado con una segueta de marquetería
Soldamos los dos LEDs de 3mm en la cara superior y dos conectores hembra de 2 pines en la inferior. Utilizamos los cables de wire-wrapping para las conexiones
Esta es la placa conectada a los pines D0
y D1
, con los dos leds encendidos. En la foto de la derecha se ven los detalles de conexión (los LEDS están apagados)
En este vídeo lo vemos en acción. Ambos LEDs están parpadeando (usando el ejemplo 4):
Vamos a ver diferentes opciones para conectar 8 LEDS a la Alhambra-II. Este número es MUY IMPORTANTE porque representa UN BYTE de información, que se utiliza muchísimo. Estos 8 LEDs, además, se pueden utilizar para representar números de 16 y 32 bits, mostrando en cada momento los bytes de diferentes pesos de estos números más grande
Por eso, para conectar 8 LEDS más fácilmente y depurar nuestros circuitos, se ha diseñado y construido la placa AP-LED8-THT, que se presenta en detalle en la última sección
Este es el esquema genérico, común a todos los montajes:
Este es el circuito de prueba para encender 8 LEDs indefinidamente, conectados en los pines D0
-D7
. Es similar al ejemplo 3, pero ahora el bloque copy es de 8 bits
Este circuito desplaza un bit a la derecha por los 8 LEDs. Cuando el bit llega al extremo derecho comienza de nuevo por la izquierda. El movimiento se realiza a velocidad constante. Se utiliza un registro de desplazamiento a la derecha (SR), de 8 bits
El material que necesitamos es:
- 1 placa de prototipado (breadboard)
- 9 cables dupont macho-hembra
- 7 cables puente cortos (separación de 200 mils (5mm))
- 8 LEDs de 3mm
Este es el esquema del montaje
En esta foto se muestra el montaje real, con los ocho LEDs apagados:
Lo conectamos y cargamos el ejemplo 5 para encender los LEDs y probarlos:
En este vídeo se muestra el sistema en funcionamiento, cuando se carga el ejemplo 6
La opción más sencilla es usar una protoboard, pero tiene el inconveniente de que los cables se sueltan y es difícil reutilizarlo de un proyecto a otro. Hay que estar comprobando y rechequeando las conexiones con cada cambio. También cuando hay que llevarse el proyecto de un lugar físico a otro
Esta opción es laboriosa porque tienes que soldar la placa. Pero tiene la ventaja de la comodidad una vez construida: cada vez que necesites 8 LEDs adicionales sólo tienes que conectarla y listo. El desarrollo de los prototipos es también más robusto. Los cables no se sueltan y se puede transportar más fácilmente
-
Material necesario:
- 1xPlaca de PCB prototipo de 20x80mm. Tiene 28x6 taladros con paso de 100 mils (2.54mm)
- 8xLEDs de 3mm
- 2xConectores hembra de 8 pines y paso de 2.54mm (100 mils)
- Cable de wrapping
La placa de PCB prototipo es más grande de lo necesario. Para construir la placa la recortamos a un tamaño de 15x6 taladros
En esta figura se muestra un diagrama de las conexiones. Las de la parte superior están hechas directamente con estaño, uniendo pines adyacentes. Las de la cara inferior están hechas con estaño (GND, negativo de los LEDs) y cables de wrapping (Positivo de los LEDs)
Para montar la placa seguir las siguientes instrucciones:
- Insertar los LEDs en la parte superior. Asegurarse de que se han introducido todos con la misma polaridad. La pata larga (+) debe estar mirando hacia arriba, y la corta (negativa) hacia abajo
- Para cada LED, soldar primero sólo una pata. Asegurarse que su base está totalmente apoyada sobre la cara superior del PCB, para que el LED quede recto. Si sólo soldamos una pata es muy fácil recolocar el LED, simplemente calentando la soldadura. Cuando todos los LEDs están rectos y bien alineados, pasamos al punto 3
- Soldar la otra pata de cada LED. Al terminar cortamos las patas para dejarlas a ras de la cara inferior
- Soldar el conector hembra de 8 pines en la cara inferior (GND)
- Hacer todas las conexiones de GND. Muchas se pueden hacer directamente con estaño. También se pueden utilizar las propias patas cortadas de los LEDs para unir todas las GNDs
- Tirar cables de wrapping para unir las patas positivas de los LEDs con los puntos destino en el PCB
- Soldar el conector hembra de 8 pines que falta en la cara inferior. Este conector conviene soldarlo el último para dejar espacio para meter el soldador y soldar los cables. Si se ha soldado primero el conector queda muy poco espacio libre y las soldaduras se complican
Este es el aspecto de la placa:
Aquí está la placa conectada a la Alhambra-II, y con los LEDs encendidos (Circuito del ejemplo 5 cargado). En la derecha se ven detalles de la placa, con los LEDs apagados
En este vídeo lo vemos en acción (usando el ejemplo 6):
En algunas aplicaciones necesitaremos tener todavía más LEDs conectados. Por ejemplo para mostrar números de más de 8 bits en binario, o representar barras de progreso más largas. En total en la Alhambra-II disponemos de 20 pines, distribuidos en 3 conectores de 8, 6 y 6 bits. Por tanto, en total podemos conectar hasta 20 LEDs. Que unidos a los 8 LEDS internos, nos da un total de 28 LEDS
Los LEDs los podemos conectar utilizando cualquiera de las formas indicadas en las secciones anteriores. Pero en este apartado utilizaremos PCBs prototipos, que nos permite reutilizar los LEDs más fácilmente. Una manera muy sencilla es construirse un PCB de 6 LEDs, que podemos conectar en los pines D8-D13 y DD0-DD5. Si partimos de la placa de 8 LEDs conectada en D0-D7 y añadimos una de 6 LEDs, nos dará un total de 8+6 = 14 LEDs. Si ahora conectamos otra de 6 LEDs, tendremos 20 LEDs. Y si utilizamos los LEDs internos tendremos el máximo de 28 LEDs
La placa LED6 se construye de forma similar a la LED8. Hay que utilizar una placa de 11x6 taladros. Este es el aspecto que tiene:
La placa LED6 se puede conectar a los pines D8-D13 o a los pines DD0-DD5
La configuración que usamos es conectar las siguientes placas:
- LED8: En los pines D0-D7
- LED6: En los pines D8-D13
Este es el circuito de prueba para encender 14 LEDs indefinidamente, conectados en los pines D0
-D13
. Se utiliza el bloque copy de 14 bits
Este circuito desplaza un bit a la derecha por los 14 LEDs. Cuando el bit llega al extremo derecho comienza de nuevo por la izquierda. El movimiento se realiza a velocidad constante. Se utilizan un registro de desplazamiento a la derecha (SR), de 14 bits
Este es el resultado cuando se carga el circuito del ejemplo 7:
En este vídeo lo vemos en acción cuando se carga el circuito del ejemplo 8
La configuración que usamos es conectar las siguientes placas:
- LED8: En los pines D0-D7
- LED6: En los pines D8-D13
- LED6: En los pines DD0-DD5
Este es el circuito de prueba para encender 20 LEDs indefinidamente, conectados en los pines D0
-D13
y DD0-DD5
. Se utiliza el bloque copy de 20 bits
Este circuito desplaza un bit a la derecha por los 20 LEDs. Cuando el bit llega al extremo derecho comienza de nuevo por la izquierda. El movimiento se realiza a velocidad constante. Se utilizan un registro de desplazamiento a la derecha (SR), de 20 bits
Este es el resultado cuando se carga el circuito del ejemplo 9:
En este vídeo lo vemos en acción cuando se carga el circuito ejemplo 10
Si en la configuración de 20 LEDs utilizamos los 8 LEDs integrados en la Alhambra II, tenemos un total de 28 LEDs
Este es el circuito de prueba para encender 28 LEDs indefinidamente, conectados en los pines D0
-D13
, DD0-DD5
y LEDs integrados LED0-LED7. Se utiliza el bloque copy de 28 bits
Este circuito desplaza un bit a la derecha por los 28 LEDs. Cuando el bit llega al extremo derecho comienza de nuevo por la izquierda. El movimiento se realiza a velocidad constante. Se utilizan un registro de desplazamiento a la derecha (SR), de 28 bits
Este es el resultado cuando se carga el circuito del ejemplo 11:
En este vídeo lo vemos en acción cuando se carga el circuito ejemplo 12
La placa AP-LED8-THT es un periférico para la Alhambra-II que incluye 8 LEDs pasantes. Se conecta a los pines D0-D7
La ventaja de utilizar un PCB industrial es que su uso es muy cómodo y fiable, además de tener documentación en la serigrafía
- Dimensiones: 37mm de largo por 16mm de ancho
- Número de capas: 2
- Tipo de componentes: pasantes (through hole (THT))
- Programa de diseño: Kicad 7
- Número de LEDs: 8
- Pines: D0-D7
-
Fabricación del primer lote:
- Fabricante: PCBWAY
- Fecha: 25-Enero-2024
- Cantidad: 20 placas
- Repositorio: https://github.com/FPGAwars/AP-LED8-THT
- Licencia: Placa certificada como Hardware Libre, por la OSHWA
- Identificador de certificación: ES000043
El PCB es muy sencillo. Se ha diseñado así para que resulte muy fácil de replicar por estudiantes que estén aprendiendo a hacer PCBs. Se han utilizado componentes pasantes para que resulte más fácil de montar y soldar, para que los estudiantes lo aprendan y practiquen
En total se han fabricado 20 PCBs en esta primera tirada
Para montar la placa necesitamos estos componentes:
- 8 LEDs de 3mm
- 2 conectores hembra de 8 pines (Paso de 2.54mm)
Para montarla hay que seguir estos pasos:
- Insertar los LEDs, con la polaridad correcta. La pata más larga (+) hay que ponerla hacia arriba. La pata corta (-) entra por el pad cuadrado (inferior). Las patas hay que separarlas para que los LEDs no se caigan
- Soldar una de las dos patas de cada LED. Soldar una pata nos permite recolocar el LED fácilmente para que quede totalmente apoyado en el PCB, y sobre todo, que queden todos los LEDs alineados
- Soldar la otra pata de cada LED. Ahora ya se pueden cortar las dos patas
- Soldar los conectores hembra. Insertar los conectores hembra por la cara inferior, y soldarlos por la cara superior. Es importante soldar primero sólo un pin de un conector, y asegurarse de que el conector queda recto y totalmente apoyado en el PCB. Luego ya se pueden soldar el resto de pines. Se repite para el segundo conector. ¡Ya tenemos la placa lista!
La placa la probamos usando los ejemplos 5 y 6: encender todos los LEDs y mostrar una secuencia de un LED desplazándose
Si la placa se ha soldado correctamente, al cargar el ejemplo 5 se deben encender todos los LEDs:
Este es el resultado al cargar el circuito del ejemplo 6: un bit se desplaza hacia la derecha encendiendo el LED correspondiente. Al llegar a la derecha comienza de nuevo por la izquierda
Una secuencia "clásica" es la del coche fantástico (Knight rider) o la del ojo de Cylon de la serie Galáctica
Este circuito está implementado mediante una máquina de estados. Hay dos estados: derecha e izquierda. Cuando se activan los extremos del registro de desplazamiento derecha-izquierda (endR, endL) se cambia al estado correspondiente para cambiar la dirección
Este es el circuito:
Y este es el video donde se muestra su funcionamiento:
Conectar muchos LEDs nos permite mostrar números binarios de hasta 28 bits. Esto es algo que necesitaremos para depurar nuestros circuitos en los cuadernos técnicos venideros
De todas las opciones, la de tener los LEDs soldados en placas de PCB es la más fiable y cómoda, tanto si son PCBs prototipos como PCBs industriales, y es la que utilizaremos a partir de ahora
- Juan González-Gómez (Obijuan)
- Unidad de PWM de frecuencia aproximada
- VGA Retro: Puesta en marcha. MonsterLED
- Pines de Entrada/Salida
- Control de LEDs
- SPI esclavo
- SPI Maestro
- Display SPI de 4 dígitos de 7 segmentos
- Entrada y Salida de Bits con Componentes Virtuales
- Memorias
- Entradas y pulsadores
- Señales del sistema. Medición con el LEDOscopio
- Controlador LCD 16x2
- Señales periódicas y temporización
- Buses: Medio compartido
- Memoria Flash SPI
- Conexión de LEDs en la Alhambra II. Placa AP‐LED8‐THT
- Periféricos PMOD
- Fundamentos. Sistema Unario
- Autómatas
- Pantallas de vídeo. Fundamentos. Display de 1x4 LEDs