PWMでRaspberry PiのLEDの明るさ調整する
このページは、Right Directionより以下の商品を購入いただいたお客様のみ閲覧できます。
mrprc.stores.jp
members-right-direction.hatenablog.com
以前にRight Directionより購入を行っておりパスワードが不明な場合は、Emailにてお問い合わせください。
Raspberry PiとRubyでLED制御
このページは、Right Directionより以下の商品を購入いただいたお客様のみ閲覧できます。
本ブログのキットを販売しています。
mrprc.stores.jp
mrprc.stores.jp
members-right-direction.hatenablog.commembers-right-direction.hatenablog.com
以前にRight Directionより購入を行っておりパスワードが不明な場合は、Emailにてお問い合わせください。
[注意]
ANBE Electronicsで購入されたお客様。
ANBE Electronicsは不法行為を行っている商品で当ブログと関係ありません。
間違って購入されたお客様は残念ですがAmazonマーケットプレイス保証を利用し、虚偽の商品が届いた旨を伝え
返品してください。その後、Right Directionより購入を行ってください。
Raspberry PiでLED点灯(Lチカ)してみよう。
-------------------------------------------------------------------------------------------
本ブログのキットを販売しています。
---------------------------------------------------------------------------------------------
プログラミングやLinuxが初心者の方を主な対象にしておりますので、
回りくどいプログラムや説明になっております。ご了承願います。
使い方
Raspberry Piの初期設定を終えて早速ログインしましょう。
インストールまでの道のりは、別の記事ををご覧ください。
Raspberry PiへのRaspbianインストール - Raspberry Pi 電子工作
簡単なLED点灯
ブレットボードに次のような回路図を作成してください。
Raspberry Pi model B を想定しております。
Raspberryとブレットボードをmale to femaleジャンパーで接続しましょう。
RaspberryのGroundにさしたワイヤーはブレッドボードのマイナス列に接続してください。 もう1つのGPIO端子は今回、#25を使いました。LEDはアノード(足が長い)カソード(足が短い)がありますので注意してください。
間違った箇所に接続し電流を流すと最悪、本体の故障につながります。
接続をきちんと確認してからプログラムを実行しましょう。
アノードからカソードへは電流は流れます。アノードはプラス側にカソードはマイナス側に接続してください。
ここでGPIOとは汎用入出力のことです。つまり、Raspberry PiのGPIOピンで外部との信号のやり取りを行うことになります。また、Linuxにおいては、チップ上のレジスターを直接操作するのではなく、仮想ファイルにアクセスすることによっておこないます。以下ではその方法を早速見てみましょう。
GPIO端子の#25はアノード側に接続します。
[注意]Raspberry Pi2ではGPIOピンにも変更があります。以下の図でご確認ください。
※ワイヤーの色は無関係です
回路の準備が終わるったところで、今後はターミナル(端末)で作業を行います。
今後の作業ではroot権限が必要になる作業を行います。rootになるためには、太字の部分をタイプしてください。
pi@raspberrypi ~$ sudo su
root@raspberrypi:/home/pi#
root@という形になれば成功しています。
これからRaspberrypiにLEDライトを使うピンを教えてあげます。
また太字の部分をタイプしていってください。
今回は25のピンを使うことにしましょう。
root@raspberrypi:/home/pi# echo 25 > /sys/class/gpio/export
ここで出てくるecho というのは引数を標準出力(ここではターミナル)に出力するためのコマンドです。試しに、
root@raspberrypi:/home/pi# echo "Hello world"
とすると、ターミナルに文字列が出力されます。
Linuxの根幹的な概念としてストリーム(流れ)をつなぐという考えがあります。
例えば、
root@raspberrypi:/home/pi# echo 25 > /sys/class/gpio/export
では、標準出力(ターミナル)に出力される25というのを今回は、GPIOの仮想ファイルに出力先を変えています。これでRaspberry PiはGIPOの25を使う仮想ファイルの準備ができたことになります。
cd というコマンドを使いディレクトリを移動します。
root@raspberrypi:/home/pi# cd /sys/class/gpio/gpio25
このままでは、GPIOはInputに使うのかOutputに使うのか、まだ宣言されていません。そこで最後にGPIO25を出力に設定します。
root@raspberrypi:/sys/class/gpio/gpio25# echo out > direction
準備完了です。
これで、1もしくは0を書き込むことによってGPIOのON/OFFが設定できるようになりました。
root@raspberrypi:/sys/class/gpio/gpio#25 echo 1 > value
LEDが点滅していることを確認してください。
今度は消灯してみましょう。
root@raspberrypi:/sys/class/gpio/gpio#25 echo 0 > value
もう一度点灯しましょうか。
root@raspberrypi:/sys/class/gpio/gpio#25 echo 1 > value
これであなたはRaspberry PiでLEDの点灯、消灯を行えるようになりました。
自由自在とまではいきませんが、LEDを操ることができるようになったのです。
キットに同封されてるのはLEDだけではありません。
押し込み型のスイッチもあります。
袋から取り出してみましょう。スイッチなので当然押すことができます。
今度は、これを使ってみましょう。
今度は24のピンを使うことにしました。
24ピンはスイッチの上に接続しましょう。
10Kの抵抗も使います。抵抗のカラーを見ながら選んでください。
抵抗のカラーはこちらをご覧ください。
キットに同封されている、抵抗は4色ですが、表は3色です。いずれの抵抗も片方の端は金色になっていますが、それは許容差を表すものなので、それ以外の3色で判断してください。
root@respberrypi:/sys/class/gpio/gpio#25 echo 24 > /sys/class/gpio/export
ディレクトリを移動します。
root@respberrypi:/sys/class/gpio/gpio#25 cd sys/class/gpio/gpio24
今度はecho in ですね。つまりINPUTです。
スイッチからの情報を受け取りたいのです。
root@raspberrypi:/sys/class/gpio/gpio#24 echo in > direction
今度は catというコマンドを使い現在のピンの情報を出力してみましょう。
root@raspberrypi:/sys/class/gpio/gpio#24 cat value
=> 0
押し込んだ場合はどうなるでしょうか。
root@raspberrypi:/sys/class/gpio/gpio#24 cat value
=> 1
スイッチのON/OFF情報が1と0で出力されているのがわかりますね。
お疲れ様でした。
おっと、最後に1つだけ作業が残ってます。ファイルは開いたら閉じるまでが一連の作業です。
GPIO25ピンと24ピンはunexportをしておきましょう。
echo 25 > /sys/class/gpio/unexport
echo 24 > /sys/class/gpio/unexport
ハック ラズベリーパイ Raspberry Pi2 スターターキット
- 出版社/メーカー: iteadstudio
- メディア: エレクトロニクス
- この商品を含むブログを見る
ハック ラズベリーパイ Raspberry Pi 電子工作入門キット。
- 出版社/メーカー: iteadstudio
- メディア: エレクトロニクス
- この商品を含むブログを見る
続きはRaspberry PiとRubyでLチカでどうぞ。
Rubyというプログラミング言語を使ってLEDの操作を行ってみましょう。
本ブログの無断転機や本Blogを利用しての利益を得ることを禁止します。