Настройка порога для цифровых контактов
Я работаю над проектом с использованием датчиков силы для создания клавиатуры для пациентов с МД. Я подключил датчики (каждый с 4 входными контактами) к цифровым контактам Arduino Due. Я хочу настроить порог цифровых контактов, чтобы компенсировать начальный вес руки пользователя при использовании клавиатуры. Я читал, что цифровые контакты имеют встроенный порог ("низкий" <0,3 Vcc и "высокий"> 0,6 Vcc). Я не могу подключить свои датчики к аналоговым контактам (из-за необходимости 20 входных контактов), и мне было интересно, возможна ли регулировка порога? Я исследовал и нашел один проект, в котором использовались аналоговые контакты и корректировался порог, который я пытаюсь имитировать: https://www.instructables.com/Arduino-Programmable-Button-Panel-As-Keyboard / P.S: Я новичок в Arduino и был бы признателен за помощь
@baraah baryhe, 👍0
Обсуждение1 ответ
Лучший ответ:
Нет, вы не можете изменить этот порог. Они устанавливаются аппаратным обеспечением цифрового ввода (технически триггер Шмитта) внутри микроконтроллера. Они не предназначены для регулировки, поскольку являются цифровыми входами, а не аналоговыми входами.
Таким образом, вам либо нужно создать свою собственную настраиваемую логику (с использованием операционных усилителей и переменных резисторов), подавая ее на Arduino, либо вам нужно использовать аналоговые входы.
Я бы предложил использовать второй метод. Вы можете увеличить количество аналоговых входов в основном на 2 способа:
Вы можете купить аналоговые мультиплексоры. Это микросхемы, которые могут подключать один аналоговый вход Arduino с одной стороны к выводам X с другой стороны. Большинство из них управляются с помощью цифровых контактов. Затем вы циклически повторяете каждую настройку мультиплексора, чтобы подключать по одному датчику за раз и проводить измерения на каждом из них. Каждый аналоговый вывод может быть подключен к одному аналоговому мультиплексору
Вы можете купить внешнюю плату АЦП. Они часто подключаются через интерфейсы, такие как I2C или SPI (например, этот от Adafruit с 4 каналами в каждом). Вы можете использовать несколько из них.
- Двойной щелчок для аналогового датчика с порогом
- Самый быстрый способ считывания состояния цифрового контакта в Arduino Due
- Аналоговые и цифровые акселерометры – плюсы и минусы
- Отправка цифрового сигнала с одного arduino на другой
- Использование датчика воды с NodeMCU делает его менее чувствительным?
- Запись данных с нескольких датчиков в пакетном режиме в ардуино
- Функция digitalRead() ардуино не считывает входное значение, отправленное датчиком после обнаружения объекта
- Сможет ли Arduino Uno считывать 3-кратные инкрементальные энкодеры?
Не могли бы вы рассмотреть возможность использования аналогового мультиплексора?, @Edgar Bonet
Мне нравится идея Эдгара Бонета. Отступаем еще немного назад. Было бы проще для пациента с рассеянным склерозом управлять [аккордной клавиатурой] (https://en.wikipedia.org/wiki/Chorded_keyboard )?, @st2000