Показать сообщение отдельно
Старый 24.09.2015, 23:20   #11
<<МиТяЙ>>
Новый Пользователь
 
Регистрация: 24.12.2012
Возраст: 37
Город: Кстово
Регион: 52
Машина: Лада Калина
Сообщений: 25
<<МиТяЙ>> is on a distinguished road
По умолчанию

Код HTML:
int val; 
 int encoder0PinA = 3;
 int encoder0PinB = 4;
 int encoder0PinC = 5;
 int encoder0PinD = 6;
 int encoder0Pos = 0;
 int encoder0PinALast = LOW;
 int encoder0PinCLast = LOW;
 int n = LOW;
 int d = LOW;

 void setup() { 
   pinMode (encoder0PinA,INPUT);
   pinMode (encoder0PinB,INPUT);
   pinMode (encoder0PinC,INPUT);
   pinMode (encoder0PinD,INPUT);
   pinMode (8,INPUT_PULLUP);
   attachInterrupt(4, key_mute, FALLING); 
   Serial.begin (9600);
 } 
 
//  энкодер.1 - обработка звука
 void loop() { 
   n = digitalRead(encoder0PinA);
   d = digitalRead(encoder0PinC);
   
   if ((encoder0PinALast == LOW) && (n == HIGH)) {
     if (digitalRead(encoder0PinB) == LOW) {
       Remote.increase();  
delay(50);  
Remote.clear();
     } else {
        Remote.decrease();  
delay(50);  
Remote.clear();
     }
    } 
   encoder0PinALast = n;
 
//  энкодер.2 - обработка треков 
    
   if ((encoder0PinCLast == LOW) && (d == HIGH)) {
     if (digitalRead(encoder0PinD) == LOW) {
       Remote.next();  
delay(50);  
Remote.clear();
     } else {
        Remote.previous();  
delay(50);  
Remote.clear();
     }
    } 
   encoder0PinCLast = d;
}
    
//  энкодер.2 - обработка нажатия 

 void key_mute() {         
        Remote.mute();  
        delay(100);  
        Remote.clear();}
Подскажите вот такой код для обработки 2 энкодеров можно использовать.
<<МиТяЙ>> вне форума   Ответить с цитированием