Re: Управление рулевыми кнопками при помощи Carduino.
Код для этой схемы, передрал отсюда http://www.compcar.ru/forum/showpost...&postcount=227 и адаптировал под свою задачу
Код:
// Функция проверки нажатия рулевой кнопки
// Возвращает false если кнопка не была нажата
// и true если нажата
// ButtonName принимает значения в зависимости от нажатой кнопки +, -, >, R=>>|, L=|<<, S=SRC, X=None
boolean WheelButonPush_IsPushed()
{
bool result;
result=false;
unsigned long buttonVal;
buttonVal=0;
ButtonName='X';
res_d = analogRead(WheelButtonsPin);
if( res_d < LIMIT) res_d = LIMIT;
delay(10);
res_dt1 = analogRead(WheelButtonsPin);
old_time = millis();
math_time = 0;
while(math_time < 200)
{
real_time = millis();
math_time = real_time - old_time;
res_dt1 = analogRead(WheelButtonsPin);
if(res_dt1 < res_d-LIMIT || res_dt1 > res_d+LIMIT)break;
}
if( math_time > 70)
{
buttonVal=res_d;
ButtonName='X';
// Serial.println (res_d);
if ((buttonVal>25) && (buttonVal<45))
{
ButtonName='-'; //35-36
result=true;
}
if ((buttonVal>60) && (buttonVal<85))
{
ButtonName='+'; //72-73
result=true;
}
if ((buttonVal>110) && (buttonVal<135))
{
ButtonName='S'; //122
result=true;
}
if ((buttonVal>175) && (buttonVal<200))
{
ButtonName='R'; //187
result=true;
}
if ((buttonVal>275) && (buttonVal<295))
{
ButtonName='L'; //285
result=true;
}
if ((buttonVal>415) && (buttonVal<440))
{
ButtonName='>'; //429
result=true;
}
if ((buttonVal>645) && (buttonVal<670))
{
ButtonName='X'; //658-659
result=false;
}
buttonVal=0;
}
return result;
}
Re: Управление рулевыми кнопками при помощи Carduino.
Подскажите плз, собрал также, работает нормально, но где-то через минут 20 толи подвисает, толи еще чтото потом через пол минуты отпускает и опять нормально работает. куда нужно копать?
собрал на ардуине нано v3
Re: Управление рулевыми кнопками при помощи Carduino.
Возможно ардуиной проблемы? попробуй другие скетчи
Re: Управление рулевыми кнопками при помощи Carduino.
дома на 7ке работает. в машине на XP пишет FT_Open - Device not found
в чем может быть проблемка?
и еще в 7ке определяется как carmonitor joystik
а в ХР просто USB serial port (COM15)
Re: Управление рулевыми кнопками при помощи Carduino.
Попробуй драйвер переустановить
Re: Управление рулевыми кнопками при помощи Carduino.
kadushkin
не компилица твой код:confused:
Re: Управление рулевыми кнопками при помощи Carduino.
Небольшой "трикс" для владельцев ардуин без специального "кнопочного" входа.
PORTC - это очень хитрый порт :D
В часть его встроены внутренние "подтяжки". Что открывает чуть больший простор для творчества.Конкретно, ноги A0-A5.
Ниже схема и код, который без проблем снимает значения рулевых кнопок Киа Соренто с ноги А1.
http://img-fotki.yandex.ru/get/6523/...8a7_cb0c1c24_L
PHP код:
//v_down=167
//v_up=124
//preset=235
//seek=25
//mode=67
void setup() {
Serial.begin(9600);
PORTC |= B00000010; //вот это самая главная строчка для корректной работы АЦП (нога А1) для А2 это будет выглядеть так PORTC |= B00000100;
}
void loop() {
Serial.print(analogRead(1));
Serial.print('\n');
delay(100);
}
Если где было, прошу сильно не пинать :)
Также, имейте в виду, что внутренней подтяжки может не хватить для конкретной резистивной матрицы, тогда придется подбирать делитель самостоятельно и ставить внешние резисторы.
Re: Управление рулевыми кнопками при помощи Carduino.
Подскажите пож, на первых 25 страницах не нашел...
На какой максимальный номинал резистора можно настроить это решение?
Дело в том, что я хочу привернуть морду, где кнопки исходно не резистивные (каждая с транзисторным ключом), но в принципе нормально замыкаются, просто разбег в зав-ти от силы нажатия слишком большой, на сотни Ом.
Хочется пустить эти кнопки через разные доп сопротивления, и, учитывая указанную погрешность, речь будет идти о кОмах, чтобы не было пересечений.
Всего 8 кнопок, соотв будет грубо говоря так - 1кОм, 2, 3... 8 + к каждому 50-600 Ом добавится при нажатии.
Re: Управление рулевыми кнопками при помощи Carduino.
Помогите пож. Carduino v7, Win7, собрал по схеме с первой страницы.
Hkey_config не реагирует на подключаемые ко входу сопротивления, 0 постоянно.
Немогу вкурить, как ставить "Driver_CDM20814_WHQL_Certified". Пытался "обновить" драйвера для устройства, подсунув эту папку - не выходит. Как эту хрень ставить?
В устройствах и принтерах - "CarDuino Nano V.7". В стандартном компиляторе скетч "blink" успешно работает, т.е. девайс вроде бы рабочий.
Re: Управление рулевыми кнопками при помощи Carduino.
Цитата:
Hkey_config не реагирует на подключаемые ко входу сопротивления, 0 постоянно.
Значит вход закорочен на GND
Цитата:
В устройствах и принтерах - "CarDuino Nano V.7". В стандартном компиляторе скетч "blink" успешно работает, т.е. девайс вроде бы рабочий.
Если все работает, то драйвер устанавливать не нужно