Закончил, на компе всё работает, на телефоне тоже.
иду проверять на планшете в машине)
Последняя версия скетча:blush:
Код HTML:
int analogPin=0;
int data;
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();
Serial.begin(9600);
}
void loop() {
data=analogRead(analogPin); //читаем значение нажатой кнопки
Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта
if (data>=28 && data<=35) // приглушение звука
{
Remote.play_pause();
Remote.clear();
}
if (data>=58 && data<=65) // воспроизведение / пауза
{
Remote.mute();
Remote.clear();
}
delay(100);
if (data>=88 && data<=95) // ALT+TAB
{
Keyboard.press(KEY_LEFT_ALT);
Keyboard.press(KEY_TAB);
Keyboard.release(KEY_TAB);
Keyboard.press(KEY_TAB);
Keyboard.releaseAll();
}
delay(180);
if (data>=140 && data<=150) // спать
{
Remote.power();
Remote.clear();
}
}
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.previous();
Remote.clear();
}
if ((old_n & B01000100) == 4 && (new_n & B01000100) == 68 || (old_n & B01000100) == 64 && (new_n & B01000100) == 0) {
Remote.next();
Remote.clear();
}
old_n= new_n;
}
ОГРОМНОЕ спасибо всем кто помог мне в этой совсем не простой (для меня) задаче)
|