считывать два инфракрасных датчика с raspberrypi и python - PullRequest
0 голосов
/ 07 мая 2020
• 1000 1003 *

Мне нужен скрипт raspberrypi python для проверки двух инфракрасных датчиков (левого и правого) каждые 500 мс. Если левый датчик получил код в течение этого временного интервала 500 мс, покажите полученный код, в противном случае покажите, что левый датчик не получил код. Процесс повторяется с правым датчиком.

Я создал для этого простой python скрипт. Однако мне всегда нужно очищать буфер, чтобы старые значения, которые были прочитаны, не мешали проверке. Я делаю это, "пока" читаю значения буфера одно за другим.

Есть ли в EVDEV функция flu sh для очистки буфера или есть лучший способ сделать это?

#!/usr/bin/python2.7

from evdev import InputDevice
import time

device1 = InputDevice('/dev/input/event4') 
device2 = InputDevice('/dev/input/event3')

while(True):

        dataSensor1 = device1.read_one()
        dataSensor2 = device2.read_one()

        if(dataSensor1!=None):
                print("Left: ", dataSensor1.value)

                #delete old readings from the Left sensor queue
                while device1.read_one()!=None:
                        pass
        else:
                print("no reading on the left sensor")

        if(dataSensor2!=None):
                print("Right: ", dataSensor2.value)

                #delete old readings from the Right sensor queue
                while device2.read_one()!=None:
                        pass
        else:
                print("no reading on the right sensor")

        time.sleep(0.5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...