PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Дополнительные устройства

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2014, 07:38   #251
Artemka181
Новый Пользователь
 
Регистрация: 06.02.2009
Возраст: 43
Регион: 66, 96
Машина: 1984 nissan laurel
Сообщений: 23
Artemka181 is on a distinguished road
По умолчанию

Делаю так как написано, все проходит но как USB hid не определяется. В андройде не работает тоже.
Artemka181 вне форума   Ответить с цитированием
Старый 09.08.2014, 20:08   #252
Chubaka885
Старший Пользователь
 
Регистрация: 08.10.2013
Возраст: 41
Регион: 56
Машина: Toyota Corolla e150
Сообщений: 325
Chubaka885 is a jewel in the roughChubaka885 is a jewel in the roughChubaka885 is a jewel in the roughChubaka885 is a jewel in the rough
По умолчанию

Помню где то на форуме было решение одновременной работы андройд клавиатуры при подключенной внешней. Кто нибудь даст ссылку?
Поиском найти не могу.

з.ы решение не установкой APK а изменением кода в прошивке.
Chubaka885 вне форума   Ответить с цитированием
Старый 11.08.2014, 14:08   #253
SpawnUA
Пользователь
 
Регистрация: 17.10.2009
Возраст: 48
Регион: Украина
Сообщений: 44
SpawnUA is on a distinguished road
По умолчанию

Одновременное использование экранной и внешней клавы возможно, если поставить Smart Keyboard - там можно настроить чтобы показывалась и экранная клава.
SpawnUA вне форума   Ответить с цитированием
Старый 02.09.2014, 21:57   #254
Chubaka885
Старший Пользователь
 
Регистрация: 08.10.2013
Возраст: 41
Регион: 56
Машина: Toyota Corolla e150
Сообщений: 325
Chubaka885 is a jewel in the roughChubaka885 is a jewel in the roughChubaka885 is a jewel in the roughChubaka885 is a jewel in the rough
По умолчанию

Цитата:
Сообщение от SpawnUA Посмотреть сообщение
Одновременное использование экранной и внешней клавы возможно, если поставить Smart Keyboard - там можно настроить чтобы показывалась и экранная клава.
Спасибо!, но я хотел без установки APK. Видел что можно где что то прописать, а гле видел не помню.
Chubaka885 вне форума   Ответить с цитированием
Старый 05.09.2014, 21:05   #255
Artemka181
Новый Пользователь
 
Регистрация: 06.02.2009
Возраст: 43
Регион: 66, 96
Машина: 1984 nissan laurel
Сообщений: 23
Artemka181 is on a distinguished road
По умолчанию

Приветствую. Приобрел ардуино леонардо. Заливаю скетч кнопки работают. Коды кнопокподобрал. Но вот данный скетч не работает.Планшет на него не реагирует хотя как устройство ввода определил. Что могу делать не так ?
Набор резестивных кнопок подключен к А0
Цитата:
// Для рулевых кнопок
uint8_t buf[8] = {
0 };

// реле питания звуковой карты
#define relePin4 11

// Задержки между нажатиями конкретных кнопок, миллисекунды
#define KEY_CH_VOL_MINUS_DELAY (200)
#define KEY_CH_VOL_PLUS_DELAY (200)
#define KEY_CH_PAUSE_DELAY (200)
#define KEY_CH_PREV_TRACK_DELAY (400)
#define KEY_CH_FORW_TRACK_DELAY (400)
#define KEY_CH_TAB_DELAY (200)
#define KEY_CH_ESC_DELAY (200)
#define KEY_CH_AUDIO_OFF_DELAY (400)
#define KEY_CH_PLUS_DELAY (200)
#define KEY_MODE_DELAY (200)
#define KEY_MODE_DELAY (200)
#define KEY_MODE_DELAY (200)
#define KEY_MODE_DELAY (200)

// Значения кнопок значение "1500" свободные кнопки, если у вас больше 6 кнопок, можете использовать прописав свои значения
#define KEY_CH_VOL_MINUS (540)
#define KEY_CH_VOL_PLUS (337)
#define KEY_CH_PAUSE (1500)
#define KEY_CH_PREV_TRACK (500)
#define KEY_CH_FORW_TRACK (251)
#define KEY_CH_TAB (484)
#define KEY_CH_ESC (217)
#define KEY_CH_AUDIO_OFF (1500)
#define KEY_CH_PLUS (1500)
#define KEY_CH_MINUS (1500)


// Погрешность при чтении кнопок
#define KEY_DELTA (10)

// Коды кнопок, что отсылаем в порт внешней проге, 0 пустое значение при добавлении кнопок больше 6-ти, пропишите коды желаемых кнопок
#define CH_VOL_MINUS (81)
#define CH_VOL_PLUS (82)
#define CH_PAUSE (0)
#define CH_PREV_TRACK (80)
#define CH_FORW_TRACK (79)
#define CH_TAB (72)
#define CH_ESC (74)
#define CH_AUDIO_OFF (0)
#define CH_PLUS (0)
#define CH_MINUS (0)
#define NONE (0)

// Кнопки
#define ACCPin 2 // через делитель к ACC // в моем случае к питанию uno 5в
#define ControlPin A1 // через делитель к +12В // в моем случае к питанию uno 5в
#define relePin1 8 // реле разрыва OTG 5 контакт
#define relePin2 9 // реле датчика хола
#define relePin3 10 // реле активации усилителей
#define ONHUB 1000 // время включения реле HUB
#define ONTablet 4000 // время включения планшета
#define ONAudio 9000 // время включения аудио
#define OFFHUB 8000 // время выключения реле HUB---//моем случае не используется, контролируется реле задержкой К0
#define OFFTablet 3000 // время выключения планшета //в моем случае не используется, контролируется реле задержкой К0
#define OFFAudio 10 // время выключения аудио // в моем случае не используется, контролируется реле задержкой К0

unsigned long LastTimeKeyPressed = millis();
unsigned long duration, millisold, off = 0;
boolean stateACC, relestate1, relestate2,relestate3,relestate4 = 0;
int LastKeyPressed = NONE;
int flag = 1;
int flag2 = 0;
void setup()
{
Serial.begin(9600);
pinMode(relePin1, OUTPUT);
pinMode(relePin2, OUTPUT);
pinMode(relePin3, OUTPUT);
pinMode(relePin4, OUTPUT);
}
void loop()
{
ReadSteering();
Knopki();
delay(10);
}
// Читает рулевые кнопки и пишет в порт код нажатой кнопки
void ReadSteering()
{
pinMode(relePin4, OUTPUT);
digitalWrite(relePin4,flag );
unsigned long TimeKeyPressed;
int KeyPressed = NONE;
int dt1 = analogRead(A0);
delay(10);
Serial.println(dt1); // Раскомментировать для вывода и обозначения значения кнопок в монитор
int dt2 = analogRead(A0);
//Serial.println(dt2);
if (abs(dt1-dt2)<=490 and dt1<1024 ) //если нет дребезга и что-то есть
{
// Регистрируем время нажатия кнопки
TimeKeyPressed = millis(); //получить реальное время

//CH_VOL_MINUS
if ( (dt1-KEY_DELTA <= KEY_CH_VOL_MINUS) and (dt1+KEY_DELTA >= KEY_CH_VOL_MINUS) )
{
if ( (LastKeyPressed != CH_VOL_MINUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_VOL_MINUS_DELAY))
{
LastKeyPressed = CH_VOL_MINUS;
buf[2] = CH_VOL_MINUS;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_VOL_PLUS
else if ( (dt1-KEY_DELTA <= KEY_CH_VOL_PLUS) and (dt1+KEY_DELTA >=KEY_CH_VOL_PLUS) )
{
if ( (LastKeyPressed != CH_VOL_PLUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_VOL_PLUS_DELAY) )
{
LastKeyPressed = CH_VOL_PLUS;
buf[2]=CH_VOL_PLUS;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_PAUSE
else if ( (dt1-KEY_DELTA <= KEY_CH_PAUSE) and (dt1+KEY_DELTA >=KEY_CH_PAUSE) )
{
if ( (LastKeyPressed != CH_PAUSE) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_PAUSE_DELAY) )
{
LastKeyPressed = CH_PAUSE;
buf[2]=CH_PAUSE;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_PREV_TRACK
else if ( (dt1-KEY_DELTA <= KEY_CH_PREV_TRACK) and (dt1+KEY_DELTA >=KEY_CH_PREV_TRACK) )
{
if ( (LastKeyPressed != CH_PREV_TRACK) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_PREV_TRACK_DELAY) )
{
LastKeyPressed = CH_PREV_TRACK;
buf[2]=CH_PREV_TRACK;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_FORW_TRACK
else if ( (dt1-KEY_DELTA <= KEY_CH_FORW_TRACK) and (dt1+KEY_DELTA >=KEY_CH_FORW_TRACK) )
{
if ( (LastKeyPressed != CH_FORW_TRACK) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_FORW_TRACK_DELAY) )
{
LastKeyPressed = CH_FORW_TRACK;
buf[2]=CH_FORW_TRACK;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_TAB
else if ( (dt1-KEY_DELTA <= KEY_CH_TAB) and (dt1+KEY_DELTA >=KEY_CH_TAB) )
{
if ( (LastKeyPressed != CH_TAB) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_TAB_DELAY) )
{
LastKeyPressed = CH_TAB;
buf[2]=CH_TAB;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_ESC
else if ( (dt1-KEY_DELTA <= KEY_CH_ESC) and (dt1+KEY_DELTA >=KEY_CH_ESC) )
{
if ( (LastKeyPressed != CH_ESC) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_ESC_DELAY) )
{
LastKeyPressed = CH_ESC;
buf[2]=CH_ESC;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_AUDIO_OFF
else if ( (dt1-KEY_DELTA <= KEY_CH_AUDIO_OFF) and (dt1+KEY_DELTA >=KEY_CH_AUDIO_OFF) )
{
if ( (LastKeyPressed != CH_AUDIO_OFF) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_AUDIO_OFF_DELAY)&& flag==1)
{
digitalWrite(relePin4, flag2);
flag = 0;
flag2 = 1;
}
else if ( (LastKeyPressed != CH_AUDIO_OFF) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_AUDIO_OFF_DELAY)&& flag==0)
{
digitalWrite(relePin4, flag2);
flag = 1;
flag2 = 0;
}
LastKeyPressed = CH_AUDIO_OFF;
LastTimeKeyPressed = TimeKeyPressed;
releaseKey();
}

//CH_PLUS
else if ( (dt1-KEY_DELTA <= KEY_CH_PLUS) and (dt1+KEY_DELTA >=KEY_CH_PLUS) )
{
if ( (LastKeyPressed != CH_PLUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_PLUS_DELAY) )
{
LastKeyPressed = CH_PLUS;
buf[2]=CH_MINUS;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_PLUS
else if ( (dt1-KEY_DELTA <= KEY_CH_PLUS) and (dt1+KEY_DELTA >=KEY_CH_PLUS) )
{
if ( (LastKeyPressed != CH_PLUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_PLUS_DELAY) )
{
LastKeyPressed = CH_PLUS;
buf[2]=CH_MINUS;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_PLUS
else if ( (dt1-KEY_DELTA <= KEY_CH_PLUS) and (dt1+KEY_DELTA >=KEY_CH_PLUS) )
{
if ( (LastKeyPressed != CH_PLUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_PLUS_DELAY) )
{
LastKeyPressed = CH_PLUS;
buf[2]=CH_MINUS;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_PLUS
else if ( (dt1-KEY_DELTA <= KEY_CH_PLUS) and (dt1+KEY_DELTA >=KEY_CH_PLUS) )
{
if ( (LastKeyPressed != CH_PLUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_PLUS_DELAY) )
{
LastKeyPressed = CH_PLUS;
buf[2]=CH_MINUS;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
//CH_PLUS
else if ( (dt1-KEY_DELTA <= KEY_CH_PLUS) and (dt1+KEY_DELTA >=KEY_CH_PLUS) )
{
if ( (LastKeyPressed != CH_PLUS) or (abs(TimeKeyPressed-LastTimeKeyPressed) >= KEY_CH_PLUS_DELAY) )
{
LastKeyPressed = CH_PLUS;
buf[2]=CH_MINUS;
LastTimeKeyPressed = TimeKeyPressed;
Serial.write(buf, 8);
releaseKey();
}
}
}
}

void releaseKey()
{
buf[0] = 0;
buf[2] = 0;
Serial.write(buf, 8); // Release key
}

void Knopki()
{
if (digitalRead(ACCPin)&&!stateACC) {
stateACC=1;
duration = millis();
}
if (!digitalRead(ACCPin)&&stateACC) {
stateACC=0;
off = millis();
}
if(digitalRead(ACCPin) && stateACC && millis ()-duration > ONHUB){
digitalWrite(relePin1, HIGH);
relestate1 = 1;
millisold = millis();
}
if(digitalRead(ACCPin) && stateACC && millis ()-duration > ONTablet){
digitalWrite(relePin2, HIGH);
relestate2 = 1;
millisold = millis();
}
if(digitalRead(ACCPin) && stateACC && millis ()-duration > ONAudio){
digitalWrite(relePin3, HIGH);
relestate3 = 1;
millisold = millis();
}
if(!digitalRead(ACCPin) && !stateACC && millis () -off> OFFHUB){
digitalWrite(relePin1, LOW);
relestate1 = 0;
millisold = millis();
}
if(!digitalRead(ACCPin) && !stateACC && millis () -off > OFFTablet){
digitalWrite(relePin2, LOW);
relestate2 = 0;
millisold = millis();
}
if(!digitalRead(ACCPin) && !stateACC && millis () -off > OFFAudio){
digitalWrite(relePin3, LOW);
relestate3 = 0;
millisold = millis();
}
}
Artemka181 вне форума   Ответить с цитированием
Старый 05.09.2014, 22:23   #256
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Artemka181 Посмотреть сообщение
Приветствую. Приобрел ардуино леонардо. Заливаю скетч кнопки работают. Коды кнопокподобрал. Но вот данный скетч не работает.Планшет на него не реагирует хотя как устройство ввода определил. Что могу делать не так ?
Набор резестивных кнопок подключен к А0
А чем этот скетч не понравился?
lti1 вне форума   Ответить с цитированием
Старый 06.09.2014, 19:04   #257
Artemka181
Новый Пользователь
 
Регистрация: 06.02.2009
Возраст: 43
Регион: 66, 96
Машина: 1984 nissan laurel
Сообщений: 23
Artemka181 is on a distinguished road
По умолчанию

Цитата:
Сообщение от lti1 Посмотреть сообщение
А чем этот скетч не понравился?
Хотелось питанием планшета поуправлять
Artemka181 вне форума   Ответить с цитированием
Старый 07.09.2014, 02:18   #258
Daniel
Старший Пользователь
 
Аватар для Daniel
 
Регистрация: 13.11.2013
Возраст: 42
Город: Самара
Регион: 63, 163
Машина: Hyundai Elantra J4, Suzuki SX4
Сообщений: 632
Daniel has a reputation beyond reputeDaniel has a reputation beyond reputeDaniel has a reputation beyond reputeDaniel has a reputation beyond reputeDaniel has a reputation beyond reputeDaniel has a reputation beyond reputeDaniel has a reputation beyond reputeDaniel has a reputation beyond reputeDaniel has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Artemka181 Посмотреть сообщение
Хотелось питанием планшета поуправлять
Питание питанием, управляй на здоровье, но чтобы планшет принимал нажатия кнопок, как клавиатурные, нужно их посылать не в serial, а как в скетче выше, через remote или Keyboard. Это же леонардо, все уже реализовано.
Daniel вне форума   Ответить с цитированием
Старый 07.09.2014, 17:42   #259
Artemka181
Новый Пользователь
 
Регистрация: 06.02.2009
Возраст: 43
Регион: 66, 96
Машина: 1984 nissan laurel
Сообщений: 23
Artemka181 is on a distinguished road
По умолчанию

Цитата:
Сообщение от Daniel Посмотреть сообщение
Питание питанием, управляй на здоровье, но чтобы планшет принимал нажатия кнопок, как клавиатурные, нужно их посылать не в serial, а как в скетче выше, через remote или Keyboard. Это же леонардо, все уже реализовано.
Понял. Спасибо
Artemka181 вне форума   Ответить с цитированием
Старый 18.10.2014, 20:58   #260
ВладимирC
Старший Пользователь
 
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
ВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от Chubaka885 Посмотреть сообщение
Готовый скетч для резестивных кнопок, любезно предоставленный lti1 за что ему огромное спасибо. Для работы требуются модифицированные USBAPI.h, HID.cpp. Скачать вложение с поста #182.
Скетч работает на arduino pro micro, arduino leonardo.

Алгоритм:
Кнопки громкости.
Одиночное нажатие - прибавление/убавление на одну единицу.
Удержание - прибавление/убавление до отпускания.

Кнопки следующий/предидущий трек
Одно нажатие - следующий/предидущий трек
Удержание - перемотка

Кнопка mode
первое нажатие - отсылается нажатие ALT и два раза TAB. Каждое следующее нажатие, если не истекло 800 мили сек. отсылает один раз TAB, ALT остаётся нажатым.
Удержание - плей/пауза.

Код:
int analogPin=6;    //пин для подключения кнопок
int data;
unsigned long flag = 0;
unsigned long eventTime = 0;
unsigned long pauseMillis = 0;

void setup()
{
Keyboard.begin();
}

void loop()
{
  data=analogRead(analogPin); //читаем значение нажатой кнопки
  
//********************** Громкость ************************************

  if(data>=950 && flag == 0) // все кнопки отпущены
   {
    eventTime=millis();
   }

  if(millis()-eventTime>10 && millis()-eventTime<499 && data>=210 && data<=230 && flag == 0) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499)
   { 
    Remote.increase();
    flag = 5;
    delay(10);
    Remote.clear();
   }

  if(millis()-eventTime>500 && data>=210 && data<=230 && flag == 5 || data>=210 && data<=230 && flag == 3) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500)
   { 
    Remote.increase(); // действие после удержание кнопки, Увеличить громкость каждые 0,1 секунды
    flag = 3;
    Remote.clear();
    delay(100);
   }

  if(millis()-eventTime>10 && millis()-eventTime<499 && data>=457 && data<=477 && flag == 0) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499)
   { 
    Remote.decrease();
    flag = 6;
    delay(10);
    Remote.clear();
   }

  if(millis()-eventTime>500 && data>=457 && data<=477 && flag == 6 || data>=457 && data<=477 && flag == 3) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500)
   { 
    Remote.decrease(); // действие после удержание кнопки, Уменьшить громкость каждые 0,1 секунды
    flag = 3;
    Remote.clear();
    delay(100);
   }
   
//********************** AltTab + Play/pause ************************************    

if(millis()-eventTime>10 && millis()-eventTime<499 && data>=567 && data<=587) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499)
   { 
    flag = 1;
   }

  if(data>=950 && flag == 1 && pauseMillis == 0) // действие после короткого нажатия кнопки, Alt+Tab
   {
    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>=950 && flag == 1 && pauseMillis != 0) // действие после короткого повторного нажатия кнопки, Alt+Tab
   {
    Keyboard.press(KEY_TAB);
    Keyboard.release(KEY_TAB);
    flag = 0;
    pauseMillis = millis();
   }
   
  if(pauseMillis && millis()-pauseMillis >= 800 && data>=950) // && flag == 7 && data>=950)
  {
    flag = 0;
    pauseMillis = 0;
    Keyboard.releaseAll();
  }
   
  if(millis()-eventTime>500 && data>=567 && data<=587 && flag == 1) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500)
   { 
    Remote.play_pause(); // действие после удержание кнопки, воспроизведение / пауза
    flag = 0;
    delay(10);
    Remote.clear();
   }
//********************** Next и Fast Forward ************************************    
    
  if(millis()-eventTime>10 && millis()-eventTime<499 && data>=0 && data<=10) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499)
   { 
    flag = 2;
   }
   
  if(data>=950 && flag == 2) // действие после короткого нажатия кнопки, Next
   {
    Remote.next();
    flag = 0;
    delay(10);
    Remote.clear();
   }

  if(millis()-eventTime>500 && data>=0 && data<=10 && flag == 2 || data>=0 && data<=10 && flag == 3) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500)
   { 
    Remote.forward(); // действие после удержание кнопки, Fast Forward
    flag = 3;
    Remote.clear();
    delay(100);
   }
//********************** Previous и Rewind ************************************    
    
  if(millis()-eventTime>10 && millis()-eventTime<499 && data>=74 && data<=94) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499)
   { 
    flag = 4;
   }
   
  if(data>=950 && flag == 4) // действие после короткого нажатия кнопки, Previous
   {
    Remote.previous();
    flag = 0;
    delay(10);
    Remote.clear();
   }

  if(millis()-eventTime>500 && data>=74 && data<=94 && flag == 4 || data>=74 && data<=94 && flag == 3) // удержание кнопки от 500 до ? миллисекунд (изменяется здесь millis()-eventTime>500)
   { 
    Remote.rewind(); // действие после удержание кнопки, Rewind
    flag = 3;
    Remote.clear();
    delay(100);
   }
   
  if(data>=950 && flag == 3 || data>=950 && flag == 5 || data>=950 && flag == 6) // действие после отпускания кнопки
   {
    flag = 0;
   }   
}
Подскажи, плиз, это готовый скетч, т.е. я заливаю, компилирую и все должно работать? Я пытаюсь, но мне кучу ошибок выдает, файлы менял.
ВладимирC вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 22 (пользователей: 0 , гостей: 22)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 21:49.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot