(6)■SPIインターフェースのA-Dコンバータでアナログ入力アナログ入力処理のサンプル・プログラムとしてTempSensorが用意されています。Piにはアナログ入力ポートが用意されていません。そのため、このTempSensorのサンプル・プログラムではSPIインターフェースのA-DコンバータICを外付けして対応することで解決しています。TechnologyのMCP3002、MCP3008、MCP3208の3種類を対象としています。8今回は、12ビットの分解能で8チャネル入力のMCP3208を利用します。Coreを動かす(5)」でダウンロードしたsamples-developのフォルダの中にあります。この中のTempSensor¥CSフォルダ内のTempSensor.slnのプロジェクトファイルを開いてサンプル・プログラムのテストを開始します。サンプル・プログラムはMCP3002のA-Dコンバータを対象としています。プログラムは、基本的には3種類のA-Dコンバータに対応できます。次に示すように、プログラムの2か所をMCP3002からMCP3208に修正するだけで、対象A-DコンバータがMCP3002からMCP3208に変更できます。具体的な変更場所は次のとおりです。ADCChip.mcp3002;次のように変更します。ADCChip.mcp3002;次に示すように、mcp3208のチップを利用するように変更します。3とジャンパ線で接続します。サンプル・プログラム、A-Dコンバータの入力値をそのまま画面に表示しているだけです。センサの代わりに、次に示すようにボリュームにジャンパ線をはんだ付けし、電源電圧をボリュームで分圧したものをアナログ入力データとします。ボリュームは5kΩ(B)を使いましたが、10kΩでも同じように使えます。●MCP3208のピン配置MCP3208のピン配置図を次に示します。Piの接続は、次に示す40ピンのピンヘッダの必要な機能をピンと接続します。具体的なジャンパ線の接続方法を次に示します。GND●アナログ入力MCP3208のチャネル0(CH0)に、電源電圧をボリュームで分圧した電圧を接続します。A-Dコンバータの基準電圧は電源電圧を利用します。アナログ入力のGNDとディジタル電源のGNDが、別に設定することもできるようにそれぞれ用意されています。ここでは両方のGNDを共通にします。そのための設定は次のようになります。AGNDボリュームからの電圧出力は、MPC3208の1番端子に接続します。●サンプル・プログラムの実行結果サンプル・プログラムを実行すると、次に示すメッセージとA-Dコンバータからの読み取り値が表示されます。◆ボリュームを絞った状態ボリュームの出力を増大すると、値も大きくなります。◆ボリュームを最大近くまで増大したときMCP3208のA-Dコンバータは12ビットなので、最大で4095になります。Bで動作が確認できました。Bでの動作の様子、サンプル・プログラムについてなど検討します。ライセンスで提供されています。