0

ssd1306 OLED と BME280 を Pico に接続しました。ピン 0 (sda) と 1 (scl) i2c ピンに接続すると、すべてが魅力的に機能します。しかし、計画が非常に悪かったため、他の i2c ピンに切り替える必要があります。接続したら、動作させることができません。などから変更しi2c = machine.I2C(0, scl=machine.Pin(1), sda=machine.Pin(0),freq=400000)ましi2c = machine.I2C(0, scl=machine.Pin(13), sda=machine.Pin(12),freq=400000)たが、だめでした。コードスニペット:

import machine
import bme280
import time
from machine import Pin, I2C, ADC
from ssd1306 import SSD1306_I2C

i2c = machine.I2C(0, scl=machine.Pin(13), sda=machine.Pin(12),freq=400000)
bme = bme280.BME280(i2c=i2c)
oled = SSD1306_I2C(128, 64, i2c)

私が得ているエラーは次のとおりです。

Traceback (most recent call last):   File "<stdin>", line 9, in <module>   File "/lib/bme280.py", line 75, in __init__ OSError: 5

それは次のとおりです。

dig_88_a1 = self.i2c.readfrom_mem(self.address, 0x88, 26) from bme280.py (standard driver)

i2c スキャンを実行しましたが、新しいピンで正しいアドレスが返されます。

4

0 に答える 0