Kolejny gadżet do kolekcji zaczął działać: konwerter enkoder->2 przyciski lewo/prawo.
Oparty na małym i tanim ATTINY25, ma tylko jedno zadanie: poprawnie odczytywać kręcenie enkoderem i symulować przyciśnięcia dwóch przycisków: obrót w lewo lub obrót w prawo. Te wyjścia będzie można podłączyć do dowolnych wejść MCP23017 i używać enkoderów jako przycisków.
Działa na przerwaniach i sprytnym algorytmie (nie mojego autorstwa), który od razu zawiera w sobie dodatkową eliminację drgań styków.
Obsługuje dwa rodzaje enkoderów: pełnokrokowe i półkrokowe, rodzaj wybiera się zworką.
Nie wiem, czy to sprawdzi się w praktyce, ale wpadłem na pomysł jak wyeliminować gubienie kroków (generowanych przyciśnięć). W praktyce odkłócanie przycisków może czasem wymagać stabilnego stanu przez ok. 50ms. To sporo, a stanowczo za dużo, jeśli szybko pokręcimy enkoderem. Rozwiązałem to tak, że generator "kliknięcia" przyciskiem ma stały czas impulsu, procesor zlicza ilość kroków wygenerowanych enkoderem, a potem wyklika sobie w odpowienim tempie tą ilość tak, aby docelowy układ zarejestrował wszystkie.
Zalety: nie gubi kroków.
Wady: przy szybkim kręceniu enkoderem kliknięcia generowane są z opóźnieniem. Przy średnich i wolnych tempach nie ma problemu.

Przy tak niskich cenach mikrokontrolerów można pokusić się o system rozproszony z niewielkimi modułami, które przeznaczone są do pojedynczych zadań i wykonują je dobrze, wyjścia są zunifikowane i kompatybilne z modułem centralnym. Będą też łatwiejsze do użycia dla tych bez dużego zaplecza elektronicznego.
To chyba nie ostatni modulik na Tiny25. Niestety procesor jest za mały, żeby go użyć w środowisku Arduino. Potrzebny będzie programator do AVR (np. USBasp).