Stap 3: Hardware theorie van de operatie
Ik al eerder zei dat de schakelaar quadrature gecodeerd was. Dit is ook een van de belangrijkste elegances in deze oplossing. Dit betekent dat er een 2-bits code die de schakeloptie die geeft overeenkomt met de positie van de schakelaar. Je zou kunnen denken: "Als er een twee bits input voor de microcontroller, hoe wij vertegenwoordigen alle 16 posities?" Dat is een goede vraag. Wij vertegenwoordigen niet allemaal. We moeten alleen de relatieve posities van de knop weten, zodat we van de richting van rotatie bepalen kunnen. De absolute positie van de knop is niet relevant. Voor rechtsom draaien, de code die de schakeloptie geeft herhaalt elke vier detents en grijs gecodeerd is. Grey gecodeerd betekent dat er alleen een beetje verandering voor elke verandering van positie. In plaats van de AB ingang tellen omhoog voor rechtsom draaien in binaire uitzien: 00, 01, 10, 11, wordt gewijzigd als volgt: 00, 01, 10, 11. Merk op dat voor het laatstgenoemde patroon, is er slechts één invoer wijzigen tussen de sets. De tegen de klok in waarden voor de input van de AB de microcontroller zal er zo uitzien: 00, 01, 11, 10. Dit is gewoon het omgekeerde van het met de klok mee patroon met AB = 00 als eerste vermeld.
Neem een kijkje op de diagrammen voor een meer visuele uitleg.