Raspberry Pi 周辺機器

BTSTAFF
RaspPiPeripheral
周辺機器
KAMATAKA URABE
チャプタ 1
RaspberryPi
と周辺機器
peripheral
1. 購入品
2. LCD
3. デバイス
4. I2Cデバイス
『Raspberry Piで遊ぼう!
改訂第3版』
最新情報お知らせページ
5. GPIO
6. LED接続
7. カメラ
8. スマートフォン
7. Arduino
8. サーボモーター
M
O
DE
L
B+
セクション 1
購入品
PURCHASE
1.
2
1
ブレッドボード EIC−301 秋月電子通商
1個 ¥190(税込)
6
圧電スピーカー(圧電サウンダ)SPT08
(2個入)[PT08-Z185R]
秋月電子通商
1パック ¥100(税込)
2 ブレッドボード・ジャンパーコード(オス−オス)セット
秋月電子通商
[BBJ-65]
1セット ¥220(税込)
3 ブレッドボード・ジャンパーワイヤ(オス−メス)
15cm(青)[0116-71904-02-015]
秋月電子通商
1パック ¥330(税込)
4 SOT23変換基板 金フラッシュ
秋月電子通商
1枚 ¥20(税込)
10枚以上 (単価) ¥15(税込)合計¥150(税込)
5
赤外線リモコン受信モジュール PL−IRM2
161−XD1(2個入)
秋月電子通商
1パック ¥100(税込)
3
7 カーボン抵抗(炭素皮膜抵抗)1/4W 220Ω
秋月電子通商
(100本入)
1袋 ¥100(税込)
千石電商
【数量10本∼】 単価 ¥6
【数量1組∼】
100本1組で ¥137
8 カーボン抵抗(炭素皮膜抵抗)1/4W 10KΩ
(100本入)
1袋 ¥100(税込)
タクトスイッチ 100個セット
10
秋月電子通商
100個セット 1袋 ¥700(税込)
タクトスイッチ(大)10個セット 秋月電子通商
11
10個セット 1袋 ¥300(税込)
秋月電子通商
9 カーボン抵抗(炭素皮膜抵抗)1/4W 470Ω
(100本入)
1袋 ¥100(税込)
秋月電子通商
5mm赤色LED OSDR5113A(100個入)
12
秋月電子通商
1袋 ¥400(税込)
1−wireデバイス
デジタル温度センサ(1wire) 秋月電子通商
DS18B20+
13
1個 ¥300(税込)
4
2
IC( Inter-Integrated Circuit )
高精度12ビットI2C接続デジタル温度センサ
STTS751
秋月電子通商
14
M41T62 リアルタイムクロック(RTC)モジュール
ストロベリーリナック
メーカー品番:M41T62
15
1個 500円 (+プラス消費税)
1個 ¥100(税込)
DS1307搭載のリアルタイムクロック
・モジュール スイッチサイエンス
16
1,868 円
I2C低電圧キャラクタ液晶モジュール(16x2行 )
[バックライト付] 型番:SB1602BW ストロベリーリナック
17
1個800円(税抜)
5
番
号
品 名
1
ブレッドボード EIC−301
2
数量
金額
累計
金額
平成27年
2月28日
¥190
5個
¥950
¥950
秋月電子通商
ブレッドボード・ジャンパーコード
(オス−オス)セット [BBJ-65] 65個
¥220
2セット
¥440
¥1390
秋月電子通商
3
ブレッドボード・ジャンパーワイヤ
(オス−メス) 15cm(青)10本入り
¥330
1パック
¥330
¥1720
秋月電子通商
4
SOT23変換基板 金フラッシュ
¥20
10個
¥150
¥1870
秋月電子通商
¥100
2パック
¥200
¥2070
秋月電子通商
¥100
2パック
¥200
¥2270
秋月電子通商
¥100
¥2370
秋月電子通商
5
6
赤外線リモコン受信モジュール PL−IRM2161−XD1(2個入)
圧電スピーカー(圧電サウンダ)SPT08
(2個入)[PT08-Z185R]
製品画像
単価
(税込)
7
カーボン抵抗(炭素皮膜抵抗)1/4W 220Ω
¥100
1パック
8
カーボン抵抗(炭素皮膜抵抗)1/4W 10KΩ
¥100
1パック
¥100
¥2470
秋月電子通商
9
カーボン抵抗(炭素皮膜抵抗)1/4W 470Ω
¥100
1パック
¥100
¥2570
秋月電子通商
10
タクトスイッチ 100個セット
¥700
1袋
¥700
¥3270
秋月電子通商
11
タクトスイッチ(大)10個セット
¥300
1袋
¥300
¥3570
秋月電子通商
12
5mm赤色LED OSDR5113A
¥400
1袋
¥400
¥3970
秋月電子通商
13
高精度12ビットI2C接続デジタル温度センサ
¥100
3個
¥300
¥4270
秋月電子通商
14
I2C低電圧キャラクタ液晶モジュール(16x2行 )
¥864
3個
¥2592
¥2592
ストロベリーリナック
100本入り
100本入り
6
セクション 2
TechS
h
are株式
LCD
会社
LCD
1. Raspberry Pi用 320x240ドット
2.8インチ タッチパネル式TFT液晶モニタ
2. 2.2インチ液晶モジュール
(240x320/SPI)[M-TM022-SPI]
¥5,98
0(Prem
ium)
ait
e
¥1
,95
nd
o
0
7
Raspberry Pi用 320x240ドット
2.8インチ タッチパネル式TFT液晶モニタ
¥5,98
0(Prem
ium)
Raspberry Pi用 TFTモニタ特別セット
-簡易インストールRaspbianインストール内部から
このスクリプトを起動させましょう。
このコードでダウンロードできます。
wget http://adafru.it/pitftsh
mv pitftsh pitft.sh
chmod +x pitft.sh
Raspberry Pi用
TechShare株式会社 通販事業部
〒135-0016
東京都江東区東陽5丁目28-6
TSビル5F
Tel:03-5683-7293
Fax:03-6745-9093
Email:store@techshare.co.jp
TFTモニタ特別セット
使い方アクセスカード
sudo ./pitft.sh -t 28r -r
テックシェアストア
(TechShareStore)
会員の登録
ユーザID:urabe@btstaff.jp
パスワード:
1. TFTモニタ特別セットを組み立てよう!
2. ボタンスイッチを取り付けよう!
3. 周辺機器と接続しよう!
4. TFTモニタ特別セットをインストールしよう!
5. ボタンを設定しよう!
最後にPiTFT上にテキストコンソールを表示するかの
選択ができます。
ボタンスイッチの左端をLinuxのシャットダウンに設
定するか選択できます。
8
9
2.2インチ液晶モジュール
(240x320/SPI)[M-TM022-SPI]
¥1
,95
0
登録
占部 鎌孝 … 名前
info@lcc-lib.com
パスワード
page60∼67
aitendo@shopping
●概要 ILI9340C、240x320、SPI http://www.aitendo.com
●仕様・機能
info@aitendo.com
液晶とキャリー基板実装済み2.2インチ液晶モジュール、
5つのI/Oポートで制御できる超簡単液晶、
解像度:240x320
ケーブルは付属されておりません。
対応専用ケーブルのお取り扱いがございませんが、
2.54mmピッチのピンヘッダ接続用ケーブル
http://www.aitendo.com/product-list/351
などが対応
10
I2C低電圧キャラクタ液晶モジュール(16x2行 )
[バックライト付] 型番:SB1602BW
ストロベリーリナック
ストロベリーリナック
■I2C低電圧キャラクタ液晶モジュール
1個800円(税抜)
(16x2行) メーカー品番:SB1602B
I2C液晶
page209∼214
11
セクション 3
デバイス
1.カーボン抵抗(炭素皮膜抵抗)1/4W 220Ω
2. カーボン抵抗(炭素皮膜抵抗)1/4W 10KΩ
3. タクトスイッチ 100個セット
DEVICE
1. ブレッドボード EIC−301
2. ブレッドボード・ジャンパーコード
4. タクトスイッチ(大)10個セット
5. デジタル温度センサ(1wire)DS18B20+
1−wireデバイス
(オス−オス)セット [BBJ-65]
3. ブレッドボード・ジャンパーワイヤ
(オス−メス)15cm(青)
4. SOT23変換基板 金フラッシュ
5. 赤外線リモコン受信モジュール
PL−IRM2161−XD1(2個入)
6. 圧電スピーカー(圧電サウンダ)
SPT08(2個入)
12
ブレッドボード EIC−301 秋月電子通商
aブレッドボード EIC−102BJ 秋月電子通商
page348
1枚 ¥700
(税込)
1個 ¥190
(税込)
page171∼172
page205
13
ブレッドボード・ジャンパーコード(オス−オス)セット
[BBJ-65]
秋月電子通商
ブレッドボード・ジャンパーワイヤ(オス−メス)
15cm(青)[0116-71904-02-015]
秋月電子通商
page173
1セット ¥220
(税込)
1パック ¥330
(税込)
page173
14
SOT23変換基板 金フラッシュ 秋月電子通商
1枚 ¥20
(税込)
10枚以上 (単価) ¥15(税込)
合計¥150(税込)
page205
15
赤外線リモコン受信モジュール PL−IRM2
161−XD1(2個入)
秋月電子通商
1パック ¥100
(税込)
page220
16
圧電スピーカー(圧電サウンダ)SPT08
(2個入)[PT08-Z185R]
秋月電子通商
1パック ¥100
(税込)
page196
サンプルプログラムのダウンロード
『Raspberry Piで遊ぼう! 改訂第3版』
の最新情報お知らせページ
17
Adafruit Ultimate 66チャンネル10Hz
GPSモジュール Version 3
5,605 円
USB接続のGPSモジュール
GETTING GPS TO WORK ON A RASPBERRY PI
スイッチサイエンス
(税込)
page262
GPSD - 概要
18
カーボン抵抗(炭素皮膜抵抗)1/4W 220Ω
カーボン抵抗(炭素皮膜抵抗)1/4W 10KΩ
秋月電子通商
カラーコード
(100本入)
1袋 ¥100(税込)
page183
page177
タクマン RD25 220Ω
カーボン抵抗 1/4W 220Ω±5%
別名:炭素皮膜抵抗 誤差:±5%
カラーコード:赤赤茶金
千石電商
【数量10本∼】 単価 ¥6
【数量1組∼】
100本1組で ¥137
カーボン抵抗(炭素皮膜抵抗)1/4W 220Ω
[CF25J220RB]・誤差:±5%・定格電力:1/4W
秋月電子通商
秋月電子通商
(100本入)
1袋 ¥100(税込)
(100本入)
1袋 ¥100(税込)
カーボン抵抗(炭素皮膜抵抗)1/6W 220Ω
[RD16S 220E]・誤差:±5%・定格電力:1/6W
19
カーボン抵抗(炭素皮膜抵抗)1/4W 470Ω
(100本入)
1袋 ¥100(税込)
秋月電子通商
page188
カーボン抵抗(炭素皮膜抵抗)1/4W 270Ω
(100本入)
1袋 ¥100(税込)
秋月電子通商
20
5mm赤色LED OSDR5113A(100個入)
1袋 ¥400(税込)
秋月電子通商
21
タクトスイッチ 100個セット
秋月電子通商
100個セット
1袋 ¥700(税込)
page184
タクトスイッチ(大)10個セット 秋月電子通商
10個セット
1袋 ¥300(税込)
22
1−wireデバイス
デジタル温度センサ(1wire) 秋月電子通商
DS18B20+
1個 ¥300
(税込)
page199
23
セクション 4
2
ICデバイス
I NTER - INTEGRATED
CIRCUIT
1. I2 C toolsをインストール
2. I2 C デバイスへのアクセス権限の設定
1. 高精度12ビットI2C接続デジタル温度センサ
STTS751
2. M41T62 リアルタイムクロック(RTC)モジュール
メーカー品番:M41T62
3. I2C低電圧キャラクタ液晶モジュール(16x2行 )
[バックライト付] 型番:SB1602BW
24
I2 C( Inter-Integrated Circuit )はフィリップス社が
開発したシリアルバス(serial bus)で、SDAとSCL
という2本の信号線だけでデバイスを制御できると
いう特徴を持っています。
Raspberry PiのGPIOは
I2 Cに対応しており、さまざまな
デバイスを接続して利用できます。
Raspberry Piでは
GPIO2が SDA、
page203
GPIO3がSCLとなります。
I2 Cを利用すると、4本の線を接続するだけで
センサーや表示デバイスを手軽に利用できます。
PythonにはI Cデバイス制御用の
ライブラリも提供されている。
I2 C(アイ・スクエア・シー)の特徴は
データのやりとりを行う
「 SDA(シリアルデータ)」と、
IC間でタイミングを合わせるのに利用 page196
する「SCL(シリアルクロック)」の2本の線を
繋ぎます。実際には、デバイスを動作させるために、
電源とGNDを接続する必要があるため、それぞれの
デバイスに4本の線を接続します。
I2 Cは、各種デバイスを制覇するマスターと、
マスターからの命令によって制御されるスレーブに
分かれます。マスターはRaspberry Piに
あたります。データの送受信を行う「 SDA」は
端子番号3番、クロックの「SCL」は 端子番号
5番に接続します。
25
I2 C toolsをインストール
$ sudo nano /etc/modprobe.d/raspi-blacklist.conf
blacklist spi-bcm2708
#blacklist 12c-bcm2708
page204∼205
「raspi-blacklist.conf」のファイルは存在しない。
✖
/etc/modules の編集
$ sudo nano /etc/modules
12c-dev
$ sudo apt-get install 12c-tools libi2c-dev
I2 C デバイスへのアクセス権限の設定
$ sudo gpasswd -a pi 12c
26
I2Cをセットアップする
/etc/modules の編集
$ sudo nano /etc/modules
page158
i2c-bcm2708
i2c-dev
⃝
PythonI2Cライブラリ の インストール
$ sudo apt-get install python-smbus
27
高精度12ビットI2C接続デジタル温度センサ
STTS751
秋月電子通商
1個 ¥100
(税込)
5個以上 (単価) ¥80(税込)
合計¥400(税込)
page205
28
M41T62 リアルタイムクロック(RTC)モジュール
ストロベリーリナック
メーカー品番:M41T62
1個 500円
(+プラス消費税)
page215
29
DS1307搭載のリアルタイムクロック
・モジュール スイッチサイエンス
DS1307 RT Clock +Arduino
bildr.blog
1,868 円
page269
DS1307搭載のリアルタイムクロックのモジュールです。
ArduinoからはI2Cで通信できます。I2Cのアドレスが
選べるようになりました。
30
I2C低電圧キャラクタ液晶モジュール(16x2行 )
[バックライト付] 型番:SB1602BW ストロベリーリナック
ストロベリーリナック
■I2C低電圧キャラクタ液晶モジュール
1個800円(税抜)
(16x2行) メーカー品番:SB1602B
I2C液晶
page209∼214
31
スマートフォンでI2Cを制御
Apache/PHPのインストール
$ sudo apt-get install apache2 php5
I2Cデバイスへのアクセス権限を設定
WWWサーバーの Apacheは www-data という
ユーザーで外部のプログラムを実行します。
しかし、I2Cデバイスは一般ユーザーの権限では
アクセスできません。 そこで、ユーザー www-data
をI2CデバイスにアクセスできるグループI2Cに
追加します。
一般ユーザー「pi」の権限でコンテンツ
がアップロードできるように、Web
サーバーのドキュ メントルートのオーナー
を変更します。
$ sudo gpasswd -a www-data i2c
$ sudo chown pi -R /var/www
ユーザー www-data がどのグループに属しているか
調べるには、以下のコマンドを実行します。
page246∼250
Apache を起動するには、次のコマンドを実行
$ sudo /etc/init.d/apache2 start
システムの起動時にApache を起動するように
するには、以下のコマンドを実行を実行します。
$ sudo id -Gn www-data
www-data i2c
Apache を再起動します。
$ sudo /etc/init.d/apache2 restart
$ sudo update -rc.d apache2 defaults
32
PHPからのI2C制御
サンプルプログラムのダウンロード
『Raspberry Piで遊ぼう! 改訂第3版』
の最新情報お知らせページ
33
セクション 5
GPIO
クリックで
リンク先に
GPIO (raspberrypi.org)
GPIO
1.
Rpi Low-level peripherals
General Purpose Input/Output (GPIO)
hardware hacking
Raspberry PiでIO制御
page170
こじ研(小嶋研究所)宮城大学
Raspberry Pi GPIO入出力のサンプル
(Python, C言語, shellスクリプト)
34
RPi.GPIOをインストールする
$ sudo apt-get install python-dev
$ sudo apt-get install python-rpi.gpio
The GPIO pinout
RaspberryPiはマイクロコントローラとして
設計されているわけではないので、GPIOピンの応答は
Arduinoほど高速ではない。
RPi.GPIOのライブラリはPythonにラップ
されたネイティブなCのコードを使って、可能な限り高速
に入出力を行ってくれる。
page157
35
スマートフォンでGPIOを制御
PHP、Python、Ruby、CGIなどのプログラム
からGPIOを制御できます。
I2Cデバイスと通信するためのi2cset/i2cgetコマンドや、
GPIOポートを制御するgpioコマンドをプログラムから
呼び出せば、ブラウザからWebサーバを経由してGPIO
ポートを制御ができます。
page168
page231
page246∼250
36
セクション 6
LED接続
LED C ONNECTION
1.
37
LEDを接続する
カーボン抵抗(炭素皮膜抵抗)1/4W 470Ω
page157
RPi.GPIOをインストールする
$ sudo apt-get install python-dev
$ sudo apt-get install python-rpi.gpio
page187
ブレッドボード EIC−301
RaspberryPiはマイクロコントローラとして
設計されているわけではないので、GPIOピンの応答は
Arduinoほど高速ではない。
RPi.GPIOのライブラリはPythonにラップ
されたネイティブなCのコードを使って、可能な限り高速
に入出力を行ってくれる。
38
これでGPIO4の制御ができるようになりました
LEDの点灯を制御
$ echo 1 > /sys/class/gpio/gpio4/value
$ echo 0 > /sys/class/gpio/gpio4/value
コマンドラインでLEDを制御
page177
Raspbianは、/sys/class/gpioディレクトリの中にある
仮想ファイルにアクセスすることで、簡単にGPIOポート
を制御することができます。
どのGPIOポートを使用するかを宣言します。
今回はGPIO4を使用します。
$ echo 4 > /sys/class/gpio/export
echoの後に指定した値を > の後ろに指定したファイルに
書き込むという意味です。 使用開始の宣言は、
/sys/class/gpio/export ファイルに対して行います。
すると /sys/class/gpio/gpio4 という仮想ディレクトリが
現れます。 GPIO4の制御はこのディレクトリ内の
ファイルに対して行います。
仮想ファイル /sys/class/gpio/gpio4/valueに oか1を
書き込むと、GPIO4に信号が出力されます。
値の指定は /sys/class/gpio/gpio**/value ファイルに対して
行います。
1 にするとLEDが光り、o にするとLEDが消えます。
足の長い方が+(GPIO4側)、短い方がー(GND側)
です。
GPIOポートの使用が終わったら、使用終了を
宣言(unexport)します。
$ echo 4 > /sys/class/gpio/unexport
使用終了の宣言は、
/sys/class/gpio/unexport ファイルに対して行います。
入出力の方向を設定します。今回は信号を出力して
LEDを光らせるので、out を指定します。
$ echo out > /sys/class/gpio/gpio4/direction
入出力の方向を設定は、
/sys/class/gpio/gpio**/direction ファイルに対して行います
39
セクション 7
カメラ
CAMERA
1.
Raspberry Pi のカメラを有効化する
2. 静止画の撮影
Raspberry Pi ラズベリー・パイ
超小型パソコン MODEL B (PLUS) &
専用カメラ MMP-RPI-PLUSCAM/A
40
Raspberry Pi のカメラを有効化する
静止画の撮影
$ raspistill -o image.jpg
このコマンドを実行するとディスプレイに5秒間プレビュー映
像が表示され、この5秒の最後の時点の内容が保存されます
$ raspistill -o image.jpg -t 1000
page152∼165
41
セクション 8
スマートフォン
SMARTPHONE
1.
42
43
セクション 9
PCボードとマイコンボードの違い
Arduino
Raspberry Pi(ラズベリーパイ) .. PCボード
Arduino(アルデュイーノ) ........ マイコンボード
PCボード
マイコンボード
スマートフォンやタブレット 家電などの組み込み機器用の
で使われているARMやx8 「マイコン」を搭載していま
A RDUINO
1. PCボードとマイコンボードの違い
6などのCPUを備え、本格 す。マイコンはCPUやメモ
OSのLinuxが動作しま リー、周辺回路などを1つの
す。
チップにまとめたもので、性
Webサーバやアプリケーシ 能は低いですが安価です。
2. Arduino開発環境の導入
ョンなど、PCと同様の豊富 マイコンは元々組み込み機器
なオープンソースソフトウェ 用なので、部品を制御するの
ア(OSS)が使えるのが魅力で
が得意だという特徴がありま
す。
す。部品とやり取りするI/
JavaやRubyなど、プログラ
Oの種類が豊富で、それだけ
ミングする言語も自由に選べ で多様な部品を直接制御でき
ます。
ます。多くのマイコンボード
アプリケーションはLinu では、LinuxのようなO
xを介さないとI/Oにアク Sを動かせない代わりに、ア
セスできません。
プリケーションがCPU上
で”直接”動作します。このた
め、ナノ秒オーダーのタイミ
ングで部品を正確に制御でき
page35
ます。
44
Arduino開発環境の導入
Arduino IDE
page41
45
セクション 10
サーボモーター
サーボモーター
1.
46
サーボモーターをWebから操作しよう
page59
47