Encoder-FLProg.
Un encoder è un dispositivo per convertire posizioni angolari o movimenti lineari in un segnale digitale, cioè un encoder è un sensore angolare o di spostamento lineare, di conseguenza esistono encoder torsionali e lineari. Esistono varie tipologie di encoder con numeri di step variabili e meccanismi interni differenti.
Il principio di funzionamento dell'encoder è quello di convertire il movimento meccanico in segnali elettrici.
Per un encoder rotativo incrementale convenzionale, che prenderemo in considerazione, questo segnale è costituito da due segnali quadrati (con rotazione uniforme), sfasati di 90 gradi. (Figura 1).

Figura 1
Gli encoder rotativi incrementali sono disponibili in due configurazioni:
- Encoder incrementali a canale singolo.
- Encoder incrementali a doppio canale (quadratura).
Il modulo encoder è collegato in modo molto semplice: alimentazione (GND e VCC), pin logici CLK, DT (pin di segnale dell'encoder) e SW (pin del pulsante) a qualsiasi pin di Arduino. Per i moduli rotondi (il miglior modulo con encoder Figura 2), i pin dell'encoder sono etichettati come S1 e S2 e il pin del pulsante è etichettato Key, sono collegati esattamente allo stesso modo. La "direzione" del suo funzionamento dipende dall'ordine in cui sono collegati i pin CLK, DT dell'encoder.

Figura 2
Per i moduli encoder, le uscite del segnale CLK, DT
e le uscite dei pulsanti SW sono collegate a resistori pull-up. Il modulo rotondo è dotato anche di circuiti RC per la soppressione del rimbalzo dei contatti hardware, il KY-040 (rettangolare) ha solo resistori pull-up.
Se è necessario utilizzare un encoder "nudo" per il proprio progetto, si consiglia di collegare resistori pull-up e circuiti RC per i pin del segnale e il pin del pulsante (Figura 3).

Figura 3
Implementazione nel programma FLProg.