TTP223 высокая чувствительность
- Войдите на сайт для отправки комментариев
Купил такие вот китайские кнопочки, собрал схемку, написал программку. Происходят "чудеса".
1. Ну, чувствительность кнопки довольно высокая. Примерно на 1-1,5 см уже срабатывает, что огорчает. Я написал функцию считывания двойного и тройного нажатия, а из-за того, что срабатывание идёт даже на расстоянии, для двойного клика надо ругу одёривать подальше, чо неудобно. Как бы понизить чувствительность этих приблуд?
2. Если мы находимся в бесконечном цикле ожидания нажатия кнопки:
while (!digitalRead(lamp1Btn) && !digitalRead(lamp2Btn)) delay(100);
, то все кнопки работают нормально (не считая проблемы №1). Причём это касается не только этих двух опрашиваемых кнопок, но и других двух (это видно по светодиодам на самих кнопках). Но когда программа опрашивает кнопки другим способом:
void loop() { for (k = 14; k <= 17; k++) { if (digitalRead(k)) { // узнаём состояние кнопок Serial.print("Key "); Serial.println(k); //выводик номер пина нажатой кнопки switch (k) { case jaw1Btn: //выполняется, когда нажата кнопка ящика 1 moto(1); break; case jaw2Btn: //выполняется, когда нажата кнопка ящика 2 moto(0); break; case lamp1Btn: //выполняется, когда нажата кнопка ночника 1 lamp(1); break; case lamp2Btn: //выполняется, когда нажата кнопка ночника 2 lamp(0); break; }//switch } // end if } // end for } // end void
, происходит "залипание" кнопок. Пишу простейший код по срабатыванию кнопки "jaw1Btn":
void moto(bool m) { delay(5000); Serial.print("Motor "); Serial.print(m); Serial.println(" stop."); Serial.println("Waiting..."); } // end void
На этом месте светодиод на кнопке продолжает гореть даже если я на 2 метра ухожу от схемы. Время "залипания" разное. Доходит даже до 10 секунд. В чём может быть проблема?
Переписал опрос кнопок примитивно до предела, и всё равно "залипают"((
Обнаружилась совсем странная штука. У меня используются модули управления двигателями L298N. Их 2 штуки: один используется прямо для двигателей, а второй - для светодиодных светильников и летны.
Пишу простой скетч:
В итоге, кнопка залипает (под нагрузкой). Если же инветрировать нажатие
, то не залипает(без нагрузки). Пробовал подключать модуль через резистор, не помогло. Причём, если саму ленту отключить от модуля управления, а сам модуль оставить подключенным, то всё работает хорошо. В чём проблема?
П.С. Питание модулей - от источника 12 воль. Питание кнопок от Ардуино, через USB. Минус, разумеется, общий. Пробовал запитать Ардуинку и кнопки от модулей, ничего не меняется.
как вы этого добились? Они дальше 3 мм не срабатывают, а мне наоборот - нужно срабатывание на 16-18 мм.
Какое расстояние проводов от кнопки до Arduino?
Они прямо из пакета сразу так и работали. Сначала собрал на коленках. Припаял к контакту кнопки небольшой проводок (4 см в длину). Эксперементировал с большими кнопками. Обматал этот проводок вокруг ножниц (без электирческого контакта). Срабатывание было надёжное при касании ножниц. Сейчас на этом же провдке припаял красивую пуговицу (5мм в диаметре), которая и выполняет роль кнопки. Самая дальняя кнопка (и самая глючная) где-то 50 см до Arduino. Я уже думал, что блок питания вносит помехи, пробовал его убрать. Не помогло. Пробовал зажигать светодиодную ленту прямо от блока питания, думая, что в ней глюк. Нет, при таком включении "залипания" нет. Сегодня буду разбирать всю схему и прокаладывать проводку заново. Экранировать вроде нечего, везде постоянный ток. Попробую еще просто заменить глючную (дальнюю) кнопку (может заводской брак).
50 см - это очень много, у меня уже на 25 начинали самопроизвольно нажиматься. И тут вина не кнопки, а входы Arduino очень чувствительные.
Прочитал вашу тему. У меня металлических частей вообще нет. Только блок питания и провода. Остальное всё деревянное. (Кстати, как вы решили проблему?) Расстояние от кнопки до TTP223 у меня не более 3-4 см. А вот от TTP223 до Arduino уже 50 см. Это может быть проблемой?
причину у себя удалось локализовать - виноват был именно длинный шлейф от модуля кнопок до контроллера. Сам порт Arduino ловил наводки, даже с подтяжками. Укоротили - все заработало как часики.