uint8_t teller = 32;
unsigned long actueleTijd;
unsigned long cyclusTijd;
const int pin_A = 2;
const int pin_B = 3;
const int SW = 4 ;
unsigned char encoder_A;
unsigned char encoder_B;
unsigned char encoder_A_vorige = 0;
void setup() {
pinMode(pin_A, INPUT_PULLUP);
pinMode(pin_B, INPUT_PULLUP);
pinMode(SW, INPUT_PULLUP);
Serial.begin(9600);
actueleTijd = millis();
cyclusTijd = actueleTijd;
DDRB =0xFF;
}
void loop() {
actueleTijd = millis();
if(actueleTijd > (cyclusTijd + 5)){
encoder_A = digitalRead(pin_A);
encoder_B = digitalRead(pin_B);
if(!(encoder_A) && encoder_A_vorige){
if(encoder_B){
if(teller + 1 < 64){
teller = teller + 1;
Serial.println(teller);
}}
else{
if(teller-1 >= 0){
teller = teller - 1;
Serial.println(teller);
}
}
}
encoder_A_vorige = encoder_A;
if (!digitalRead(SW)) {
teller = 32;
Serial.println(teller);
delay(500);
cyclusTijd = actueleTijd;
}
}
PORTB = ~teller;
}