RaspberryPi ZeroでLEDを制御してみる

Raspberry Pi Zeroというワンボードコンピュータを手に入れましたので色々遊んでみたいと思います。
まずは、基本のLチカで動作確認してみます!

Raspberry Pi Zeroとは

一枚の基板のCPU・GPU・メモリ・ストレージ全てを内包したワンボードコンピュータ
最低5Vの電源を接続するだけで動作させることが可能
WiFi内臓のRaspberry Pi Zero Wというモデルも存在する

詳細なスペックは以下の通り

 RaspberryPi ZeroRaspberryPi Zero W
価格\540\1,290
制御チップ

Broadcom BCM2835
(CPU:1GHz, RAM:512MB)

WiFiなしIEEE802.11 b/g/n
BluetoothなしVer 4.1
映像出力HDMI x 1
USBmicroUSB x 1
ストレージmicroSD
GPIO40本
OSLinux (Debian)

※レート:1$ = \107.8

2,000円未満の電子機器ながら、これだけのポートがあり、様々な活用が考えられますね。
個人的には、電源ポートだけをRaspberryPiZeroに差し込み、他の情報はすべてWiFi経由でやり取りすることが可能となる、WiFi付きのWモデルをおススメします。

最後に私が購入したRaspberryPiZeroの画像を以下に貼り付けます。

事前準備
ハードウェアの準備

まずは、Lチカに必要な以下の3点を準備します。
※私は秋月電子で購入しましたので、リンクを貼っておきます。
1.LED (http://akizukidenshi.com/catalog/g/gI-04781/)
2.75Ωの抵抗 (http://akizukidenshi.com/catalog/g/gR-16750/)
3.ジャンパー延長ワイヤ (http://akizukidenshi.com/catalog/g/gP-03475/)

計\580ほどで入手できます。

部品が整いましたら、以下の通りLEDと抵抗器を接続してください。

その後、ジャンパー延長ワイヤを使用して、RspberryPi Zeroの以下の赤線で囲った箇所の一番下にある2つのピンに、LEDを接続します。
一番下のピンの左側に-端子を、右側に+端子を接続します。
※その他のピン割り当ては、以下のURLを参照ください。
https://pinout.xyz/pinout/pin40_gpio21

接続するとこのような感じになります。

以上で、ハードウェアの準備は完了です。

ソフトウェアの準備

次にRaspberryPi ZeroのGPIOを制御するためにソフトウェアの準備を行います。
GPIOの制御にはWiringPiというライブラリを使用します。
※RaspberryPi ZeroのLinuxへのアクセスができ、コンソールの操作まで準備が整っている事、ネットワークへのアクセスが可能となっている事が事前にできていることを前提とします。

・WiringPiのインストール
 ※「http://wiringpi.com/download-and-install/」から引用

コンソールに以下のコマンドをそれぞれ入力して実行します。

sudo apt-get update
sudo apt-get upgrade

sudo apt-get install git-core

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

cd ~/wiringPi
git pull origin

cd ~/wiringPi
./build

以上でソフトウェアの準備は終わりです。

LEDを使ってLチカ(LEDをON・OFF)させてみる

実際に制御プログラムをCで記述してみます。
※まだ準備が整っていない方は「事前準備」の項を参照のうえ、準備をお願いします。

以下のプログラムを作成し、任意のディレクトリに「test.cpp」として保存します。

#include <stdio.h>
#include <unistd.h>
#include <wiringPi.h>

int main()
{
    //事前準備
    if(wiringPiSetup() == -1){
        printf("GPIO Setup Error\n");
        return 1;
    }

    //ポート29 (BCM21)を出力モードに変更
    pinMode(29, OUTPUT);

    //出力をOFFに
    digitalWrite(29, 0);
    
    while(1){
        //出力をONに
        digitalWrite(29, 1);
        //1秒待つ
        usleep(1000 * 1000);
        //出力をOFFに
        digitalWrite(29, 0);
        //1秒待つ
        usleep(1000 * 1000);
    }
    

    return 0;
}

その後次のコマンドを入力して、ソースコードをコンパイルします。

g++ test.cpp -lwiringPi -o test

コンパイルが終わったら、以下のコマンドでプログラムを実行します。

sudo ./test

すると以下のように点滅することが確認できます。

最後に

RaspberryPi Zeroについて、簡単にLチカの方法を紹介させていただきました。
何かありましたらコメントください。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする