Material usado
Introducción
Para que la Raspberry Pi 4 pueda controlar componentes exteriores necesita poder usar material que permita cablear fácilmente los montajes. Por otro lado, es importante asegurar la implementación de esos componentes sin correr ningún riesgo. Este capítulo presenta el material usado en este libro.
Los objetos descritos en este libro han sido realizados con una Raspberry Pi 4. El sistema operativo es Raspberry Pi OS (07-2021). Se podrán usar versiones anteriores de la Raspberry Pi y/o el sistema operativo sin ningún problema.
Placa de prototipos
La Raspberry Pi se utiliza a menudo con una placa de pruebas o también llamada placa de prototipos o breadboard.
La placa de pruebas se presenta como una placa agujereada. Existen diferentes modelos, más o menos largos. En general, la placa de prototipos contiene una parte central con bloques de cinco objetos. En los laterales de la placa, se encuentran líneas coloreadas al lado de otros bloques de 5 agujeros. La imagen de debajo explica la organización de esta placa.
Por convención, la línea roja representa el polo positivo de la alimentación, y la línea azul indica el polo negativo de la alimentación. El hecho de disponer de 2 líneas de alimentación en cada lado de la placa permite la distribución de las tensiones de alimentación 5 voltios y 3,3 voltios, por ejemplo.
En el esquema anterior, la placa de pruebas se ve desde arriba. En cada lado de la placa, dos líneas verticales muestran los agujeros usados para la alimentación de los montajes. En el centro, se encuentran los bloques horizontales de cinco agujeros previstos para el montaje de componentes.
La parte derecha del esquema representa las conexiones que existen en la placa de pruebas: verticales para la línea de alimentación y horizontales para los contactos centrales.
No existe ninguna norma en lo que respecta a estas placas de pruebas. Pueden ser distintas...
Cables puente
Los cables puente se usan para establecer conexiones entre la tarjeta y el conector GPIO de la Raspberry Pi 4.
Los hay de diferentes longitudes y tipos. Los cables de 10 cm son un poco cortos para conectar la placa de pruebas al GPIO, pero son útiles para las conexiones entre los contactos de la misma placa de pruebas. Es preferible elegir cables de 20 cm ya que tienen un uso más universal. A menudo los cables se presentan bajo la forma de banda de 40 hilos, equipados con sus conectores. Hay que prever cables macho/hembra (M/H), hembra/hembra (H/H) y macho/macho (M/M) de 20 cm para cubrir todas las necesidades.
El principio de la resistencia
La resistencia es la propiedad de un material conductor que se opone al paso de una corriente eléctrica. Por extensión, se ha convertido en el nombre de un componente que se opone al paso de la corriente. El valor de la resistencia se expresa en ohmios cuyo símbolo es Ω. Se utilizan también múltiplos y submúltiplos del ohmio.
El valor de las resistencias puede estar escrito en el mismo cuerpo del componente, o indicado por un conjunto de anillos de colores, cada uno corresponde a un valor, un multiplicador o una tolerencia.
Diodo LED
En la Raspberry Pi, el acceso al GPIO se puede hacer directamente en la línea de comandos o usando bibliotecas o las interfaces desarrolladas para ese objetivo. Para visualizar el estado de una salida GPIO, el diodo LED (Light Emitting Diode: diodo emisor de luz) es un medio simple y fácil de implementar.
Los programadores tienen una costumbre: el primer programa que realizan en un lenguaje de programación muestra "Hello world" o "Hola mundo ". Esta costumbre ha sido adaptada al mundo de los sistemas integrados: el primer programa consiste en hacer parpadear un LED.
1. El principio del LED
El diodo LED es un diodo particular: deja pasar la corriente solamente en un sentido, del ánodo (polo positivo) hacia el cátodo (polo negativo). Cuando una corriente lo atraviesa en ese sentido, el LED emite luz.
Si aplicamos una tensión inversa a un diodo LED, este bloqueará el paso de la corriente. La tensión inversa que soporta cada modelo es diferente, pero a menudo es una cantidad pequeña ~5 V.
La imagen anterior da la información necesaria para detectar el ánodo y el cátodo de un LED DIP (Dual In-Line Package). El cátodo es la pata más corta del componente. Corresponde también a la parte plana situada sobre el cuello del LED. El LED también existe como un componente de superficie SMD (Surface Mounted Diode) sin cable.
2. Resistencia...
Botón pulsador/interruptor
Un botón pulsador establece un contacto momentáneo entre dos terminales cuando es pulsado. El contacto desaparece cuando se deja de pulsar.
Un interruptor establece un contacto estable entre dos terminales. Posee dos posiciones estables. Una establece el contacto, la otra abre el contacto.
1. Uso del GPIO como entrada
Los pines del GPIO de la Raspberry Pi también se pueden configurar como entrada. Pueden detectar si el nivel presente en la entrada es alto o bajo. Configurado como entrada, el pin GPIO es flotante, es decir, no tiene nivel de tensión definido. Para garantizar el buen funcionamiento de la entrada, habrá que fijar su nivel con una resistencia de pull-up.
RECORDATORIO IMPORTANTE: los pines GPIO de la Raspberry Pi no están protegidos. No tienen que soportar una tensión inversa (negativa) ni una tensión superior a 3,3 V, ya que corren el riesgo de ser destruidos. Hay que comprobar con cuidado los circuitos antes de ponerlos bajo tensión.
Cuando es necesario activar una acción en la Raspberry Pi, un interruptor conectado en una entrada del GPIO es a menudo la solución elegida.
Según las necesidades, el botón pulsador puede estar conectado a la línea de 3,3 voltios o a la masa. La resistencia R1 de 12 kΩ limita la corriente a 0,3 mA cuando se acciona el pulsador. La resistencia...
LED RGB
Licencia CC BY 2.0 Sparkfun
Los fabricantes de componentes han ensamblado en una sola carcasa (aquí arriba) LED de diferentes colores. Entre ellos, el LED RGB (rojo "red", verde "green", azul "blue") permite crear un gran número de colores diferentes.
Los LED RGB presentan cuatro contactos. Existen en versión ánodo común o cátodo común.
Para el LED RGB cátodo común, el cátodo está puesto en la masa y las entradas RGB reciben la tensión de alimentación positiva a través de una resistencia de protección.
El LED RGB ánodo común tiene su ánodo conectado a + 3,3 V. Los pines RGB están conectados a la masa a través de una resistencia de protección.
Cada LED puede estar apagado o encendido. Se pueden obtener las combinaciones siguientes:
R |
G |
B |
Color |
Apagado |
Apagado |
Apagado |
Sin color |
Apagado |
Apagado |
Encendido |
Azul |
Apagado |
Encendido |
Apagado |
Verde |
Apagado |
Encendido |
Encendido |
Cyan |
Encendido |
Apagado |
Apagado |
Rojo |
Encendido |
Apagado |
Encendido |
Magenta |
Encendido |
Encendido |
Apagado |
Amarillo |
Encendido |
Encendido |
Encendido |
Blanco |
Si contamos la primera línea (ausencia de color), este tipo de LED puede fácilmente mostrar ocho tonalidades.
También se puede jugar con la luminosidad de cada LED. El número de combinaciones es entonces mucho más elevado.
LED direccionable
Licencia CC BY 2.0 Sparkfun
El LED direccionable WS2812 es un componente que integra tres LED (R,G,B) en un circuito de mandos de los LED capaz de recibir datos para el control de los LED, obtener de una serie de bytes restantes el que se le envía (en Din) y transferir los bytes restantes a los LED siguientes (en Dout).
Un solo LED direccionable no es muy interesante. Sin embargo, adquiere todo su valor cuando se encuentra en anillos o tiras de LED.
VCC es la alimentación del circuito de mando, VDD es la alimentación de los LED. NC no está conectado.
Anillos y tiras de LED direccionables
Estos anillos y tiras están equipados con LED RVB direccionables. Esto permite controlar el color de cada LED de manera separada.
Licencia CC BY 2.0 Sparkfun
En la imagen de arriba se ven un anillo de dieciséis LED y una tira de ocho LED. Existen diferentes tamaños de anillos así como de tiras flexibles muy largas.
El Control de esos LED está basado en el envío de una trama de datos RGB (verde-rojo-azul) de 24 bits por cada LED. Cada WS2812 obtiene el primer bloque de 24 bits y atribuye a cada LED el valor de color contenido en el byte correspondiente.
Cada LED recibe un valor entre 256 (8 bits). Combinando los colores, se pueden crear 256x256x256= más de 16 millones de colores.
El WS2812 envía los bytes que quedan a los WS2812 siguientes. Habrá que informar al programa del número de WS2812 que se quiere controlar. Cada LED tiene una dirección propia que representa su posición en la cadena constituida por todos los LED.
Matriz de LED
1. Principio
Las matrices de LED básicas contienen una matriz de 8x8 LED. Cada LED puede ser direccionado por separado. Estas matrices permiten mostrar texto o imágenes encendiendo los puntos correspondientes en las matrices. Son el componente de base para los carteles luminosos.
Un circuito integrado de tipo 7219 desempeña el mismo papel que el circuito de mando de los LED direccionables. Se envía un conjunto de datos al Din del primer circuito. Este recoge los datos destinados a él al principio del conjunto y los muestra en la matriz de LED. Después reenvía los datos restantes a través de Dout a la entrada Din del circuito siguiente.
El circuito 7219 estaba previsto en principio para controlar 8 displays de 7 segmentos + Punto decimal (DP). Su uso ha sido extendido al control de una matriz de LED.
2. Modulo 7219 + matriz
En el mercado se encuentran módulos que contienen el circuito integrado 7219 y la matriz de 8x8 LED. Estos módulos tienen pines de conexión. El conector de entrada está situado hacia el 7219. Proporciona la alimentación (+5 V y Masa), los datos en entrada (Din), la selección del circuito (CS) y el reloj (CLK) al módulo.
3. Encadenamiento de los módulos
Los pines de salida situados encima de la matriz permiten encadenar este módulo al siguiente. Dout está en el mismo lugar que Din en el conector...
Servomotor
1. Principio
Un servomotor es un sistema usado en muchas aplicaciones industriales. Se trata de un sistema dependiente, capaz de mantener su posición cuando está sometido a fuerzas exteriores.
Licencia CC BY 2.0 Sparkfun
Hay servomotores de tamaño reducido, reservados para usos que no necesitan mucho par. Encontramos la familia de servomotores en miniatura en los modelos reducidos (coches, aviones, helicópteros…). Es uno de los modelos de tipo SG90 el que se va a usar con la Raspberry Pi. El servomotor está equipado de un conector de tres cables: dos para la alimentación y uno para enviar una señal de mando.
El eje del servomotor está previsto para recibir brazos o ruedas destinados a arrastrar un mecanismo. En función de la señal enviada en su entrada, el eje del servomotor se posiciona en un ángulo de 0 a 180°. Este valor puede ser diferente según el modelo de servomotor.
2. Comando PWM
Los servomotores utilizados en radio modelismo se controlan con una señal de 50 Hz (periodo: 20 ms). La posición del eje del servo motor depende del ancho de la onda cuadrada positiva de la señal.
-
1 ms: el eje está en el tope en el sentido de giro a izquierdas.
-
1,5 ms: el eje está posicionado en el centro de la carrera.
-
2 ms: el eje está en el tope en el sentido de giro a derechas.
3. Conexión del servomotor
Los servomotores...
Encoder incremental
El encoder incremental está destinado a proporcionar información sobre el sentido de giro del botón.
Dispone de dos salidas llamadas aquí S1 y S2 (pero la nomenclatura puede cambiar según el modelo).
Presenta un sistema óptico o electromecánico que genera ondas cuadradas. Las señales están desfasadas y hay que observar cuándo una de las señales pasa a 1 (flanco ascendente) mientras que la otra señal es estable en 1. Según el sentido de giro, es una señal u otra la que presentará este flanco ascendente.
Seguin el modelo, es posible que haya que invertir las salidas S1 y S2, A y B para obtener datos como salida del programa conforme al sentido de giro real.
Material complementario
Habrá que prever material para ensamblar los proyectos:
-
Distintos destornilladores
-
Pinzas
-
Soldador y accesorios
-
Multímetro (óhmetro, voltímetro…)
-
Diferentes resistencias
-
LED