Raspberry Pi - Как измерить 2 значения резистора с помощью GPIO - PullRequest
0 голосов
/ 29 марта 2020

Можно ли измерить 3 заданных c значения резистора с помощью GPIO / Без использования полной настройки AD C?

У меня есть датчик тревоги, который я хочу подключить к моему GPIO. Этот датчик имеет 3 заданных значения c резисторов в зависимости от его состояния:

  • 1) Нормальный - 4k7
  • 2) Тревога - 9k3
  • 3) Тампер - бесконечно.

Из-за длинных линий я бы предпочел питание 12 В. с одной стороны.

Я хотел бы иметь возможность обнаруживать эти состояния с помощью 2 обычных входных контактов GPIO.

Это вообще возможно? Какие схемы c необходимы для этого?

Или это единственное решение для использования (внешнего) AD C?

Я думаю о дайвере напряжения с резисторами и диод 1N4148, чтобы обрезать его до 3v3. Но пока мои результаты бесполезны.

Спасибо.

1 Ответ

0 голосов
/ 30 марта 2020

Проблема в том, что у вас есть три уровня для измерения. Если бы у нас их было два, мы могли бы использовать простую настройку резисторного делителя, чтобы (скажем,) на выходах 4к7 и 9к3 на датчике сделать лог c 0 (<= 0,8 В) или лог * c 1 (> = 1,3 В) на один вывод GPIO. Мы могли бы сделать это на двух выводах GPIO, если бы у нас было два «независимых образца» выходного сигнала датчика, а не один.

Учитывая вышеизложенное, можно спроектировать некоторую простую логическую c сеть для проведения сравнений, но как говорится в другом комментарии, вы погружаетесь в сферу электроники.

AD C - это самый простой способ go, если вы хотите остаться в области программного обеспечения. Другие устройства SB C, например ESP8266, которые имеют встроенную функцию AD C и встроенный Wifi https://esp8266-projects.org/2015/03/internal-adc-esp8266/, или вы можете, например, подключить дополнительный AD C к Rpi. https://learn.adafruit.com/raspberry-pi-analog-to-digital-converters

Удачи

...