Делаю модуль работы с энкодером и I2C расширителем портов. Очень хорошая статья про микруху PCF8574: http://we.easyelectronics.ru/part/i2c-rasshiritel-portov-pcf8574.html Я использую PCA9534, но имхо они похожи как близнецы братья. Вот моя схема: А проблема вот в чем. Я подаю на ноги энкодера плюс, вроде это как неправильно, НО я использую для борьбы с дребезгом триггер Шмидтта, а он инвертирует сигнал и при замыкании контактов пин микрухи должен бы прижиматься к земле и вроде должно быть все ок, но на деле все плохо. Если никак не инициализировать PCA9534 то на пинах твориться хаос (хотя кнопка энкодера вроде отрабатывает адекватно), а вот если инициализировать микруху единицами как собственно и надо сделать (по даташиту), то на пинах микрухи ВСЕГДА единицы, хотя прерывание срабатывает исправно. В чем проблема – не пойму. Прошу помощи. Спасибо.
-Раз ромашка, два ромашка,три ромашка,пять ромашка. - А я четветую сорвал. А теперь по теме: Какой идиот "лечит" кнопочный дребезг тригерром Шмита.
Строго говоря - вполне нормальное применение триггера Шмидта, одно из применений как раз - подавление дребезга контактов: http://www.electronicsblog.ru/cifrovaya-sxemotexnika/trigger-shmitta.html Идиоты, идиоты кругом!
Уважаемый, если вам нечего сказать по ТЕМЕ вопроса, а я вижу что нечего, плз, не разводите пустой флуд. Спасибо.
Вам же ясно показали схему включения тригера Шмитта. Сначало поправьте и потом дальше будем что-то делать. А иначе разумеется привет флуд.ПС:верхний резистор 10 Ком и выше, а нижний 100 Ом и ниже. Но это надо подбирать на осцилографе. Я уже забыл как точнее их расчитать и учесть входной ток на тригер Шмитта.
Вы вообще читали мой пост? Схему смотрели? Сравнивали с этой? Разницу заметили? Какие нах резисторы осцилографом? Плз, покиньте ветку и не флудите здесь, показывая свою тупость и неосведомленность в вопросе. Спасибо.
Посмотри вот эту статью , я собирал один раз по ней схему. Но, до конца не протестировал, пока нету осцилографа. Надеюсь в скором времени протестирую. Вроде как по этой схеме отлично все работает и аппаратное подавление дребезга энкодера тоже. ps\ Единственное что я изменил, это подтяжку не к GND ,а к +Vcc .
У меня к подавлению дребезга вопросов нет, все работает на 5 баллов (кстати у меня схема точно такая же) . Вопрос именно про расширитель портов PCA9534 / PCF8574. Если с выходов триггера подать сразу на пины ардуинки, то все прекрасно и правильно работает.
Пробовал. ИМХО проблема аппаратная. Я напрямую читаю\пишу байт данных прямо из микрухи, а эта библиотека просто надстройка для удобства и наглядности.
Если с энкодера, вернее после подавления антидребезга аппаратно , при врщениии на один щелчек появляется один импульс, то по идее подключив к данной микросхеме на любой пин и судя по примерам из библиотеки , можно зафиксировать(прочитать вход) этот импульс и на ардуино. Вроде должно все работать. Проверь дребезг еще раз с помощью осцилографа. У меня есть пара подобных модулей, но руки не дошли для проверки. ps\ И схема у вас совсем не как в той статье на которую я ранее давал ссылку. У вас только часть этой статьи где используется подавление антидребезга для кнопок, для энкодера смотрите далее в статье другая схема более усовершенствованная. Вот ее я и имел ввиду. Это абзац "Бонус — как заменить энкодером кнопки".
1. Моя схема 100% рабочая, проверена на другом проекте (она точная копия схемы из вашей ссылки, только чуть по другому нарисована ). 2. по даташиту для правильной работы микрухи надо прижимать ногу к земле, моя задумка была такая: я подаю на контакты энкодера плюс и при замыкании контактов плюс появляется на триггере, а т.к. он еще и инвертирующий, то сигнал инвертируется, но на практике что то пошло не так и данные в регистре микруха не меняет хотя прерывание генерирует, что странно. 3. осцилографа у меня нет, к сожалению.