O GPIO serve para podermos programar a interação entre periféricos como luzes, servos, sonares. Mas para o programar precisamos de uma API.
A API que vamos utilizar é a 'wiringPi' por ter mais e melhor informação que a 'bcm2835'.
Vamos instalar a API e fazer um pequeno programa em C.
Pode instalar a API de muitas maneiras alem da que vamos mostrar. Para a instalação precisamos de ter o nosso repositório actualizado, de modo a não haver erros, e ter o 'git' com os seguintes comandos:
$sudo apt-get update
$sudo apt-get upgrade
$sudo apt-get git
Agora com o git vamos buscar a API:
$sudo git clone git://git.dragon.net/wiringPi
E finalmente instalamos:
$cd /home/pi/wiringPi
$sudo ./build
E já temos a API instalada. Convem ter em mente que os ficheiros de include vão estar em /usr/local/include e as bibliotecas em /usr/local/lib.
Vamos passar ao código e fazer um pequeno programa para ligar e desligar um Led. Para este exemplo utilizei uma resistência de 220 ohm.
Primeiro criamos o ficheiro.
$sudo nano raspberrying.c
----------------------------------------------------------------------------------------------------------------------
#include<stdio.h>
#include<wiringPi.h> //API wiringPi
int main(){
char comando;
if(wiringPiSetup == -1) //Verificação do GPIO
return 1;
pinMode(7,Output); //Modo do pino
while(1){
printf("'l' para ligar e 'd' para desligar");
scanf("%c",&comando);
if(comando == 'd'){
digitalWrite(7,LOW); //Escrita
else if (comando =='l')
digitalWrite(7,HIGH);
}
return 0;
}
----------------------------------------------------------------------------------------------------------------------
As funções utilizadas são as seguintes:
- int wiringPiSetup(void)
- void pinMode(int pin, int mode)
- void digitalWrite(int pin, int value)
Para determinar o numero do pino a utilizar na API podemos ver no comando:
$Sudo gpio readall
Agora só falta compilar:
$sudo gcc -o NOME_FICHEIRO_FINAL NOME_FICHEIRO.c -l wiringPiE correr:
$sudo ./NOME_FICHEIRO_FINAL
Sem comentários:
Enviar um comentário