Raspberry PI - Trabalhando com a biblioteca GPIO wiringpi - Fazendo um LED piscar
Boa noite pessoal,
Neste tutorial vou mostrar como acessar as portas GPIO em C usando a biblioteca "wiringpi" e fazer um LED piscar em uma simples placa extensora.
Primeiramente vejam na imagem abaixo de todos os componentes envolvidos nesse exemplo:
O circuito da placa extensora é bastante simples, veja abaixo:
Levando em consideração que a biblioteca "wiringpi" já esteja instalada (Postagem anterior), vamos digitar o seguinte comando para ver a situação das portas GPIO do Raspberry. Não se esqueçam de estar como usuário root (sudo -i).
gpio readall
Aparecerá a seguinte tabela:
Veja que a GPIO 17 (primeira linha da tabela) está em modo OUT, ou seja, é possível enviar comandos através dela. Caso a porta esteja em modo IN, deve-se mudar sua configuração para OUT, da seguinte forma:
gpio mode 0 out
Veja que o valor dessa porta está como LOW. Para mudar o valor podemos digitar o seguinte comando:
gpio write [wiringpi port] [0/1] ou seja gpio write 0 1
Nesse caso o valor dessa porta passará a ser HIGH. Mas o que queremos é mudar o valor (0/1) dessa porta através de um código C para acender o LED. Então vamos!!!! Você pode criar uma pasta para o seu projeto dentro do diretório /home.
Segue abaixo o código em C (main.c) para fazer o LED piscar 10 vezes a cada 1 segundo:
#include <stdio.h>
#include <wiringPi.h>
#define LED_0 0
int main (void)
{
int i;
printf("Pisca LED Raspberry PI\n");
wiringPiSetup () ;
for(i=0; i<=10;i++){
printf("Índice: %i\n",i);
digitalWrite(LED_0,HIGH); //Acende o LED
delay(1000); //Aguarda 1 segundo
digitalWrite(LED_0,LOW); //Apaga o LED
delay(1000); //Aguarda um segundo
}
printf("Terminou a execução...\n");
return(0);
}
Para compilar o código, devemos digitar a seguinte linha de comando:
gcc -o main main.c -lwiringPi
Para executar,
./main
Espero que seja útil para seus estudos. Em breve mais postagens a respeito!!!
Abraço
Rafael Adami
pivotoadami@gmail.com
Nenhum comentário:
Postar um comentário