Цитата:
Сообщение от TransF
Помогите пожалуйста, дописать кусок скетча для переключения треков.
|
Второй
энкодер подключается к D10 и D16, так же с резисторами и конденсаторами:
PHP код:
void setup() {
PCICR=1<<PCIE0;
PCMSK0=(1<<PCINT5)|(1<<PCINT4)|(1<<PCINT2)|(1<<PCINT6);
pinMode (9,INPUT);
pinMode (8,INPUT);
pinMode (16,INPUT);
pinMode (10,INPUT);
Keyboard.begin();
}
void loop() {
}
ISR (PCINT0_vect){
static byte old_n=PINB&B01110100;
byte new_n=PINB&B01110100;
if ((old_n & B00110000) == 32 && (new_n & B00110000) == 48 || (old_n & B00110000) == 16 && (new_n & B00110000) == 0) {
Remote.increase();
Remote.clear();
}
if ((old_n & B00110000) == 16 && (new_n & B00110000) == 48 || (old_n & B00110000) == 32 && (new_n & B00110000) == 0) {
Remote.decrease();
Remote.clear();
}
if ((old_n & B01000100) == 64 && (new_n & B01000100) == 68 || (old_n & B01000100) == 4 && (new_n & B01000100) == 0) {
Remote.next();
Remote.clear();
}
if ((old_n & B01000100) == 4 && (new_n & B01000100) == 68 || (old_n & B01000100) == 64 && (new_n & B01000100) == 0) {
Remote.previous();
Remote.clear();
}
old_n= new_n;
}