2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RaspberryPiとADS1115でアナログ入力を取得する

Posted at

Outline

raspberryPiを使ってアナログ入力を取得するために
ADDA変換モジュールADS1115を使って値を取得する。 

Output

Hardware setup

Raspberry-pi 配線 ADS1115
01 3.3V <-> VIN
03 5V <-> SDA
05 5V <-> SCL
09 GND <-> GND
A0:チャンネル0
A1:チャンネル1
A2:チャンネル2
A3:チャンネル3

※ADコンバータは
A0、A1、A2、A3の4チャンネルの電圧を測定(SingleEnded)と、
A0-A1、A2-A3間の2チャンネルで差動を測定する(Differentianl)がある

Software setup

install

sudo pip3 install adafruit-circuitpython-ads1x15
sudo pip install adafruit-ads1x15

ディレクトリ構成 Github

home/
├ adafruit_ads1x15\
│ └ ads1x15           #ライブラリ
└ ads1115_example.py  #exampleコードを複数チャンネル入力対応に改変

code

ads1115_example.py
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn

# Create the I2C bus
i2c = busio.I2C(board.SCL, board.SDA)

# Create the ADC object using the I2C bus
ads = ADS.ADS1115(i2c)

# Create single-ended input on channel 0
chan0 = AnalogIn(ads, ADS.P0)
chan1 = AnalogIn(ads, ADS.P1)
chan2 = AnalogIn(ads, ADS.P2)
chan3 = AnalogIn(ads, ADS.P3)

print("{:>5}\t{:>5}".format("raw", "v"))

try:
    while True:
        print("cahn0: {:>5}\t{:>5.3f}".format(chan0.value, chan0.voltage))
        print("cahn1: {:>5}\t{:>5.3f}".format(chan1.value, chan1.voltage))
        print("cahn2: {:>5}\t{:>5.3f}".format(chan2.value, chan2.voltage))
        print("cahn3: {:>5}\t{:>5.3f}".format(chan3.value, chan3.voltage))
        print("")
        time.sleep(0.5)
except KeyboardInterrupt:
    pass

参考 ゲインの設定

詳細はデータシートを参照

GAIN 電圧
2/3 ±6.144
1 ±4.096
2 ±2.048
4 ±1.024
8 ±0.512
16 ±0.256

※APIを使ったゲイン設定も存在するようなのでそちらを使用するとシンプル。
「ゲイン1」の時の、「受信データ1単位」の電圧を計算します
「ゲイン1」の範囲はプラス・マイナス 4.096なので、8.192になります
RANGE = 4.096 * 2
ADS1115は上記範囲を16bit(65536)で表すので、上記範囲を65536で割ると、ADSのデータ「1」につき、電圧は0.000125[V]になります。
8.192/65536=0.000125

run

python3 ads1115_example.py

結果

ads1115_example.pyの出力
cahn0: 26380	3.297
cahn1: 13202	1.650
cahn2:  4823	0.605
cahn3:  4817	0.604

各チャンネルの出力が確認できました。
以上

参考記事

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?