fiz uma sketch a partir do zero mas só tenho um encoder  velho para testar.

gostaria que algum amigo testasse e desse sua opinião! 

/*INICIO DA SKETCH*/

byte encA = 3; //pino A encoder
byte encB = 4; //pino B encoder
byte ledvd = 8;
byte ledvm = 9;
bool auxA,auxB;
int cont = 0;
bool flag = 0;

void setup() {
pinMode(encA,INPUT);
pinMode(encB,INPUT);
pinMode(ledvd,OUTPUT);
pinMode(ledvm,OUTPUT);
Serial.begin(9600);
Serial.flush();
}

void loop() {
digitalWrite(ledvd,0);
digitalWrite(ledvm,0);
auxA = digitalRead(encA);
auxB = digitalRead(encB);

if(flag == 1){
if((auxA == 0) && (auxB == 1)){
cont--;
if(cont < 0)
cont = 0;
digitalWrite(ledvd,1);
Serial.println(cont);
}

if((auxA == 1) && (auxB == 0)){
cont++;
if(cont > 99)
cont = 99;
digitalWrite(ledvm,1);
Serial.println(cont);
}
}
else
flag = 0;

if((auxA == 1) && (auxB == 1)){
flag = 1;
delay(5);
}
else
flag = 0;
}

Exibições: 546

Anexos

Responder esta

Respostas a este tópico

Você tem mouses antigos ou com defeito?

Sabia que dentro de alguns mouses, existe um encoder no disco de rolagem de página ?

bacana, sou tecnico em eletrônica e só tenho sucata, o encoder que estou usando da foto retirei de um aparelho de som, limpei, mas de vez em quando ele conta um para traz, por isso pedi que alguem que tivesse um novo testasse a sketch para eu saber se o problema era o meu encoder ou a sketch ! obrigado pela dica!

Olá,

Mas não é isso mesmo que o sketch faz? Conta até 99 incrementado, e depois 99 decrementando?

Abs.

isso, mas o foco aqui é verificar se ele faz a leitora do encoder corretamente, se da para melhorar, se não haverá falhas, a contagem é lúdica.  

Entendi,

Não tenho encoder aqui, mas deu pra fazer uma simulação gambiarra no Proteus com seu code, rsrs.

https://www.youtube.com/watch?v=noXtEC7nSz0

Abs.

legal, valeu pela força!!! :)

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço