Скетч для двухпроводных кнопок руля
			 
			 
			
		
		
		
		Прошу помощи. 
Нужно подправить скетч . Рулевые кнопки двухпроводные. 
Скетч сделан для входов А0 и А1 , сейчас А0 на плате не работает. Нужно подправить под А2 вход. 
Плата  Леонардо. 
 
 
//****************** Здесь необходимо указать свои значения ***************  
 
int analogPin=0; // пин для подключения кнопок A0  
int analogPin1=1; // пин для подключения кнопок A1 
 
int release_button = 931; // значение при отпущенных кнопках  
int button_release_range = 20; // диапазон значения + - при отпущенных кнопках  
int button_range = 5; // диапазон значения нажатых кнопок + -  
int time_holding = 500; // время для удержания кнопок в миллисекундах  
int time_tinkling = 10; // время исключающее дребезг контактов в миллисекундах  
int vol_up = 91; // значение кнопки увеличить громкость  
int vol_down = 242; // значение кнопки уменьшить громкость  
int alt_tab = 0; // значение кнопки которая будет работать как Alt + Tab  
int next = 0; // значение кнопки которая будет работать как Next при коротком нажатии и Fast Forward при удержании  
int previous = 31; // значение кнопки которая будет работать как Previous при коротком нажатии и Rewind при удержании  
int play_pause = 0; // значение кнопки которая будет работать как Play/Pause при коротком нажатии и Mute при удержании data1 
 
//************************************************** ************************  
 
int data;  
int data1;  
unsigned long flag = 0;  
unsigned long eventTime = 0;  
unsigned long pauseMillis = 0;  
 
void setup()  
{  
Keyboard.begin();  
}  
 
void loop()  
{  
data=analogRead(analogPin);  
data1=analogRead(analogPin1); 
if(data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 0)  
{  
eventTime=millis();  
}  
 
if(data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 0)  
{  
eventTime=millis();  
}  
 
//********************** Громкость ************************************  
 
if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && data >= vol_up - button_range && data <= vol_up + button_range && flag == 0)  
{  
Remote.increase();  
flag = 5;  
delay(10);  
Remote.clear();  
}  
 
if(millis()-eventTime>time_holding && data >= vol_up - button_range && data <= vol_up + button_range && flag == 5 || data >= vol_up - button_range && data <= vol_up + button_range && flag && flag == 3)  
{  
Remote.increase();  
flag = 3;  
Remote.clear();  
delay(100);  
}  
 
if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && data >= vol_down - button_range && data <= vol_down + button_range && flag == 0)  
{  
Remote.decrease();  
flag = 6;  
delay(10);  
Remote.clear();  
}  
 
if(millis()-eventTime>time_holding && data >= vol_down - button_range && data <= vol_down + button_range && flag == 6 || data >= vol_down - button_range && data <= vol_down + button_range && flag == 3)  
{  
Remote.decrease();  
flag = 3;  
Remote.clear();  
delay(100);  
}  
 
//********************** AltTab + Ещё что то ************************************  
 
if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && data >= alt_tab - button_range && data <= alt_tab + button_range)  
{  
flag = 1;  
}  
 
if(data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 1 && pauseMillis == 0)  
{  
Keyboard.press(KEY_LEFT_ALT);  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
flag = 0;  
pauseMillis = millis();  
}  
 
if(data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 1 && pauseMillis != 0)  
{  
Keyboard.press(KEY_TAB);  
Keyboard.release(KEY_TAB);  
flag = 0;  
pauseMillis = millis();  
}  
 
if(pauseMillis && millis()-pauseMillis >= 1500 && data>=release_button - button_release_range && data<=release_button + button_release_range)  
{  
flag = 0;  
pauseMillis = 0;  
Keyboard.releaseAll();  
}  
 
if(millis()-eventTime>time_holding && data >= alt_tab - button_range && data <= alt_tab + button_range && flag == 1)  
{  
flag = 0;  
}  
//********************** Next и Fast Forward ************************************  
 
if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && data >= next - button_range && data <= next + button_range)  
{  
flag = 2;  
}  
 
if(data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 2)  
{  
Remote.next();  
flag = 0;  
delay(10);  
Remote.clear();  
}  
 
if(millis()-eventTime>time_holding && data >= next - button_range && data <= next + button_range && flag == 2 || data >= next - button_range && data <= next + button_range && flag == 3)  
{  
Remote.forward();  
flag = 3;  
Remote.clear();  
delay(100);  
}  
//********************** Previous и Rewind ************************************  
 
if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && data >= previous - button_range && data <= previous + button_range)  
{  
flag = 4;  
}  
 
if(data>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 4)  
{  
Remote.previous();  
flag = 0;  
delay(10);  
Remote.clear();  
}  
 
if(millis()-eventTime>time_holding && data1 >= previous - button_range && data <= previous + button_range && flag == 4 || data >= previous - button_range && data <= previous + button_range && flag == 3)  
{  
Remote.rewind();  
flag = 3;  
Remote.clear();  
delay(100);  
}  
 
//********************** Play/pause + Mute ************************************  
 
if(millis()-time_tinkling && millis()-eventTime<time_holding-1 && data1 >= play_pause - button_range && data1 <= play_pause + button_range)  
{  
flag = 7;  
}  
 
if(data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 7)  
{  
Remote.play_pause();  
flag = 0;  
delay(10);  
Remote.clear();  
}  
 
if(millis()-eventTime>time_holding && data1 >= play_pause - button_range && data1 <= play_pause + button_range && flag == 7)  
{  
Remote.mute();  
flag = 0;  
delay(10);  
Remote.clear();  
}  
if(data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 3 || data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 5 || data>=release_button - button_release_range && data<=release_button + button_release_range && flag == 6)  
 
if(data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 3 || data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 5 || data1>=release_button - button_release_range && data1<=release_button + button_release_range && flag == 6)  
{  
flag = 0;  
} 
		
	
		
		
		
		
		
	
	 |