O Natal é sinónimo de presentes e certamente alguns dos nossos leitores receberam um Raspberry Pi. Quem não o recebeu pode sempre adquiri-lo aqui, a um preço especial.
Além das funcionalidades já conhecidas deste pequeno PC, o Raspberry Pi disponibiliza também a interface GPIO, que nos permite interligá-lo com outros dispositivos (ex. LEDs, sensores, actuadores, etc). Hoje vamos aprender como podem facilmente ligar/desligar um LED.
Neste tutorial vamos aprender a ligar/desligar um LED. Para isso vamos precisar do seguinte material:
Material Necessário
- Breadboard
- 1 LED
- 1 Resistência (para este tutorial usamos de 1kΩ)
- 2 cabos macho/fêmea
Pins no GPIO
O GPIO (General Purpose Input/Output) é basicamente uma interface que nos permite ligar ao PI a outros dispositivos e controlar os mesmos. Por exemplo, podemos ligar e visualizar o output do sensor de humidade, de temperatura, gás, ligar/desligar um LED ou uma lâmpada, por exemplo.
O diagrama seguinte mostra o layout de pinos para os vários modelos do Raspberry Pi. Para este tutorial usamos o Pi 2.
Construir o Circuito
Como referido, o objectivo deste tutorial é simplesmente conseguir controlar um LED. Basicamente o LED irá acender quando receber energia e a resistência tem apenas como função a limitação de corrente no circuito.
Vamos então ligar o primeiro fio ao pino 3 (GND) e vamos usar o pino 18 para ligar o segundo fio (ver layout de pinos do Pi 2). É a partir do pino 18 que vamos controlar e definir se o LED está aceso ou apagado.
Ligações físicas
De acordo com o diagrama lógico, as ligações devem ficar desta forma.
Código
Além da simplicidade da montagem do circuito, a programação é também simples. Para isso basta que criem um ficheiro (ex. LED.py)
nano LED.py
e insiram o seguinte código:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(18,GPIO.OUT)
print "LED on"
GPIO.output(18,GPIO.HIGH)
time.sleep(1)
print "LED off"
GPIO.output(18,GPIO.LOW)
Depois é só gravar e executar o código usando o seguinte comando:
sudo python LED.py
Breve explicação do código
GPIO.setmode(GPIO.BCM)
- Primeiro temos de definir qual a nomenclatura de numeração usada (isto porque existem vários nomes para cada pino). Neste caso vamos usar BMC – Broadcom SOC channel (numeração apresentada nos rectângulos no esquema seguinte).
GPIO.setup(18,GPIO.OUT)
- Definimos depois que o pino 18 como saída, ou seja, podemos definir o seu estado para “on” ou “off”.
GPIO.output(18,GPIO.HIGH)
- Mudar o estado do pino para ON e assim acender o LED
GPIO.output(18,GPIO.LOW)
- Mudar o estado do pino para OFF e assim apagar o LED
Para quem nunca fez algo do tipo com o Raspberry, esperamos que este tutorial seja útil e sirva de incentivo. Provavelmente iremos ter no futuro outros tutoriais do tipo e, claro, contamos sempre com a vossa colaboração.