fc2ブログ

2024-12

Raspberry Pi の GPIO でLEDを点滅させてみる

概要:
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をドライブする簡単な回路です。
本当ならフォトカプラ等を使って電気的に絶縁するべきですが。。。
作成した回路図を載せておきます。

RPi GPIO


プログラムと実行テスト:
実際にインストールしたライブラリと作成した回路を使って
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ブログユーザー)

NEW ENTRY «  | BLOG TOP |  » OLD ENTRY

カレンダー

11 | 2024/12 | 01
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

FC2カウンター

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

未分類 (7)
日記 (7)
wiiremote (1)
google (1)
回路 (3)
psp (1)
programing (15)
linux (0)
OpenWRT (3)
kinect (1)
Raspberry Pi (8)

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

google adsense