Как предотвратить считывание бесконтактного ИК-датчика, когда он отключен?

Я работаю над проектом с инфракрасным датчиком приближения, и вывод цифрового выхода моего датчика НИЗКИЙ, когда препятствие находится рядом с датчиком, и ВЫСОКИЙ, когда препятствие находится далеко. Основная проблема заключается в том, что произошло, когда датчик отключен, на данный момент он показывает, что препятствие находится рядом, но для моего проекта это неприемлемо.

Я припаиваю еще один провод к плате датчика, и он всегда ВЫСОКИЙ, когда датчик подключен, но это использует 2 gpio для одного датчика, и я не могу получить такую ​​роскошь, каждый gpio важен.

Мой код перед добавлением нового провода:

class ProximitySensor
{
    private:
        uint8_t _sensorPin;
    public:
        ProximitySensor(uint8_t sensorPin = 31) 
        {
            _sensorPin = sensorPin;
            pinMode(_sensorPin, INPUT);
        }
        bool OK()
        {
            if (digitalRead(_sensorPin) == LOW)
                return true;
            else
            {
                return false;
            }

        }
};

Так есть ли идеи, как это исправить?

0 ответов

Другие вопросы по тегам