MCP3008を使用したRaspberryPiのアナログセンサー
入力は、利用可能なセンサーの多くを使用するのは少し面倒であることを意味します。より多くのセンサーを使用できるようにガレージセキュリティシステムを更新したかったので、簡単で安価な方法を調査することにしました。 MCP3008がその答えでした。
MCP3008は、10ビットの8チャネルアナログ-デジタルコンバータ(ADC)です。安価で接続が簡単で、追加のコンポーネントは必要ありません。 PiのGPIOヘッダーでサポートされているSPIバスプロトコルを使用します。
この記事では、MCP3008デバイスを使用して、さまざまなセンサーで使用できる8つのアナログ入力を提供する方法について説明します。以下の回路例では、MCP3008を使用して温度と光のセンサーを読み取ります。
これが私が使用したビットです:
- ラズベリーパイ
- MCP30088チャンネルADC
- 光依存抵抗(LDR)
- TMP36温度センサー
- 10オーム抵抗器
最初のステップは、PiでSPIインターフェースを有効にすることです。これは通常、デフォルトで無効になっています。
「RaspberryPiでのSPIインターフェースの有効化」の記事に従って、SPIをセットアップし、SPIPythonラッパーをインストールしてください。
回路
次のリストは、MCP3008の接続方法を示しています。 PiP1ヘッダーに4つのGPIOピンが必要です。
VDD 3.3VVREF 3.3VAGND GROUNDCLK GPIO11(P1-23)DOUT GPIO9(P1-21)DIN GPIO10(P1-19CS GPIO8(P1-24)DGND GROUND
CH0-CH7ピンは8つのアナログ入力です。
これが私のブレッドボード回路です:
光センサーにはCH0を使用し、TMP36温度センサーにはCH1を使用します。他の6つの入力は予備です。
光依存抵抗器
かっこいいLDR(NORPS-12、データシート)を選びました。通常の照明では抵抗は約10KΩですが、暗闇では2MΩ以上に増加します。
光が多い場合、LDRの抵抗は低くなり、出力電圧は0Vに向かって低下します。
暗くなると、LDR抵抗が増加し、出力電圧が3.3Vに向かって増加します。
TMP36温度センサー
TMP36温度センサーは3ピンデバイス(データシート)です。 3.3Vで電力を供給でき、中央のVoutピンは温度に比例した電圧を提供します。
25℃の温度は0.750Vの出力になります。各度は10mVの出力電圧になります。
したがって、0度では0.5V、100度では1.5Vになります。
Pythonスクリプトを使用したデータの読み取り
ADCは10ビットであるため、0から1023(2の10の累乗)までの数値の範囲を報告できます。 0の読み取り値は入力が0Vであることを意味し、1023の読み取り値は入力が3.3Vであることを意味します。 0〜3.3Vの範囲は、TMP36を使用した場合の-50〜280℃の温度範囲に相当します。
詳細:MCP3008を使用したRaspberryPiのアナログセンサー
製造プロセス