Raspberry Piは各種センサを簡単に扱えるのが素晴らしいですね。個人的に使っているセンサについてのメモです。GPSや気温センサ、AD変換、7セグメントディスプレイ、など。モータ系を全然使っていない!追記していきたいと思います。
センサ
USB 気温センサ
USBで使えるので、Raspberry Piだけでなく一般的なPCでも使用しやすいです。
USB温度センサーで室温をモニタリングしてみた(on Ubuntu Server 12.04) : 或る阿呆の記
- インタフェース:USB
- 値段:1000円(送料で+500円)くらい
I2C 気温センサ:LM75B
データシードにアドレスマップもあるので、温度を取得するだけであれば、特にライブラリなど必要なく、シェルスクリプトだけでも頑張れる使いやすいセンサです。初期アドレス0x48で、アドレスがいじれるのは3bit分、すなわち最大で8台繋げることができます。
Raspberry Pi で温度センサ LM75B を使う : 或る阿呆の記
LM75B温度センサ(I2C接続) - スイッチサイエンス
- インタフェース:I2C
- 分解能:0.125 ℃
- 精度:-25 - +100 ℃で ±2 ℃
- 測定範囲:-55 - +125 ℃
- 値段:400円くらい
I2C 気圧、気温センサ:BMP180
気圧と気温を取得できます。AdafruitがPython用のライブラリを作成してくれているため、使用も簡単です。ただ、以前LM75B、BMP180、BME280、職場にある某立派な観測装置で比較実験をしたことがあるのですが、その時BMP180だけ気温・気圧共に絶対値がやや低めにでていました。ハズレの個体だった?変化自体は他センサと比較してもよい感じでした。
- インタフェース:I2C
- 分解能:0.01 hPa、0.1 ℃
- 精度:0 - 65℃で ±1 hPa、±1 ℃
- 測定範囲: 300 - 1100 hPa
- お値段:1200円くらい
←ですがAmazonだと、どうも旧バージョンっぽいものがしれっと売っているので要注意です。分解能が0.03hPaだったりと、スペックがやや低い。まぁ玩具として使う分には問題ないと思いますが。
I2C,SPI 気圧、気温、湿度センサ:BME280
これ一つで気圧、気温、湿度が測定できる優れものです。お求めやすく高機能なうえに、スイッチサイエンスさんがPythonライブラリを書いてくれたおかげで使いやすい。無駄に複合的なセンサを使うのは筋悪かもしれませんが、必要であれば非常に魅力的ではないでしょうか。なおI2CとSPIの両方で使えますが、私はI2Cでしか使ったことがありません。
Raspberry Pi 2で温湿度・気圧センサのBME280をPythonから使う - Qiita
BME280搭載 温湿度・気圧センサモジュール - スイッチサイエンス
BME280 温湿度・気圧センサモジュール - BME280 - ネット販売
- インタフェース:I2C、SPI
- 分解能:0.18 hPa、0.01 ℃、0.008 %
- 精度:±1 hPa、±1 ℃、±3 %
- 測定範囲:300 - 1100 hPa、-40 - +85 ℃、0 - 100 %
- お値段:1100 - 1600 円くらい
AD変換
アナログ値をデジタル値に変換する、AD変換(ADC)です。ちゃんとメモリがついていて、間断なく連続取得できるDAC用途のものを激しく希望します…。仕事で、USBで使えるものを、ちょいと怪しい?海外メーカーのやつを見つけて取り寄せ、なんとか使っているのですが。仕事絡みなのでちょっと記事にしづらい。
SPI MCP3008
定番MCP300xシリーズの一つ、MCP3008です。最大8chで、量子化10bit、最大サンプリング周波数200kHz(多分8chだと25kHz)のAD変換。SPI方式です。
Raspberry Pi でSPI通信のAD変換 MCP3008 を使う
I2C TI ADS1015
これも定番、テキサス・インスツルメンツのADS1015。最大3.3kHzというサンプリング周波数が特徴です。I2C通信で使いやすい。MCP300xシリーズよりちょっと高い。
Raspberry Pi で AD変換チップ ADS1015 を使って値を連続的に取得する
そのほか
UART GPSモジュール Adafruit Ultimate GPS
シリアル通信、すなわちUARTを使います。アンテナは内部にもありますが、外部アンテナを使うこともできます。使ったほうがいいかなと思います。Adafruitで販売されていますが、国内では例によってスイッチサイエンスさんが頑張ってくれているので、Raspberry Piで使えるGPSモジュールとしては非常に入手しやすいです。バッテリーのボタン電池はCR1220ですが、なくても使うことはできます。スタンドアロンで使用する場合は、RTCとセットで使う必要があるかと思います。使い方などの詳細は別途記事にしました。
- Raspberry Pi にGPSモジュールをつけてStratum 0で時刻同期(スタンドアロン) : 或る阿呆の記
- Raspberry Pi で時刻をスタンドアロンでGPSと同期するなら、RTCモジュールとセットが良い : 或る阿呆の記
- Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates [Version 3] ID: 746 - $39.95 : Adafruit Industries, Unique & fun DIY electronics and kits
I2C RTCモジュール DS1307
Raspberry Piはバッテリーがないためにハードウェアクロックがなく、ネットワークの無い環境で使用すると時刻を正確に保持できません。そのため、スタンドアロンで常用したい場合はRTC(リアルタイムクロック)モジュールを外付けする必要があります。色々あるのですが、私はスイッチサイエンスで販売されているDS1307の搭載されたものを使っています。ありがとうスイッチサイエンス。
7セグメントLED
やはりスイッチサイエンスにある、シリアル通信でもSPIでもI2Cでもなんでもこいな7セグメントLEDのパッケージです。I2Cでいけるので、i2csetとi2cgetでなんでもできるのがお手軽だと思います。エラーもよくでるのですが。
OLED キャラクタディスプレイ WEH001602A
【共立エレショップ】>> OLEDディスプレイ キャラクタ表示タイプ 16文字x2行 赤文字: 【能動・受動・機構パーツ】 << 電子部品,半導体,キットの通販
日本橋のシリコンハウスで衝動買い。ネットでも買えるみたいですね。Raspberry Piでの使い方は「16×2 LCD Module Control Using Python」のとおりに使えます。
3.3V <-> 5V 双方向ロジックレベル変換IC
Raspberry Piの信号は基本的に3.3Vですが、5Vの信号が必要なことが多々あります。そんなとき、この変換ICを使えば簡単に3.3Vと5Vの双方向変換が可能です。
スイッチサイエンスが販売しています。「ロジックレベル双方向変換モジュール - スイッチサイエンス」。回路図も公開されており、中身はFETのBSS138なので、自分で作れば非常に安上がりでしょうけれど、これを使うほうが楽ではないかな。
使用には5V電源が必要ですが、Raspberry Piの5VDCが使えます。
コメント