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;
}
Tags:
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!!! :)
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por