Skip to content

marco88cappelli/ENCODER

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ENCODER

#Questa libreria semplifica l'utilizzo dell'ENCODER.

La libreria all'evento di rotazione in avanti, idietro o pressione dell'ENCODER esegue 3 funzioni passate come puntatori. la firma delle funzioni è la seguente:

typedef void(*funzione)();

per cui avremo 3 funzioni: 1- Incremento; 2- Decremento; 3- Pulsante;

le funzioni della libreria sono le seguenti: 1- void begin(int PIN_INCREMENTO, int PIN_DECREMENTO, int PIN_PULSANTE, funzione funIn, funzione funDec, funzione funPull = NULL, bool pullUpI = true , bool pullUpD = true, bool pullUpP = true, bool inversione = true); 2- void controll_Encoder(); 3- void controll_Button();

La 1° funzione deve essere insetrita all'interno del setup e serve per inizializzare l'oggetto ENCODER, infatti definisce:

  • int PIN_INCREMENTO -> Rappresenta il PIN CLK dell'ENCODER
  • int PIN_DECREMENTO -> Rappresenta il PIN DX dell'ENCODER
  • int PIN_PULSANTE -> Rappresenta il PIN SW sempre dell'ENCODER.
  • funzione funIn -> funzione che viene eseguita quando si rileva la rotazione in senzo orario
  • funzione funDec -> funzione che viene eseguita quando si rileva la rotazione in senzo anti orario
  • funzione funPull -> funzione che viene eseguita alla pressione dello switch dell'ENCODER, di default è dichiarata NULL
  • pullUpI,pullUpD,pullUpP -> servono ad indicare se i pin CLK BX SW sono PullUp o meno. di default è TRUE
  • bool inversione = true -> serve ad invertire l'incremento dal decremento

Le ultime 2 funzioni servono per intercettare gli stati dell'ENCODER e attivare le rispettive funzioni.

Questa libreria per intercettare la rotazione dell'ENCODER non utilizza gli interrupt, per cui può capitare che su codici di grandi dimensioni possa saltare qualche passo.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages