Работа с лидаром tof10120

Тема в разделе "Raspberry Pi", создана пользователем Shestipaliy, 6 май 2020.

  1. Shestipaliy

    Shestipaliy Нерд

    Приветствую,

    Пытаюсь наладить чтение данных с TOF10120. Он вообще не очень известный и глубоко китайский но тем не менее про то как его завести на ардуино есть статьи типа:

    http://digitrode.ru/computing-devic...i-lazernyy-datchik-rasstoyaniya-tof10120.html

    Я попытался написать на питоне некоторый аналог который выглядит вот так:

    Код (Python):
    import smbus
    import time

    i2c_ch = 1
    i2c_address = 0x52

    bus = smbus.SMBus(i2c_ch)

    while True:
       
        try:

            bus.write_byte(i2c_address,0)
            time.sleep(0.01)
           
           b1 = bus.read_byte_data(i2c_address,0)
           b2 = bus.read_byte_data(i2c_address,1)
                   
           word=(b1<<8)+b2
           print(word)

            time.sleep(1)
       
        except OSError:
            print('error')
     
    В принципе все работает и показывает расстояние корректно, но проблема в том что примерно в 30% случаев вылетает исключение OSError: [Errno 121] Remote I/O error. Не знаю как это побороть. Может у кого-то был опыт? И еще наверное стоит упомянуть что использую Troyka Cap для малины и подключаю лидар через него, соответственно. И вроде во всем остальном никаких проблем нет.
     
  2. Un_ka

    Un_ka Гик

    Может между чем-то выждать надо ?