Показать сообщение отдельно
Старый 05.12.2015, 16:03   #53
TransF
Старший Пользователь
 
Регистрация: 14.06.2009
Город: Ставрополь
Регион: 26
Машина: AUDI A6 (C5) 2000г.в. V6 2.8L
Сообщений: 131
TransF is on a distinguished road
По умолчанию

Закончил, на компе всё работает, на телефоне тоже.
иду проверять на планшете в машине)
Последняя версия скетча

Код 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; 
}
ОГРОМНОЕ спасибо всем кто помог мне в этой совсем не простой (для меня) задаче)
__________________

AUDI A6 (C5) V6 2.8L
TransF вне форума   Ответить с цитированием