![]() |
Цитата:
|
Добрый день. Собрал схему из первого поста (2 энкодера пяти контактные и 6 кнопок). Получилось следующее: первые 4 кнопки работают, а 5 и 6 выдают код 4 кнопки (подключение через 100 ом), первый энкодер работает отлично (влево, вправо и нажатие), а вот второй энкодер (вправо удовлетворительно, нажатие отлично, влево работает примерно через 1 полный оборот) подключение 3.3 К вместо 3.2 К и 6.2 К вместо 6.1 К. Направте на путь истинный!? Спасибо.
|
Цитата:
|
Цитата:
|
Цитата:
чорт побъери, как теперь высмотреть. есть ли у меня на плате Ордуины подтягивающие резисторы? в смысле, по схеме Ардуины 7 версии (видимо, Нано 7) в какой квадрат пялиться и что искать? |
Цитата:
в общем, у меня на моем контроллере подтяжки А7 к плюсу через 3.3кОм нету, а скетч тем не менее ведет себя, мягко говоря, безобразно. Ув. Bersenev, может, мне проще тебе контроллер почтой бандеролькой запульнуть, чтобы ты его пощупал-подергал-попинал за всякие мягкие места? ;) и заставил его кнопками кнопкать, как положено? |
Попытался вспомнить програмирование и поразбирался со скетчем.
Как я понял что переменная res_key_count содержит количество резистивных кнопок и при работе скетча оно запоминается в ПЗУ (куда-то) и оно (количество) потом всегда остается такое-же. У меня стояло = 0 а их физически аж 19 при 100 Ом между ними. И сейчас не всегда выходят одни и теже коды в iCar (иногда 2, иногда 3, иногда пересекаются на разных соседних кнопках - особенно при прогреве двигателя. Хотя на трассе такого потом не наблюдается (при больших оборотах)). Мне заново залить скетч с res_key_count = 19 , чтоли (чтобы работало постабильнее) или подобрать другие резисторы. Может подскажет кто-нибудь как пристроить сюда-же этот код. Чтобы работал при этом оригинальный код от iCarDuino http://www.jewelfox.ru/lot.php?id=1090 |
Цитата:
Твоя проблема скорее всего связана с низким качеством самих кнопок. Я вначале поставил тактовые кнопки и запарился с ними, они всё время возвращали разные значения. Заменил их на микроконтакты и всё сразу исправилось. В твоём случае думаю стоит увеличить шаг сопротивлений, то есть использовать не 100 Ом, а 200 или 300. И увеличить переменную unsigned int res_key_delta = 3; с 3-х, до 5-ти, а может и до 6-ти или 7-ми. Но прежде чем заливать новый скетч поменяй это значение #define RES_KEY_FLAG_ 0x76 // Флаг первого запуска скетча с 0x76 на другое значение, допустим 0x77. Тогда скетч будет считать что это его первый запуск и сотрёт из EEPROM все ранее запомненые значения |
Цитата:
Поставил 6 и флаг первого запуска, сопротивление не менял. Итог работает как часики. Мерси. |
Цитата:
Только нужно брать сигнал с поворотника для синхронизации желтого, гуру подскажите как на цифровой пин подключить сигнал с поворотника, к чему притянуть и т.д. Аналоговые планирую под Фоторезистор и еще один последний - не придумал. Зато цифровых еще 6 или 8 осталось. Извиняюсь за каламбур в голове каша от MyHome, KNX, Arduino. |
Часовой пояс GMT +4, время: 09:59. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot