MCP3425で変換した電圧はI2Cインターフェイスで取得する事が出来ます。
〇Raspberry Pi ZeroとCDSとMCSP3425を接続した写真
実装手順
Raspberry Pi ZeroとCDSとMCP3425で明るさを測るには、以下の手順を実行します。1. 部品の用意と配線
以下の部品を用意して、下記回路図に基づいて接続します。
・MCP3425
MCP3425(16Bit ADC I2C 基準電圧内蔵)搭載モジュール
https://akizukidenshi.com/catalog/g/gK-08018/
・CDS
CdSセル 5mmタイプ
https://akizukidenshi.com/catalog/g/gI-00110/
・1KΩ抵抗
カーボン抵抗(炭素皮膜抵抗) 1W1kΩ (100本入)
https://akizukidenshi.com/catalog/g/gR-07980/
・ユニバーサル基板
勿論、他のサイズでも問題ないです。
両面スルーホールガラスコンポジット・ユニバーサル基板 Fタイプ
https://akizukidenshi.com/catalog/g/gP-12731/
〇回路図
Raspberry Pi Zeroと回路図は以下の様に接続します
Raspberry Pi 3.3Vピン(ピン1) -> 回路図の3.3Vへ
Raspberry Pi GPIO 2/SDAピン(ピン3) -> 回路図のSDAへ
Raspberry Pi GPIO 3/SCLピン(ピン5) -> 回路図のSCLへ
Raspberry Pi Groundピン(ピン9) -> 回路図のGNDへ
2. i2cの有効化
raspi-configコマンドなどを使用してi2cを有効化します。
※i2cの有効化については、以下の記事を参照してください。
Raspberry Pi ZeroにBME680を接続して、温度・気圧・湿度・ガスの値を取得する
https://serverarekore.blogspot.com/2021/03/raspberry-pi-zerobme680.html
3. デバイスの認識の確認
以下のコマンドを実行してアドレス0x68のデバイスが認識されていることを確認します。
i2cdetect -y -1
4. pipenvの導入
pipenvをインストールしていない場合は、以下のコマンドを実行します。
sudo apt-get update
sudo apt-get -y install python3-pip python3-distutils python3-dev
sudo pip3 install --upgrade pip
sudo pip3 install --upgrade setuptools
sudo pip3 install pipenv
echo "export PIPENV_VENV_IN_PROJECT=true" >> ~/.bashrc
source ~/.bashrc
5. smbus用の仮想環境作成
pipenvを使用する場合は以下のコマンドで、smbus用の仮想環境を作成します。
mkdir -p ~/smbus
cd ~/smbus
pipenv --python 3
pipenv install smbus
pipenv shell
6. プログラムの作成と実行
以下のプログラムをファイルに保存して、実行します。
test_mcp3425.py
import smbus
import time
i2c = smbus.SMBus(1)
addr_mcp3425=0x68
FIELD_PGA_GAIN_1X = 0x00 # gain 1X
FIELD_SAMPLE_RATE_15SPS_16BIT = 0x08 # 15SPS 16bit sampling
FIELD_CONV_MODE = 0x00 # one-shot
FIELD_READY = 0x80
# Initialize
def read_cds():
i2c.write_byte(addr_mcp3425, FIELD_PGA_GAIN_1X | FIELD_SAMPLE_RATE_15SPS_16BIT | FIELD_CONV_MODE| FIELD_READY)
time.sleep(0.15)
dat = i2c.read_i2c_block_data(addr_mcp3425, 0x00, 3)
val = (dat[0] << 8) | dat[1]
return val
while True:
val= read_cds()
print("cds:{}".format(val))
time.sleep(1)
・実行コマンド
以下のコマンドでプログラムを実行し、明るさが画面に表示されることを確認します。止める時はCtrl+Cをクリックします。
python3 test_mcp3425.py
0 件のコメント:
コメントを投稿