TransF, ну наверное потому, что в loop добавлять нужно,
чтиво.
PHP код:
int analogPin=0;
int data;
void setup() {
PCICR=1<<PCIE0;
PCMSK0=(1<<PCINT5)|(1<<PCINT4);
pinMode (7,INPUT_PULLUP);
pinMode (8,INPUT);
pinMode (9,INPUT);
attachInterrupt(4, key_mute, FALLING);
Keyboard.begin();
Serial.begin(9600);
}
void loop() {
data=analogRead(analogPin); //читаем значение нажатой кнопки
Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта
/*поддерживаемые коды управляющих клавиш
http://arduino.cc/en/Reference/KeyboardModifiers*/
if (data==614) Keyboard.write(176); //ENTER
if (data==122) Keyboard.write(216); //стрелка влево
if (data==165) Keyboard.write(215); //стрелка вправо
if (data==216) Keyboard.write(218); //стрелка вверх
if (data==276) Keyboard.write(217); //стрелка вниз
if (data>=38 && data<=35) // приглушение звука
{
Remote.mute();
Remote.clear();
}
if (data>=58 && data<=65) // воспроизведение / пауза
{
Remote.play_pause();
Remote.clear();
}
}
ISR (PCINT0_vect){
static byte old_n=PINB&B00110000;
byte new_n=PINB&B00110000;
if (old_n==32&&new_n==48||old_n==16&&new_n==0) {
Remote.increase();
delay(10);
Remote.clear();}
if (old_n==16&&new_n==48||old_n==32&&new_n==0) {
Remote.decrease();
delay(10);
Remote.clear();}
old_n= new_n;
}
void key_mute() {
Remote.mute();
delay(10);
Remote.clear();}
И зачем delay(100); в конце цикла?
P.S.
Это не мой скетч, я его только подправил.