LoginSignup
10
11

More than 5 years have passed since last update.

Raspberry piのGPIOを制御して、LEDを点灯する

Posted at

概要

WiringPiはRaspberry PiのGPIOを制御するためのC言語ライブラリです。
Raspberry PiのGPIOは、仮想ファイルへ割り当てられているためシェルを使うのであれば

$sudo echo 1 > /sys/class/gpio/gpio18/value

echoコマンドを使って、設定することが出来ます。
プログラム初学者には、分かりやすいのかも知れませんが、プログラム言語から制御するには、ちょっと面倒です。
Raspberry Piは、プログラム言語から利用しやすいように処理をラッピングしてくれます。

ライブラリの準備

I2Cライブラリのインストール

WiringPiからI2C通信を行う際に呼び出されるライブラリとなります。
I2C通信しないなら必要ないようですが念のためインストールしておきましょう。

$sudo aptitude install libi2c-dev

WiringPiのインストール

gitでソースコードを取得してコンパイルをします。

$git clone git://git.drogon.net/wiringPi

ソースコードが取得し終わったらビルドします。
ビルドが成功するとインストールされますので、コマンドを確かめるためバージョンを確認します。

$cd wiringPi/
$./build
$gpio -v
gpio version: 2.20
Copyright (c) 2012-2014 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
  Type: Model B+, Revision: 1.2, Memory: 512MB, Maker: Sony

gpioコマンドの動作確認

ブレッドボードなどを使って、GPIO25にLEDを接続します。
下記のコマンドは、GPIO25を出力へ設定して、点灯、消灯をテストしています。

$gpio -g mode 25 out
$gpio -g write 25 1
$gpio -g write 25 0

C言語での制御

C言語から利用するのは、簡単です。

$gcc -o test test.c -lwiringPi
$sudo ./test
test.c
#include <wiringPi.h>
#define GPIO25 25

int main(void) {
    if(wiringPiSetupGpio() == -1) {
        return 1;
    }
    pinMode(GPIO25, OUTPUT);
    digitalWrite(GPIO25, 1);
    delay(1000);
    digitalWrite(GPIO25, 0);
}
10
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11