Enciende y apaga un LED con Raspberry Pi y
Python.
Como probablemente sepa, la Raspberry Pi tiene puertos llamados GPIO (Salida de entrada de propósito general)
que le permiten controlar una serie de componentes electrónicos.
Los conceptos básicos de los GPIO
Los puertos GPIO son puertos físicos generalmente en forma de pines metálicos cuadrados que permiten
transmitir una señal eléctrica.
Conectores
GPIO destinados a soldar
Un puerto GPIO transmite una señal relativamente binaria (sin corriente o corriente). En el caso de la Raspberry
Pi, los puertos GPIO funcionan a 3.3 V y alrededor de 20 mA.
Los puertos GPIO son, por tanto, una forma sencilla de comunicar o controlar elementos físicos.
Los modelos más recientes de Raspberry Pi cuentan con 40 conectores GPIO, que se dividen en diferentes
categorías con usos específicos.
Power +: fuente de alimentación continua
GND: Tierra = Regreso a tierra
I2C: protocolo serie síncrono
SPI: Otro protocolo serial síncrono
UART: Protocolo asincrónico + conversión de comunicación serie a paralelo.
GPIO: Puerto general que opcionalmente se puede transformar en I2C o SPI.
Los puertos GPIO están numerados del 1 al 40, comenzando desde la parte superior izquierda cuando mantiene
los puertos GPIO de Raspberry pi a la derecha. Este es el llamado modo de numeración "Tablero". Existe otro
modo de numeración, que se basa en el direccionamiento del procesador, denominado modo "BCM".
En el contexto de este tutorial solo usaremos los puertos de tipo GPIO y GND y la numeración de "Tablero".
Conecte el LED a la Raspberry Pi
Para hacer nuestra conexión usaremos los siguientes componentes: un LED, una resistencia, un protoboard y el
Raspberry.
El primer paso de nuestro tutorial será diseñar el circuito que conecta el LED a la Raspberry Pi. ¡No te preocupes,
es muy simple y no vamos a tener que hacer diagramas complicados!
¿Cómo elegir la resistencia?
Lo primero que debe saber es que un LED siempre debe usar una resistencia. Esto se debe a que los LED tienen
lo que se llama un "voltaje umbral". En pocas palabras, un poco de demasiada corriente y el LED se apaga
inmediatamente, por lo que la resistencia es una protección.
Por tanto, tendremos que elegir qué resistencia usar. Para ello, existe una fórmula matemática para calcular el
tamaño de la resistencia a utilizar.
Rmin = (Ualim - Uled) / Imax
Copy
A menos que tengas buenas sobras de tu clase de física, supongo que no te llevará demasiado lejos. Pequeña
explicación:
Rmin: Resistencia mínima al uso, expresada en ohmios (Ω)
Ualim: Voltaje de la fuente de alimentación, expresado en voltios (V)
Uled: voltaje de umbral del LED, expresado en voltios (V)
Imax: La intensidad máxima del LED, expresada en amperios (A)
Como hemos dicho, nuestros GPIO proporcionan 3,3 V y 20 mA. El LED tiene una intensidad máxima de 20 mA
(20 mA = 0.020 A) y un voltaje umbral de 1.5 y 1.9 V.
Por tanto, la fórmula es la siguiente:
Rmin = (3.3 - 1.5) / 0.020
Copy
Por tanto, obtenemos una resistencia mínima de 90 Ω, que redondearemos a 100 Ω. Tomaremos algo de espacio
eligiendo una resistencia de 270 Ω en su lugar (o 330 Ω, valores normalizados), protegiéndonos así de un posible
pico de corriente en el GPIO.
Para encontrar el valor de una resistencia, dos posibilidades:
Esto se indica en la tira de papel que mantiene unidos los LED.
Debe leer los anillos de color en la resistencia para calcular su valor. Encontrará tutoriales y sitios en línea
para ayudarlo. (100 Ω = marrón-negro-marrón, 270 Ω = rojo-violeta-marrón y 330 Ω = naranja-naranja-
marrón)
Circuito de LED
En electrónica, un circuito de led es un circuito eléctrico utilizado para alimentar un diodo emisor de luz, o led por sus siglas en inglés. El led
usualmente tiene un voltaje de alimentación específico y para determinar el valor de la resistencia que se debe utilizar para establecer
la corriente del circuito se utiliza la ley de Ohm.
Un diodo del tipo led tiene una vida útil de 80 000 a 100 000 horas antes de que su brillo se empiece a atenuar, para que esto sea posible se
requiere que el voltaje aplicado sea el apropiado. Un voltaje muy alto puede provocar que el led se queme, así como la falta de una resistencia
adecuada en el circuito.
Circuito de led
Este circuito está compuesto en su forma más simple por una fuente de alimentación (de corriente continua), un led (el ánodo es generalmente
la pata más larga) y una resistencia. Estos tres componentes son conectados en serie, la terminal positiva de la fuente de energía se conecta al
ánodo del diodo, el cátodo del diodo se conecta a una de las patas de la resistencia y la otra se conecta al terminal negativo de la fuente de
alimentación.
Fórmula para calcular la resistencia
La fórmula a usar para calcular el valor correcto de la resistencia del circuito es:
Donde:
Tensión de alimentación es el voltaje aplicado al circuito (como una batería de 9 voltios)
Caída de tensión del led es el voltaje necesario para el funcionamiento del led, generalmente está entre 1.7 y 3.3 voltios, depende del color
del diodo y de la composición de metales.
Rango de corriente admisible del led es determinado por el fabricante, usualmente está en el rango de unos pocos miliamperios.
Diferencias de potencial típicas
Siempre hay variaciones entre las composiciones de los diodos, e incluso pequeñas entre diodos de la misma clase, pero en general,
la caída de voltaje depende del color y del brillo del led. La siguiente tabla muestra las caídas de voltaje de varias clases de led.
Tipo de diodo Diferencia de potencial típica (voltios)
Rojo 1.7 voltios
Rojo de alto brillo, alta eficiencia y baja
1.9 voltios
corriente
Anaranjado y amarillo 2 voltios
Verde 2.1 voltios
Blanco brillante, verde brillante y azul 3.4 voltios
Azul brillante y led especializados 4.6 voltios
La mayoría de los fabricantes recomiendan 10 mA para los diodos azules de 430 nm, 12 mA para los tipos que funcionan con 3.4 voltios y
20 mA para los diodos de voltajes menores.
Conecte el LED a los GPIO de la Raspberry Pi
Ahora que sabemos qué resistencia usar, solo tenemos que conectar todo a la Raspberry Pi.
Para eso tomaremos dos cables Dupont macho / hembra, elegiremos un cable rojo para la fuente de
alimentación, y un cable negro para el retorno a tierra (es una convención).
Conecte el cable rojo al puerto GPIO 7 y el cable negro al GPIO 6.
Conecte los dos cables a su protoboard separados por algunas filas. Conecte el cable rojo al ánodo de su LED (la
pata alargada o larga), una pata de la resistencia al cátodo (la otra pata del LED, la pata corta por lo tanto) y la
otra pata de la resistencia al cable negro.
Consejo: ¿Tiene problemas para recordar qué pata es el ánodo y cuál es el cátodo? ¡Mnemónico simple, el ánodo
alargado se alimenta!
¿No está muy claro? Que no cunda el pánico, "¡un pequeño dibujo es mejor que un discurso largo!"
¡El rojo al
ánodo, el cátodo a la resistencia, la resistencia al negro!
Si quiere estar seguro de que todo funciona bien, es posible realizar una pequeña prueba sencilla. Desenchufe el
cable rojo del GPIO # 7 y conéctelo al # 1. Esto proporciona 3.3 V permanentemente, si su cableado es correcto,
el LED estará encendido :)!
Escribe el programa para controlar el LED con la Raspberry
Ahora que nuestro circuito está listo, solo tenemos que escribir el programa para controlar los puertos GPIO para
encender y apagar el LED.
Para ello, usaremos el lenguaje de programación Python. En este tutorial nos mantendremos muy básicos, y solo
daremos un ejemplo de un programa que explica cómo usarlo y cómo funciona.
Entonces este no es un curso de Python. Sin embargo, si lo desea, recientemente publicamos un curso
Introductorio de Python que le enseñará cómo usar Python para escribir sus propios programas para sus
proyectos.
Entonces crea una carpeta /home/pi/electronic y un archivo [Link] en esa carpeta y escriba el siguiente
código allí:
Tenga en cuenta que los textos detrás # son comentarios que se utilizan para explicar lo que hace el código, pero que no
influyen en el programa. No tiene que copiarlo, excepto las dos primeras líneas.
#!/usr/bin/env python3
#-- coding: utf-8 --
import [Link] as GPIO #Importe la bibliothèque pour contrôler les GPIOs
[Link]([Link]) #Définit le mode de numérotation (Board)
[Link](False) #On désactive les messages d'alerte
LED = 7 #Définit le numéro du port GPIO qui alimente la led
[Link](LED, [Link]) #Active le contrôle du GPIO
state = [Link](LED) #Lit l'état actuel du GPIO, vrai si allumé, faux si éteint
if state : #Si GPIO allumé
[Link](LED, [Link]) #On l’éteint
else : #Sinon
[Link](LED, [Link]) #On l'allume
Copy
Hecho esto, haremos que el programa sea ejecutable. Para hacer esto, simplemente ejecute el siguiente
comando:
chmod +x /home/pi/electronic/[Link]
Todo lo que tienes que hacer es ejecutar el script llamándolo así:
/home/pi/electronic/[Link]
Cada vez que ejecute el script, el LED se encenderá si está apagado y se apagará si está encendido.
Y ahí lo tiene, ahora conoce los conceptos básicos para encender y apagar un LED con la Raspberry Pi. Todo lo
que tiene que hacer es adaptar el código a sus necesidades. Para eso, ¡no dudes en consultar nuestro curso
sobre Python!
Todo lo que tienes que hacer es pasar al siguiente tutorial de esta serie, leer una tarjeta RFID con la Raspberry
Pi.