Цитата:
Сообщение от ВладимирC
Кнопки подключаю к Arduino Pro micro
Благодаря lti1 получилось следующее:
Совмещенный скетч:
Код:
int ACC = 4;
int Hub = 5;
int Hall = 6;
int flagACC = 0;
unsigned long pauseTime = 0;
int analogPin=A0;
int data;
int data1 = 0;
int flag = 0;
unsigned long eventTime = 0;
void setup()
{
pinMode(ACC, INPUT);
pinMode(Hub, OUTPUT);
pinMode(Hall, OUTPUT);
Serial.begin(9600);
digitalWrite(analogPin, HIGH);
}
void loop()
{
if (digitalRead(ACC)== HIGH && flagACC == 0)
{
digitalWrite(Hub, HIGH);
pauseTime = millis();
flagACC = 1;
}
if (millis()-pauseTime>=2000 && flagACC == 1) // пауза 2 секунды
{
digitalWrite(Hall, HIGH);
pauseTime = 0;
}
if (digitalRead(ACC)== LOW && flagACC == 1)
{
digitalWrite(Hall, LOW);
pauseTime = millis();
flagACC = 0;
}
if (millis()-pauseTime>=600000 && flagACC == 0) // пауза 10 минут
{
digitalWrite(Hub, LOW);
pauseTime = 0;
}
data=analogRead(analogPin);
if(data>=950 && data1 != 0 && flag <= 1)
{
Serial.print("<release:");
Serial.print(data1);
Serial.print(">");
data1 = 0;
flag = 0;
delay(10);
}
if(data>=950)
{
eventTime = millis();
}
if(data<=949 && flag != 13 && millis()-eventTime>=50 && millis()-eventTime<=800)
{
flag = 2;
data1 = data;
}
if(data>=950 && flag == 2)
{
Serial.print("<click:");
Serial.print(data1);
Serial.print(">");
flag = 0;
delay(10);
}
if(data<=949 && flag == 2 && millis()-eventTime>800)
{
Serial.print("<hold:");
Serial.print(data);
Serial.print(">");
data1 = data;
flag = 1;
delay(10);
}
}
|
опиши пожалуйста работу скетча! как работают кнопки на руле и вкл/выкл ардуино очень понравилась задумка но разобраться не получается!

у меня ардуино леонардо скейч на кнопки такой образец
Цитата:
int analogPin=0;
int data;
void setup()
{
Keyboard.begin();
Serial.begin(9600);
}
void loop()
{
data=analogRead(analogPin); //читаем значение нажатой кнопки
Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта
/*поддерживаемые коды управляющих клавиш
http://arduino.cc/en/Reference/KeyboardModifiers*/
if (data>=315 && data<=345) // приглушение звука
{
Remote.mute();
Remote.clear();
}
if (data>=420 && data<=460) // воспроизведение / пауза
{
Remote.play_pause();
Remote.clear();
}
delay(100);
}
|
хочу добавить в него еще включение и выключение!
поможешь????