ラズパイでアナログ電圧を扱う (4) 動作確認
前回、ハードウェアの用意ができました。テスタで確認作業をしたので、配線は正しいと思います。ここでは簡単なプログラムを書いて、A-DコンバータMCP3208が動作していることを確認します。
●入力を用意
基準電圧Vrefは2.5Vです。基準電圧ICのTL431にばらつきがあるので、2.4998Vだったりします。できれば、桁数の多いテスタで電圧を測っておきます。MCP3208の入力電圧範囲は0~Vrefです。
実験用にアルカリ乾電池を1本用意します。約1.5V前後が計測できるはずです。チャネル0にプラスを、マイナス極をGNDにつなぎます。
●短いプログラムで動作確認
ラズパイのメニューAccessoriesからText Editorを選び、テキスト・エディタを立ち上げます。下記のプログラムをコピーし、piフォルダに、mcp3208b.pyの名前で保存します。
from gpiozero import MCP3208
Vref = 2.5
pot = MCP3208(channel=0)
print(str(pot.value * Vref) + "V")
画面上の黒いアイコン、ターミナルをクリックして起動します。
lsコマンドでファイルの一覧を表示します。
python mcp3208b.py |
で実行します。1.6****Vのような表示が出たでしょうか。0.0Vなら配線のどこかが正しくありません。
●実行環境
2019年6月20日版をラズパイ3にインストールしました。full版をインストールしたので日本語環境も入りますが、最初に、Use US keyboardとUse English languageをチェックしたので、画面周りは英語です。
メニューのPreferencesのRaspberry Pi ConfigurationでI2CとSPIをEnableに変更しますが、OKをクリックすると、すぐに有効になります。リブートは不要になりました。
●gpiozeroライブラリ
インストール済みのgpiozeroのバージョンは、pip3で表示できます。
ドキュメントはこちらで読めます。A-Dコンバータは「15. API - SPI Devices」の項目に説明があります。