Raspberry Pi の GPIO でLEDを点滅させてみる
概要:
Raspberry PIでLEDの点滅をやってみました。
本当は入出力ができるのですが、今回は出力までとなります。
使用機器:
・Raspberry Pi
・入出力回路(適当に作ったもの)
導入:
パッケージ管理ソフトの導入
パッケージ取得とインストール
インストールに成功したかの確認をします。
これでエラーが発生しなければ、インストールが完了しています。
ハードウェア仕様:
Raspberry Piには、汎用IOポートがついています。
それらを使ってArduinoのような入出力を行うことができます。
ただし、LEDのような素子を使用するためには出力電流が足りないため、
ドライブ用の外付けの回路を作成する必要があります。
全ての入出力ポートでは、入出力を制御することができます。
・ 3.3V出力ピン(1ピン):最大50mAの出力が可能
・ 5.0V出力ピン(1ピン):最大出力電流は入力に使っている電源による
・ GPIOピン(28ピン) :0-27までのピンが存在し、合計2mA-16mAでの電流を出力可能
*GPIOピンは定格電圧は3.3Vなので、これ以上かけるとRPiが壊れるので注意してください。
それぞれのGPIOポートは以下の機能を持っています。
1.通常入出力、割り込み pin 0-27
2.シリアル通信 pin 14 (TXD), 15(RXD)
3.I2C pin 8-7 ( SPI0 )
4.PWM pin 18
詳しいピン配置等については以下のサイトで確認できます
http://elinux.org/Rpi_Low-level_peripherals
外部接続ハードウェア:
今回作成したハードはトランジスタを使ってLEDをドライブする簡単な回路です。
本当ならフォトカプラ等を使って電気的に絶縁するべきですが。。。
作成した回路図を載せておきます。
プログラムと実行テスト:
実際にインストールしたライブラリと作成した回路を使って
LEDの点滅プログラムを作成してみます。
プログラムは次のようなものになります。
*管理者権限で実行
これを実行した結果は次のようになります。
まとめ:
今回は、Raspberry Piの汎用入出力を使ってLEDを点灯させてみました。
次はこれを使ったカメラ付きの台車でも作ってみようかと考えています。
通信はシリアルにするか、GPIOにするか迷い中。。。
参考サイト:
RPi .GPIO
RPi Low-Level peripherals
Raspberry PIでLEDの点滅をやってみました。
本当は入出力ができるのですが、今回は出力までとなります。
使用機器:
・Raspberry Pi
・入出力回路(適当に作ったもの)
導入:
パッケージ管理ソフトの導入
sudo apt-get install mercurial
sudo apt-get install python-dev
パッケージ取得とインストール
hg clone https://code.google.com/p/raspberry-gpio-python/
cd raspberry-gpio-python
sudo python setup.py install
インストールに成功したかの確認をします。
python
>> import RPi.GPIO
これでエラーが発生しなければ、インストールが完了しています。
ハードウェア仕様:
Raspberry Piには、汎用IOポートがついています。
それらを使ってArduinoのような入出力を行うことができます。
ただし、LEDのような素子を使用するためには出力電流が足りないため、
ドライブ用の外付けの回路を作成する必要があります。
全ての入出力ポートでは、入出力を制御することができます。
・ 3.3V出力ピン(1ピン):最大50mAの出力が可能
・ 5.0V出力ピン(1ピン):最大出力電流は入力に使っている電源による
・ GPIOピン(28ピン) :0-27までのピンが存在し、合計2mA-16mAでの電流を出力可能
*GPIOピンは定格電圧は3.3Vなので、これ以上かけるとRPiが壊れるので注意してください。
それぞれのGPIOポートは以下の機能を持っています。
1.通常入出力、割り込み pin 0-27
2.シリアル通信 pin 14 (TXD), 15(RXD)
3.I2C pin 8-7 ( SPI0 )
4.PWM pin 18
詳しいピン配置等については以下のサイトで確認できます
http://elinux.org/Rpi_Low-level_peripherals
外部接続ハードウェア:
今回作成したハードはトランジスタを使ってLEDをドライブする簡単な回路です。
本当ならフォトカプラ等を使って電気的に絶縁するべきですが。。。
作成した回路図を載せておきます。
プログラムと実行テスト:
実際にインストールしたライブラリと作成した回路を使って
LEDの点滅プログラムを作成してみます。
プログラムは次のようなものになります。
import RPi.GPIO as GPIO
import time
# 入出力設定
GPIO.setmode( GPIO.BCM )
GPIO.setup(17, GPIO.OUT)
GPIO.setup(21, GPIO.OUT)
GPIO.setup(22, GPIO.OUT)
while 1 :
GPIO.output( 17, True )
time.sleep(0.5)
GPIO.output( 21, True )
time.sleep(0.5)
GPIO.output( 22, True )
time.sleep(0.5)
GPIO.output( 17, False )
time.sleep(0.5)
GPIO.output( 21, False )
time.sleep(0.5)
GPIO.output( 22, False )
time.sleep(0.5)
*管理者権限で実行
これを実行した結果は次のようになります。
まとめ:
今回は、Raspberry Piの汎用入出力を使ってLEDを点灯させてみました。
次はこれを使ったカメラ付きの台車でも作ってみようかと考えています。
通信はシリアルにするか、GPIOにするか迷い中。。。
参考サイト:
RPi .GPIO
RPi Low-Level peripherals
● COMMENT FORM ●
トラックバック
http://chicklab.blog84.fc2.com/tb.php/47-0c5e0ba4
この記事にトラックバックする(FC2ブログユーザー)