Přeskočit obsah

Rotační enkodér — inicializace (encoder_init)

Co dělá: Inicializuje kvadraturní rotační enkodér (kanály A/B) s obsluhou přes přerušení, volbou směru a krokového měřítka.

encoder_init

Vstupy

  • A: pin kanálu A.
  • B: pin kanálu B.
  • reverse: obrácení směru čítání (True/False).
  • scale: velikost jednoho kroku ve výstupních jednotkách.
  • Pole index: identifikátor instance enkodéru.

Výstup

  • Žádný (příkazový blok).

Kdy použít

  • Jednou při startu programu před čtením pozice.
  • Když používáš enkodér jako knoflík pro menu, setpoint nebo krokové dávkování.

Tipy a pasti

  • Implementace používá stavový dekodér kvadratury a počítá „detenty“.
  • U mechanických enkodérů řeš zákmit kontaktů (HW filtr nebo SW stabilizace).
  • Používej vhodné pull-up/pull-down zapojení podle konkrétního enkodéru.

Příklad použití

example_encoder.png

Otevřít příklad v ESP IDE

Ukázka generovaného Python kódu

encoder1 = Encoder(Pin(34, Pin.IN), Pin(35, Pin.IN), False, 1)