В наших книгах написано иначе :).
Добавляю филтр только для того, чтобы гасить импульсы к радиоприемнике КВ, если енкодер каким-либо образом мешает (при достаточно чувствительной радио – напр. ниже...
Тип: Сообщения; Пользователь: veso74
В наших книгах написано иначе :).
Добавляю филтр только для того, чтобы гасить импульсы к радиоприемнике КВ, если енкодер каким-либо образом мешает (при достаточно чувствительной радио – напр. ниже...
Для очередной консрукции пришлось включить логический анализатор. В конце теста я вспомнил наши эксперименты: внизу механический энкодер KY-040 без конденсаторов/с конденсаторами 100 nF / 10kΩ...
Потому что заменяете их, напр. на 3 месяца. Теперь подумайте о распайке энкодера с напр. 4-слойной платы, расположенный в нижней части корпуса соответствующего самодельного трансивера, и чтобы...
С конденсаторами 100 nF работает нормально. По какой-то причине начинается с -1, или с 1.
univ_enc() (без конденсаторов) с "неисправным" энкодером дает "ложные" импульсы. И раз при старте когда "покрутил" ось при включении: 4..10 импульса -1..0..1...
С 100 nF на GND для последних трех...
Попробовал енкодер из PC от мышки, как на предложенной картинке. (Естественно - от когда-то использованной). Реакция точно такая же.
При аналогичном программном коде проход ОК на 100% и ложное...
Для "а при касании оси -> разбита втулка оси энкодера": изпользую г. переводчик, не воспринимайте слова буквально.
rotor23.zip -> Нет. В файлах добавил комментарий, где что начинается.
У меня нет ничего меньше чем ATtiny13A. Правда, экспериментирую и с ATtiny10, и с PICxx, и там код Ben Buxton ОК. Просто проверьте механический энкодер, снятый после лет работы. Это заметил для себя...
Есть улучшения. Остаётся реакция не при вращении, а при касании оси. А код Ben Buxton никак не реагирует. univ_enc() ближе всего к тому, как работает другой код. Иногда "поврежденный зуб" дает...
ATmega8 с енкодер по Ben Buxton в pooling и дисплей 8 LED MAX7219:
Часто используем как прогр. код то, что есть, а ставим оптимизацию: если она нужна после запуска или когда запустить невозможно....
Использую микроконтроллер, который находится передо мной, нам не нужно пробовать все микроконтроллеры.
ОК, но думаю иначе. Ниже: encoder по Ben Buxton в pooling, дисплей 8x LED MAX7219 в ATTiny13A на 1,2 MHz.
Фрагмент кода:
const uint8_t ttable[7][4] PROGMEM = {
{R_START, R_CW_BEGIN,...
1. Еще раз упоминаю: Rottary.h можно не в прерывании. Используйте polling.
Пример: из примеров в оригинальной библиотеке:
2. При объявлении данных как констант, данные не располагаются в RAM,...
OK, но с другого кода нет необходимости. Когда начинал с МК, только Rotary использую.
Знаю, стараюсь не использовать код, пока не посмотрю его алгоритмически что делает. Так мне интересно.
Да,...
Нет. Не ставил, не ставлю, нет необходимости. Ничего, что синтезатор/ы работают на напр. 10 см от П-фильтра PA на 4хГУ50 с не особо согласованными антеннами.
При енкодер с мех проблема не могу...
Нет. rotor_new с "полу-сломанным" с мех. энкодером 4 функции по-другому показывает иногда хаотичные изменения, иногда скачет на много шагов. И напр. поворачиваю ось, а код показывает изменение....
Более "короткий код" для напр. LCD1602 по I2c чрез PCF8574 в AVR?
LiquidCrystal_I2C к AТtiny13A (MicroCore в Arduino IDE): 694 байта (67%) / 35 байта (54%) на 1,2 MHz.
А для программ не осталось...
cuneum, супер. enc_antibounce() работает хорошо. Не трогайте код :).
Вывод сделан без исследования. Неверно, например с энкодер при длительной его работе, напр. годы, когда получается много ненужных шагов из механические проблемы контактов.
Ниже: два файла из...
Для програмы для записа в AVR (напр. AVRdudess), доступни для моего USBasp, нужны отдельные файлы .hex и .eep.
А в MPLAB их объединили в одной - в .hex.