pythonのバージョンを切り替えるとADS1015が使えない
最近趣味でラズパイを触り始めた初心者です。
Linux raspberrypi 6.6.22-v8+ #1746 SMP PREEMPT Wed Mar 20 17:19:49 GMT 2024 aarch64 GNU/Linux
Model : Raspberry Pi 4 Model B Rev 1.4
となっています。
まずやりたい事は、ADS1015で取得した値をKivyでGUI表示などをすることを、最初の目標にやっております。
最初に入っていたpythonバージョンはPython 3.11.2なのですが、Kivyが動かないみたいなので、pyenvというものをインストールして、Python 3.9.11 で実行するようにしました。
まず、Python 3.9.11でkivyのウィンドウを開くことはできました。
ですがads = Adafruit_ADS1x15.ADS1015()でエラーがでてしまいます。
Python 3.11.2で下記を実行すると、ちゃんとアナログ値の読み取りはできるみたいです。
import time
import Adafruit_ADS1x15
#ADS1015を初期化
ads = Adafruit_ADS1x15.ADS1015()
GAIN = 1 #ゲインを1(±4.096V)に設定
RANGE = 4.096 * 2
UNIT = RANGE / 4096
#ADSのアナログ入力ピン指定
ads1015_pin = 0 #ch0を設定
#ADC読み出しを100回ループ
for i in range(100):
data = 0
volt = 0
#ADS1015からデータを読み出し
data = ads.read_adc(ads1015_pin, gain=GAIN)
#電圧値を計算
volt = data * UNIT
print("受信データ:" + str(data))
print("電圧 :" + "{:.3f}".format(volt))
#0.5秒待機
time.sleep(0.5)
print("done.")
Python 3.9.11で実行すると、下記のエラーがでます。
Traceback (most recent call last):
File "/home/yuta/ADS1015_test2.py", line 5, in
ads = Adafruit_ADS1x15.ADS1015()
File "/home/yuta/Adafruit_ADS1x15/ADS1x15.py", line 343, in init
super(ADS1015, self).init(*args, **kwargs)
File "/home/yuta/Adafruit_ADS1x15/ADS1x15.py", line 80, in init
import Adafruit_GPIO.I2C as I2C
ModuleNotFoundError: No module named 'Adafruit_GPIO'
どう対処したらよいか教えてください。