вроде отключено. личку не смотрели? есть мысли?
Вид для печати
Посмотрел видео.
Понял в чем проблема, с этой древней версией HotKey не будет работать
Скачайте последнюю версию HotKey
Приветствую, камрады!
Очень нужен ваш совет.
Сделал контроллер для рулевых кнопок на основе МК attiny85 с использованием софтового эмулятора vusb. Контроллер теперь прикидывается hid-устройством - обычной клавиатурой. Каждая кнопка на руле описывается прямо в прошивке скан-кодом клавиши или комбинации клавиш. Например: рулевая кнопка Mode - это Alt+Tab и т.п.
Работает это все вполне неплохо, но есть один минус: переназначить действия для кнопок можно лишь перезалив прошивку в МК. Вопрос: как бы можно было менять привязку кнопок с помощью софта на самом Carpc?
спасибо огромаднейшее. всё работает как нужно.почти счастлив...
почти,потому что нужно 5 кнопок на реле повесить...
вот этот код от старой программы,он и хоткей и с реле робил.но он на новой хоткей не работает.Цитата:
#define PIN 5 //номер аналогового порта
#define LIMIT 6 //предел погрешности сопротивления
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);
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>675 && res_dt1<685) digitalWrite(2,LOW );
delay(30);
digitalWrite(2, HIGH);
if (res_dt1>105 && res_dt1<115) digitalWrite(3,LOW );
if (res_dt1>1020 && res_dt1<1030)digitalWrite(3, HIGH);
if (res_dt1>25 && res_dt1<35) digitalWrite(4,LOW );
if (res_dt1>1020 && res_dt1<1030)digitalWrite(4, HIGH);
bytes[0] = res_dt1 & 255; // преобразовать в 2-байта
bytes[1] = (res_dt1 & 768) >> 8;
Serial.write( bytes,2); // отправить прочитаное значение компьютеру
}
}
новый скетчотлично управляет компом,при этом CF плагин своей ардуиной тоже хорошо управляет.Цитата:
//http://compcar.ru
#define PIN 5 //номер аналогового порта
#define LIMIT 10 //предел погрешности при дребезге
byte bytes[4];
unsigned long math_time,old_time,real_time, res_dt1, res_d;
void setup()
{
Serial.begin(115200);
}
void loop()
{
res_d = analogRead(PIN);
if( res_d < LIMIT) res_d = LIMIT;
delay(10);
res_dt1 = analogRead(PIN);
old_time = millis();
math_time = 0;
while(math_time < 200)
{
real_time = millis();
math_time = real_time - old_time;
res_dt1 = analogRead(PIN);
if(res_dt1 < res_d-LIMIT || res_dt1 > res_d+LIMIT)break;
}
if( math_time > 70)
{
bytes[0] = res_d & 0xFF; // преобразовать в 4-байта
bytes[1] = (res_d & 0xFF00) >> 8;
bytes[2] = (res_d & 0xFF0000) >> 16;
bytes[3] = (res_d & 0xFF000000) >> 24;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
}
но подскажите знающие,остался один шаг.
что прописать в скетче что бы 5 кнопок были и на реле..,как в верхенм скотче.сам в этом не понимаю.
Нужно значения всех Ваших кнопок прописать в условиях
если повторять с предыдущего,то так. правильно?Цитата:
//http://compcar.ru
#define PIN 5 //номер аналогового порта
#define LIMIT 10 //предел погрешности при дребезге
byte bytes[4];
unsigned long math_time,old_time,real_time, res_dt1, res_d;
void setup()
{
Serial.begin(115200);
}
void loop()
{
res_d = analogRead(PIN);
if( res_d < LIMIT) res_d = LIMIT;
delay(10);
res_dt1 = analogRead(PIN);
old_time = millis();
math_time = 0;
while(math_time < 200)
{
real_time = millis();
math_time = real_time - old_time;
res_dt1 = analogRead(PIN);
if(res_dt1 < res_d-LIMIT || res_dt1 > res_d+LIMIT)break;
}
if( math_time > 70)
{
if (res_dt1>675 && res_dt1<685) digitalWrite(2,LOW );
delay(30);
digitalWrite(2, HIGH);
if (res_dt1>105 && res_dt1<115) digitalWrite(3,LOW );
if (res_dt1>1020 && res_dt1<1030)digitalWrite(3, HIGH);
if (res_dt1>25 && res_dt1<35) digitalWrite(4,LOW );
if (res_dt1>1020 && res_dt1<1030)digitalWrite(4, HIGH);
bytes[0] = res_d & 0xFF; // преобразовать в 4-байта
bytes[1] = (res_d & 0xFF00) >> 8;
bytes[2] = (res_d & 0xFF0000) >> 16;
bytes[3] = (res_d & 0xFF000000) >> 24;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
}
Да, только если значения нажатий правильные.
еще забыл момент,без него не робит....Цитата:
//http://compcar.ru
#define PIN 5 //номер аналогового порта
#define LIMIT 10 //предел погрешности при дребезге
byte bytes[4];
unsigned long math_time,old_time,real_time, res_dt1, res_d;
void setup()
{
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
Serial.begin(115200);
}
void loop()
{
res_d = analogRead(PIN);
if( res_d < LIMIT) res_d = LIMIT;
delay(10);
res_dt1 = analogRead(PIN);
old_time = millis();
math_time = 0;
while(math_time < 200)
{
real_time = millis();
math_time = real_time - old_time;
res_dt1 = analogRead(PIN);
if(res_dt1 < res_d-LIMIT || res_dt1 > res_d+LIMIT)break;
}
if( math_time > 70)
{
if (res_dt1>675 && res_dt1<685) digitalWrite(2,LOW );
delay(30);
digitalWrite(2, HIGH);
if (res_dt1>105 && res_dt1<115) digitalWrite(3,LOW );
if (res_dt1>1020 && res_dt1<1030)digitalWrite(3, HIGH);
if (res_dt1>25 && res_dt1<35) digitalWrite(4,LOW );
if (res_dt1>1020 && res_dt1<1030)digitalWrite(4, HIGH);
bytes[0] = res_d & 0xFF; // преобразовать в 4-байта
bytes[1] = (res_d & 0xFF00) >> 8;
bytes[2] = (res_d & 0xFF0000) >> 16;
bytes[3] = (res_d & 0xFF000000) >> 24;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
}
Приветствую друзья, нужна ваша помощь, загрузил данный скетч все работает
отлично, что изменить чтобы работало 5 кнопок, а не 4
Цитата:
#define PIN 7 //номер аналогового порта
#define LIMIT 10 //предел погрешности при дребезге
byte bytes[4];
unsigned long math_time,old_time,real_time, res_dt1, res_d;
void setup()
{
Serial.begin(115200);
}
void loop()
{
res_d = analogRead(PIN);
if( res_d < LIMIT) res_d = LIMIT;
delay(10);
res_dt1 = analogRead(PIN);
old_time = millis();
math_time = 0;
while(math_time < 200)
{
real_time = millis();
math_time = real_time - old_time;
res_dt1 = analogRead(PIN);
if(res_dt1 < res_d-LIMIT || res_dt1 > res_d+LIMIT)break;
}
if( math_time > 70)
{
bytes[0] = res_d & 0xFF; // преобразовать в 4-байта
bytes[1] = (res_d & 0xFF00) >> 8;
bytes[2] = (res_d & 0xFF0000) >> 16;
bytes[3] = (res_d & 0xFF000000) >> 24;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
}
Да хоть 20 кнопок используйте, код на это не повлияет
Ясно, в чем может быть ошибка, рулевые кнопки подключены к пину а7 на ардуино нано v.7 без подтяжки, последняя версия hotkey
5 кнопка в программе выдает значения, но система ни как не реагирует
config:
Цитата:
[options]
limit=10
<868>Key1=175 />
<888>Key2=174 />
<706>Key3=176 />
<785>Key4=177 />
<808>Key5=88 />
sound=0
А что какая клавиша под кодом 88? Caps Lock?
Буква "х" в анг. раскладке клавиатуры, горячая кнопка винамп, задавал и другие коды для эксперимента
и менял местами в config все равно последняя пятая клавиша не работает :(
А не подскажете код клавиши play/pause или (play/stop) с мультимедийной клавиатуры.
А предел погрешности какой?
Предел погрешности 10
В блокноте проверяли? Попробуйте в блокноте печатать букыу "х"
Пробовал печатать, и переназначал на другие клавиши, не хочет работать
Попробуйте вот так
Цитата:
[options]
limit=10
<868>Key1=175 />
<888>Key2=174 />
<706>Key3=176 />
<785>Key4=177 />
<808>Key5=88 />
Спасибо, но не помогло, на другом компе тоже самое
Все может быть, буду смотреть
Вместо HotKey запустил прогу ALL_IN_ONE с таким config
Так вот стало все работать, только с большими тормозами и периодически падает яркость монитора,Цитата:
<868>Key1=175 />
<888>Key2=174 />
<706>Key3=176 />
<785>Key4=177 />
<808>Key5=179 />
сама по себе и при нажатии кнопок:(
Все заработало ура:) поставил hotkey старой версии
Да так делал
Установил ардуино в машину, ну вот блин при включении габаритов на заведённой машине
кнопки перестают реагировать, очень редко срабатывают, габариты выключаешь работают как часы
Hyundai i30 2009, есть подсветка
Спасибо, буду разбираться
Подключил плату с кнопками с отключенной подсветкой к рулю работает, включаю габариты кнопки опять не работают,
также подключал к разъему после рулевой катушки с включёнными габаритами плату с кнопками тогда работает,
выходит дело в катушке, что в ней может быть, магнитное поле какое-то, может разобрать катушку и кинуть экранированный
кабель, или к ардуино схему подключения изменить, посоветуйте люди разбирающиеся.
купил вот такой http://www.ebay.com/itm/121267662255
я так понимаю это не то что надо? хочу еще использовать UART встроенный чтобы подключить gps
Контроллер подойдет, только для подключения к ПК придется конвертер USB докупить
для прошивки или вообще? там же есть usb
В Pro Mini нет USB
CP2101 пойдет?
Линия DTR выведена ?
выведу, не проблема