Repository navigation
Video 8: Pines y LEDs externos

Haz click en la imagen para ver el vĂdeo en Youtube
La Icezum Alhambra dispone de un total de 32 pines de E/S repartidos en diferentes conectores. Aprenderemos a conectar LEDs externos a los pines de 3.3V de la FPGA y cĂ³mo hacerlos parpadear desde circuitos en Icestudio. Veremos cĂ³mo hacer distintos tipos de circuitos fĂsicos para colocar estos LEDs
Academia-Jedi-HW-08.zip: ColecciĂ³n para este tutorial. Descargar e instalar
- Material necesario
- DocumentaciĂ³n de la Icezum Alhambra
- Pines de la Icezum Alhambra
- Conectando un LED externo a los pines de 3.3V
- LEDs externos intermitentes
- Montando circuitos externos
- Ejercicios propuestos (18 Bitpoints)
- Ejercicios entregados
- Autor
- Licencia
- Créditos y agradecimientos
- Enlaces
- FAQs
Materia necesario para hacer los ejemplos y ejercicios del tutorial:
| Foto | Material |
|---|---|
![]() |
Placa entrenadora pequeña |
![]() |
LED pasante, de cualquier color. Tamaño 3mm Ă³ 5mm. MĂnimo 2 |
![]() |
Resistencia de 100 Ohmios, de 1/4 W. Al menos 2 |
![]() |
Cable macho - hembra. Al menos dos. Este cable se puede obtener uniendo un hembra-hembra con uno macho-macho |
![]() |
Cable macho - macho. Al menos dos |
![]() |
Cable hembra - hembra. Al menos dos |
La documentaciĂ³n de la placa Icezum Alhambra estĂ¡ resumida en este diagrama, realizado por Alberto Piganti (¡Gracias!)

EstĂ¡ disponible en otros formatos: (PNG)(SVG)(PDF)
En este diagrama hay mucha informaciĂ³n. Vamos a analizar la parte que nos es mĂ¡s familiar: los LEDS de la placa. Si miramos el diagrama veremos esto:

Junto a cada pin/LED hay unos cuadros con la siguiente informaciĂ³n:
- Pin fĂsico: Es el nĂºmero de pin del encapsulado de la FPGA. En la Icezum alhambra, el encapsulado de la FPGA es un TQ144, y la numeraciĂ³n de los pines es como se muestra en la siguiente figura. TambiĂ©n se han incluido los pines de los leds

-
Nombre del pin. Es el nombre asignado por Lattice, con independencia del encapsulado (Ya que cada encapsulado tiene una numeraciĂ³n diferente). AsĂ, el pin denominado 1_62 es una salida de la FPGA que estĂ¡ en el banco 1 y que para los encapsulados TQ144 sale por el pin fĂsico 95, pero saldrĂ¡ por otro en un encapsulado diferente
-
Nombre en Icestudio. Es el nombre que se le asigna en los bloques amarillos de Icestudio
-
Tipo de pin. Indica de qué tipo es el pin. Las flechas blancas con fondo naranja significa que se trata de un LED
La informaciĂ³n de la placa tambiĂ©n estĂ¡ disponible desde el menĂº Ver/Pinout de Icestudio

Al pulsar la opciĂ³n de Pinout se nos abre una ventana con la documentaciĂ³n de la Icezum Alhambra. Si tenemos seleccionada otra placa, saldrĂ¡ su propia documentaciĂ³n

Sobre esta ventana podemos hacer zoom y navegar. En el caso de la icezum Alhambra, la documentaciĂ³n que se muestra en icestudio 0.3.1 estĂ¡ obsoleta. Hay una mĂ¡s moderna en el repo, que es la que se recomienda usar. En las siguientes versiones de Icestudio se actualizarĂ¡
La placa Icezum Alhambra tiene 4 tipos de pines para conectarse al exterior, resumidos en este diagrama

Estos conectores son:
1. Conectores de E/S hembra de 5 Voltios
2. Conectores de E/S macho de 5 Voltios, con alimentaciĂ³n y masa
3. Conectores de E/S macho de 3.3 Voltios
4. Conectores macho para entradas analĂ³gicas
Son los tĂpicos conectores de Arduino que sirven para conectar cables macho y shields de expasiĂ³n. Se encuentran en la parte superior e inferior de la placa, como se muestra en la figura

En total hay 31 pines, de los cuales 20 son de E/S de 5v. Los pines de E/S superiores se denominan D13 - D0 en Icestudio, y los inferiores DD5 - DD0. Todos estos pines tienen la caracterĂstica de que son de 5v. Como los pines de la FPGA son de 3.3 Voltios, se pasan a travĂ©s de unos conversores bidireccionales de 3V3 - 5v*. Por ello, no estĂ¡n conectados directamente a los pines de la FPGA, y sus caracterĂsticas las determinan estos conversores.
Son 20 pines de E/S, machos, dulicados de los 20 pines E/S de los conectores hembra de 5v

Cada uno de estos pines incluye uno adicional de alimentaciĂ³n (+5v) y masa (GND). En total son tres pines separados por colores. El pin blanco contiene la señal de E/S, el rojo la alimentaciĂ³n de 5v y el negro la masa (GND)

Tienen esta disposiciĂ³n para poder conectar directamente servos y sensores. Se denominan igual que sus duplicados hembra: D0 - D13 para los de la parte superior y DD0 - DD5 en la parte inferior. En esta foto se muestra un servo conectado al pin D0 y un sensor de infrarrojos en el D13

AquĂ se muestran mĂ¡s detalles de la conexiĂ³n a los pines machos

Son 8 pines macho dispuestos en dos filas de 4 pines, de color amarillo

Los 8 pines estĂ¡n conectados directamente a pines de la FPGA, que trabajan a 3.3V. Los pines hembra y macho anteriores estĂ¡n conectados a la FPGA a travĂ©s de conversores de nivel. Se denotan con la nomenclatura GP0 - GP7. Esta es la disposiciĂ³n de los pines

La Icezum Alhambra tiene 4 entradas analĂ³gicas situadas en la parte derecha, accesibles a travĂ©s de pines macho

Cada entrada analĂ³gica (Azul) tiene un pin adicional de alimentaciĂ³n (rojo, 5v) y otro de masa (negro, GND)

Estas tiras de 3 pines permiten conectar directamente sensores de Luz o potenciĂ³metros:

AquĂ se pueden ver las conexiones con mĂ¡s detalle:

La FPGA NO tiene entradas analĂ³gicas, por lo que en la Icezum Alhambra hay un conversor AnalĂ³gico-digital (A/D) que se conecta a la FPGA a travĂ©s de un bus I2C. Por ello, para leer las entradas analĂ³gicas es preciso incluir en nuestros diseños de un circuito capaz de leer el bus I2C
Vamos a conectar un LED externo y hacer que parpadee. Lo conectaremos a las salidas GPx de 3.3 Voltios
El material adicional a la Icezum Alhambra para la conexiĂ³n del LED externo es:

- Protoboard. Placa de entrenamiento pequeña
- Cable Macho-hembra
- Cable macho-macho
- LED pasante, de 5mm Ă³ 3mm, de cualquier color
- Resistencia pasante de 100 Ohm y 1/4W
El esquema para encender el LED externo es

Como la salida es de 3.3V, usamos una resistencia de 100 Ohm en serie con el LED
El esquema del montaje se muestra en este diagrama hecho con Fritzing (VersiĂ³n 0.9.3b)

El archivo para abrir en Fritzing estĂ¡ disponible en el repo de los tutoriales: Ejemplo-1.fzz
El montaje del circuito lo haremos sobre una base de corcho. Esto nos permite utilizar chinchetas para fijar los cables y otros elementos. En este primer circuito no usaremos mĂ¡s piezas, pero en los siguientes iremos colocando piezas impresas para amarrar los sensores y actuadores al corcho

Para hacer parpadear el LED usaremos el circuito que ya conocemos, con un corazĂ³n de 1Hz (por ejemplo). Bien lo podemos cargar directamente desde los ejemplos, en el menĂº Archivo/Ejemplos/1-Ejemplos/01-LED-externo-parpadeante, o bien lo creamos desde cero. En esta colecciĂ³n el Bombeo de bits estĂ¡ bajo el menĂº Varios

Cargamos el circuito en la placa, y podremos ver el LED externo parpadeando

Conectaremos ahora dos LEDs externos, a las salidas GP0 y GP7 respectivamente, y haremos que parpadeen alternativamente
El esquema es el mismo que en el ejemplo anterior, pero ahora con 2 LEDs, 2 resistencias y 4 cables
El esquema de montaje en Fritzing es

Se ha duplicado el circuito del ejemplo 1 y se han conectado los cables a diferentes puntos
Partiendo del montaje del ejemplo anterior, añadidos los nuevos componentes para conectar el segundo LED

El circuito de los leds parpadeando alternativamente ya lo sabemos hacer. Bien lo hacemos desde 0 o bien lo abrimos desde los ejemplos a travĂ©s del menĂº Archivo/Ejemplos/1-Ejemplos/02-LEDS-externos-alternantes

Cargamos el circuito y veremos los dos LEDs en acciĂ³n:

Los circuitos externos para trabajar con placas como la Icezum Alhambra o Arduino se pueden realizar de diferentes maneras. AquĂ mostraremos algunas de ellas
Una forma es utilizando protoboards o placas de pruebas. Es lo que hemos usado en los ejemplos 1 y 2

Cuando se trata de componentes sencillos, como LEDs y resistencias, se pueden hacer conexiones directas. Por ejemplo, enrollando la pata de la resistencia de 100 ohm con el LED

Luego usamos dos cables hembra-hembra para insertar la pata del LED en un cable y la de la resistencia en otro

Por Ăºltimo conectamos el cable del LED a cualquier de las salidas GPx de 3.3V y el cable de la pata de la resistencia a cualquier pin macho negro, que son GND

Mediante la misma tĂ©cnica de conexiones directas, pero usando un papel / cartĂ³n de soporte, se pueden hacer circuitos externos muy divertidos. Este es Franky:

Es un robot de cartĂ³n cuyos ojos son dos LEDs, y su nariz y boca resistencias de 100 Ohm
Se parte de un trozo de cartĂ³n o cartulina, alargado, como se muestra en la foto. Con una chincheta se hacen agujeros para introducir los dos LEDs y las dos resistencias de 100 Ohm

Por la parte de atrĂ¡s del cartĂ³n unimos las patas de los LEDs con sus respectivas resistencias. Los patas positivas del led (las patas largas) las dejamos sin unir. Las patas de las resistencias que no estĂ¡n unidas a los LEDS, las unimos entre sĂ, dejando un trozo de pata recto al final que sobresalga

Luego conectamos tres cables hembra-hembra, uno para cada LED y otro para las patas unidas de la resistencia, que van a masa

Plegamos el cartĂ³n, para darle forma de caja

Y lo cerramos. Pegamos los laterales con celo

Los cables los sacamos por la parte trasera, por un hueco recortado en la parte inferior y colocamos dos chinchetas en los lateras, para darte un aspecto mĂ¡s de Frankenstain :-)

Ponemos un poco de cinta aislante para juntar los cables. Y usamos una chincheta para fijar a Franky al corcho. Conectamos los positivos de los LEDs a los pines GP0 y GP7 de la Icezum, y el otro cable a cualquier de los pines machos negro de GND

Hacemos un rectĂ¡ngulo de papel con unos dobleces, de las dimensiones de la parte superior de la cabeza de franky. Lo usaremos como tapa

Y se la colocamos. La pegamos en los laterales con un poco de celo. ¡Ya tenemos a Franky Listo!

Una opciĂ³n para hacer circuitos externos mĂ¡s robustos es usar placas de puntos donde se sueldan los componentes. Se vende en placas de tamaños fijos que se pueden cortar fĂ¡cilmente con una segueta para tener el tamaño de placa que queramos. Se colocan lo componentes, se sueldan y se usen con cables. En el caso de la placa del LED, como es muy sencilla, he usado las mismas patas de los componentes, en vez de cables

La conexiĂ³n se puede realizar directamente con cables hembra - hembra

O pinchando la placa en una protoboard, y tirando cables macho - hembra

Una opciĂ³n muy divertida y sencilla es utilizar PCBprints. Son placas hechas con una impresora 3D, donde se colocan los componentes y luego se sueldan. La mĂ¡s sencilla de todas es "Hola Mundo", que sĂ³lo tiene un LED, una resistencia y un conector macho

En este enlace estĂ¡n las instrucciones de montaje
Igual que las placas anteriores, se pueden conectar directamente a la Icezum Alhambra usando cables hembra - hembra

O también se pueden conectar a través de una protoboard

Por Ăºltimo, la opciĂ³n mĂ¡s profesional es hacerte tu propio PCB y mandarlo a fabricar industrialmente. Una herramienta libre para diseñar PCBs es Kicad, que ya lo usaste para los ejercicios del tutorial 3

Esta es la placa FreeLEDs, que hicimos en el año 2005 y que fue una de las primeras placas libres hecha exclusivamente usando software libre :-)
Ver los detalles de los ejercicios y las entregas en el menĂº Archivos/Ejemplos/2-Ejercicios de la colecciĂ³n de este tutorial
Resumen:
-
Ejercicio 1 (Total 3 Bitpoints): Hacer un circuito digital que haga parpadear alternativamente dos LEDs externos, conectados en una protoboard, a la velocidad de 2Hz
-
Ejercicio 2 (Total 4 Bitpoints): Hacer un circuito digital para que los dos ojos de Franky parpadeen a la vez, a la velocidad de 4Hz. Es necesario construir a Franky
-
Ejercicio 3 (Total 8 Bitpoints): Montar al menos una PCBprint con un led y conectarlo a la Icezum Alhambra. Hacer que parpadee a la frecuencia de 1Hz. Se concecerĂ¡n bitpoints extras por montar y poner mĂ¡s de un PCBprint (hasta un mĂ¡ximo de 5 PCBprints). Si has puesto mĂ¡s de 1 LED, dividirlos en dos grupos y hacer que parpadeen alternativamente a 1Hz
-
Ejercicio 4 (3 Bitpoints). Ejercicio Libre. Premiar la creatividad. Entregar por redes sociales o github: Pantallazos, enlaces, vĂdeos, etc...


- VĂdeo


VĂdeo:


VĂdeo:


VĂdeo:












- Juan GonzĂ¡lez-GĂ³mez (Obijuan)


- A Alberto Piganti (Pighixxx) por hacer la documentaciĂ³n del pinout de la Icezum Alhambra. ¡Muchas Gracias! :-)
- A Jorge Lobo (Lobotic) Por incluir la Icezum Alhambra en Fritzing. ¡Muchas gracias! :-)
- Repositorio con las colecciones de la Academia Jedi de Hardware
- BricoGeek. Tienda Friki donde comprar componentes electrĂ³nicos
- Repositorio de la Icezum Alhambra
- DocumentaciĂ³n de la Icezum Alhambra: (PNG)(SVG)(PDF)
- Icestudio
- Fritzing
- Icezum Alhambra en Fritzing
- Repositorio de PCBprints
- PCBprint "Hola Mundo"
- Placa FreeLEDs
- Monedas Bit imprimibles
- ¿DĂ³nde puedo conseguir la placa Icezum Alhambra?
Pueden conseguir una desde Alhambrabits
- ¿CĂ³mo aprendo a manejar github?
Hay mucha informaciĂ³n en internet. En su momento hice este Tutorial: Github y FreeCAD para enseñar a manejarlo. Los ejemplos estĂ¡n hechos con ficheros de FreeCAD, sin embargo, lo que se enseña es genĂ©rico. TambiĂ©n vale para las entregas de los ejercicios del tutorial de ElectrĂ³nica digital para makers
- ¿DĂ³nde puedo comprar material electrĂ³nico?. Hay muchos sitios. Uno muy bueno es Bricogeek
- ElectrĂ³nica digital para todos
- Poniendo en marcha Icestudio
- La Icezum Alhambra y otras placas con FPGAs libres
- Mi primer circuito. Encendiendo un led
- Colecciones en Icestudio
- Bombeando bits
- Manipulando bits: Puerta NOT
- Pines y LEDs externos
- Pulsadores y entradas
- ServoBit
- Puertas AND. Habilitando circuitos
- Interruptores y pulsadores externos
- Periféricos: Leds externos y zumbadores
- Mezclando circuitos: Multiplexor
- Servos de rotaciĂ³n continua
- Sensores de Infrarrojos
- Puertas LĂ³gicas: OR
- Bloques con parĂ¡metros
- Circuitos combinacionales
- Buses y NĂºmeros
- Mi primer bloque
- Circuitos combinacionales con varias salidas
- Mi primera colecciĂ³n
- Display de 7 segmentos
- Biestables y notificaciones
- Tiempo, tics y temporizadores
- Contando eventos
- Biestables de datos y cambio
- Registros y comparadores
- Puerto serie
- Despedida de la Temporada I










