Ошибка Micro python: OSError: [Errno 19] ENODEV - PullRequest
2 голосов
/ 19 февраля 2020

Я пытаюсь использовать датчики давления и микроконтроллер LOLIN D32 pro для измерения уровня воды. Два датчика давления MS5803 и BME280 ниже мой код

'' '

import machine        
from machine import Pin, I2C        
import bme280, ms5803        
import time        

i2c= I2C(scl=Pin(22), sda=Pin(21), freq=10000)        
bme1 = bme280.BME280(i2c=i2c, address = 119)        
BuiltinLED = machine.Pin(5, Pin.OUT)         
BuiltinLED.value(1)         
WaterLevelDifference=0        

def depth():       
    [T1,P1,H1] = bme1.raw_values      #T in degrees C, P in hPa        
    [P2,T2] = ms5803.read(i2c=i2c, address = 118)        
    WaterLevelDifference = ((P2-P1)*100/9810)                
    return WaterLevelDifference         
depth()        
while WaterLevelDifference<100:        
    if WaterLevelDifference > 0.1:       
        BuiltinLED.value(0) #turns LED on        
    else:        
        depth()          
        time.sleep(0.5)        
        print(WaterLevelDifference)

' ''

Я сделал i2 c .scan () и это показывает [118,119], но иногда с перерывами. Что означает эта ошибка?

...