Дорогие друзья! Помогите решить следующую проблему.
Имеем штатные рулевые кнопки на резистивной матрице, которая подключена к арудуине. Имеем скетч:
define PIN 7 //номер аналогового порта
#define LIMIT 6 //предел погрешности сопротивления
int knopka_trg=0;
byte bytes[2];
int res_dt1;
unsigned long math_time,old_time,real_time;
void setup()
{
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
Serial.begin(115200); // настроить скорость com порта
}
void loop()
{
old_time = real_time;
math_time = 0;
res_dt1 = analogRead(PIN); // прочитать данные АЦП
while(math_time < 300 && (analogRead(PIN)>res_dt1-LIMIT && analogRead(PIN) < res_dt1+LIMIT ))
{
real_time = millis(); //получить реальное время
math_time = real_time - old_time; //считаем длительность паузы
}
if( math_time > 80 ) //если нет дребезга
{
if (res_dt1>965 && res_dt1<975) digitalWrite(6,HIGH );// увеличиваем громкость
else { digitalWrite(6, LOW); }
if (res_dt1>980 && res_dt1<990) digitalWrite(5,HIGH ); // уменьшаем громкость
else { digitalWrite(5, LOW); }
if (res_dt1>1000 && res_dt1<1010) {
knopka_trg=1-knopka_trg;
digitalWrite(2, knopka_trg); // вкл_выкл
}
bytes[0] = res_dt1 & 255; // преобразовать в 2-байта
bytes[1] = (res_dt1 & 768) >> 8;
Serial.write( bytes,2); // отправить прочитаное значение компьютеру
}
}
Всё рабоает.
Появилась необходимость паралельного подключения джойстика СОНИ , он тоже на резистивной матрице. Значения в АЦП ардуино он даёт ес-но другие.
Вопрос - как обеденить два значения АЦП для решения одной задачи ?
Пример:
if (res_dt1>111 && res_dt1<112) digitalWrite(6,HIGH );// увеличиваем громкость
else { digitalWrite(6, LOW); }
Это при нажатии штатки.
А это при нажатии джойстика:
if (res_dt1>221 && res_dt1<222) digitalWrite(6,HIGH );// увеличиваем громкость
else { digitalWrite(6, LOW); }
Как объеденить в скетче, а то у меня не выходит ничего, работает или то, или другое, вместе не хотят![]()