ホーム >  マイコン > RaspberryPi >  ラズパイでLチカ

投稿日:   |  最終更新日:

ラズパイでLチカ

RaspberryPi

ラズベリーパイを使って、電子工作の初歩(Lチカ)を行います。

Lチカとは?

Lチカとは、LEDをチカチカさせることです。電子工作では最も初歩の作業で、プログラミングにおける「Hello World!」に相当します。ラズベリーパイにはGPIOというセンサや電子回路を繋ぐことができるポートがあります。今回は、GPIOとLEDをブレットボード上で配線し、LEDを点滅するプログラムを開発していきます。

準備

準備するもの

RaspberryPi(本体)
材料名 個数 金額
RaspberryPi3 1 4,800円
USBアダプタ 5V/2.5A(ラズパイの電源) 1 1,900円
LANケーブル 1
リモート操作するためのPC

以下の例は私の実行環境ですが、OSは何でもOKです。vnc接続を設定すれば、windowsやMacOSからもリモート可能です。

(※リモートPCは任意で用意して下さい。無くてもラズパイの操作は可能です。)

ホストOS Ubuntu 14.04.4 LTS 64bit
材料

材料は凡その値段です。

材料名 個数 金額
ブレッドボード 1 300円
ジャンパワイヤー(オス-メス)10本入り 1 220円
赤色LED 1 40円
抵抗(330Ω) 1 20円
ブレッドボード

ハンダ付をしなくても、部品を差し込むだけで回路が作れます。ブレッドボードにも様々なタイプがありますが、今回は、Aタイプを使用します。

DSC_0100

ジャンパワイヤー(オス-メス)10本入り

ラズパイとブレッドボードを接続し、電気を送るために使います。接続端子がオス-メスになっているものを使います。

抵抗(330Ω)

抵抗には複数種類があり、「酸化金属皮膜」や「カーボン抵抗」など様々です。10〜20円ぐらいの安いもので大丈夫です。足が2本ですが、どちらを差し込んでも問題ありません。

LEDになぜ330Ωの抵抗を使うか?

赤色LED

LEDにも様々な種類がありますが、安いやつで大丈夫です。色も今回は赤ですが、お好きなものでかまいません。しかし、どのLEDにもプラスとマイナスの区別があります。針金のような足の部分が少し長い方がプラス(アノード)で、短いほうがマイナス(カソード)です。

ラズパイ初期設定

ラズベリーパイを操作する前に以下を参考にして下さい。

ラズパイ起動・OSをインストール

①ラズベリーパイにOSをインストールして下さい。

ラズベリーパイにOSをインストール

リモート操作の準備

ラズベリーパイを直接操作することもできますが、キーボードやディスプレイ等の周辺機器が必要です。ローカルネットワークに接続し、vnc接続して操作用PCから操作すると楽ちんです。

①ソフトウェアをインストールして下さい。

RaspberryPiの操作用PCに必要なソフトウェア

②vnc接続でラズベリーパイを操作すれば、周辺機器は不要です。

PCからRaspberry Piへvnc接続する(有線)

LEDを光らせる

Lチカの前に、配線をしてみてLEDが光るかどうか確かめます。

回路図

①ラズパイの電源を入れて起動します。

②以下のように回路を作成します。

【ジャンパーワイヤの接続】

(ラズパイ)1番ピン 3.3V - (ブレッドボード)A2  プラス極

(ラズパイ)6番ピン GND - (ブレッドボード)A6  マイナス極

【ブレッドボードの回路】

抵抗: B2 - B5

LED: (アノード)E5 - (カソード)E6

回路図は、Fritzingと呼ばれるソフトを使用して作成しております。

Fritzingで回路図を作ろう

LEDが光りました。

1番ピンは常に3.3Vの電流が流れていますので、特にプログラムを組まなくても配線すればLEDが光ります。ただし、LEDを配線するときは必ず抵抗をつなぎましょう。

Lチカ

①ブレッドボードの配線はそのままで、ラズパイのGPIOポートのプラス極を、1番の3.3V電源からとなりの3番「GPIO2」に差し替えます。

②コマンドプロンプトを開き、以下のコマンドを入力します。管理者(root)権限に切り替えます。

sudo -s

③GPIO2を有効にします。以下のコマンドを入力して下さい。

echo "2" > /sys/class/gpio/export

「echo」は「ファイルに書き込む」を意味する命令です。「(書き込む値) > (ファイル)」の書式で指定します。GPIO2を使用するので「2」を指定します。

実際に、ラズパイの「/sys/class/gpio/」をエクスプローラから見てみると、「gpio2」という仮想フォルダが作成されます。

④「gpio2」が入力と出力のどちらを行なうかを指定します。入出力を設定するのは「direction」です。今回はラズパイが信号を発信する側(出力)ですので、「out」を指定します。出力モードにするためには、以下のコマンドを入力して下さい。

echo "out" > /sys/class/gpio/gpio2/direction

LEDが消えます。

⑤出力の値は「value」に設定します。「1」を設定すると電流が流れてLEDが点灯します。消灯させる場合は「0」を設定して電流の流れを止めます。

echo "1" > /sys/class/gpio/gpio2/value
echo "0" > /sys/class/gpio/gpio2/value

※「value」ファイルをテキストエディタで開くと、値が直に書き換えられているのを確認することができます。

⑥終了する場合は以下のコマンドを入力して下さい。「export」の反対ですので、「unexport」を指定します。これを実行すると「gpio2」フォルダが消去されます。

echo "2" > /sys/class/gpio/unexport

シェルスクリプトでLチカ

今度は、自動でLEDが点滅するようにプログラミングしてみます。

①「exit」コマンドで管理者モードを抜けます。

②「cd」コマンドでホームディレクトリに移動します。

③以下のコマンドでテキストエディタを立ち上げます。

nona led.sh

④以下の内容を入力し、「Ctrl+O」を押してEnterで保存します。

#! /bin/sh
echo "2" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio2/direction

while true #永久ループ
do
       echo "1" > /sys/class/gpio/gpio2/value
       sleep 0.5      #0.5秒待つ
       echo "0" > /sys/class/gpio/gpio2/value
       sleep 0.5      #0.5秒待つ
done

⑤「Ctrl+X」を押してテキストエディタを終了します。

⑥「led.sh」ファイルに、管理者権限を与えます。

chmod +x led.sh

⑦以下のコマンドで、Lチカのスクリプトを実行します。

sudo ./led.sh

LEDが、0,5秒おきにチカチカします。

⑧「Ctrl+C」でプログラムを終了します。

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告