Тогда пиши подробнее, какие кнопки, как подключал и т.п. Учти, что скетч под кнопки цивика написан (их там 5 штук)
Вид для печати
У меня на руле как раз 5 кнопок и есть! Устройство куплено в кармониторе, подключал как Chip велел в теме.
Настраивал так - залил скетч от Chip`a запустил программу настройки понажимал кнопки, записал значения получилость 510 770 0 255 и 701.
Прописал эти значения в твой скетч, прошил запустил монитор.
Вижу реакцию на нажатие Vol+ (510) и CH+ (0) на остальные кнопки не реагирует.
Вопрос - что должно быть видно в мониторе? Я вижу прёт "У" с фиговиной как у "Й" если я нажимаю CH+ и "в" с такой же фигней, когда Vol+. При нажатии на другие кнопки молчит как рыба об лёд...
Думаю не правильно определяются значения кнопок. Может они не совпадают у тебя и Chip`a.
Вадим
Похоже на то.
Чтобы получить значения кнопок нужно в моем скетче раскомментарить строчки 126-128:
Потом запускаешь Serial monitor и смотришь чо там пишется при нажатии кнопок. Берешь среднее между первой и второй цифрой (обычно они равные).Цитата:
Serial.print(dt1,DEC);
Serial.print(" ");
Serial.println(dt2,DEC);
Как кнопки определишь - не забудь закоментарить обратно эти три строчки :)
Сделал как ты велел!
Сериал монитор реагирует на нажатия но вместо чисел в десятичном виде выдает символы в абракадабре!!!
А штатно нет его еще со времен Висты....
Придется поставить!
Пост #142, автор Hamster...
Вообще странно,
должен именно в десятичном выводить!Цитата:
Serial.print(dt1,DEC);
Сегодня плотно разбирался с устройством...
ЧУДЕСА!!!
Вдруг всё заработало и прошивка стала выдавать коды и сериал монитор их правильно показывать.
Похоже таки ардуина попалась капризная и не каждая попытка ее прошить завершается успешно. Только так могу объяснить эти чудеса с неработавшими скетчами и вдруг заработавшими...
Единственно запускал гипертерминал. Может он дал пенделя операционке и она стала работать с портом... не знаю.
Теперь о грустном. Не наботает скрипт для автохоткея.
Если запускаю его из отдельной директории в которой только он и commg.dll, то просто ничего не происходит. Запускается и ничего не видит. А если кладу оба файла в директорию с автоноткеем, то он повисает и закрыть можно только из диспетчера задач.
Предположение - не работает связь с ком-портом. Либо надо длл-ку куда-то класть в другое место либо она сама глючная либо ошибка в скетче.
А прошивка из шапки заработала?
Я побоялся перепрошивать...
dll достаточно, чтобы лежала там где скрипт. Скрипт по умолчанию работает с com8, к сожалению обработку ошибок при некорректном подключении к порту я не делал - там не все так тривиально, функция инициализации порта не всегда корректно работает.
Но, скрипт и прошивка рабочие :)
Так может я на это "некорректно" и попал...
и кстати, пожалуйста объясните логику этого цикла
Loop ; Ждем нажатия кнопки на руле
{
s := DllCall("commg.dll\GetByte","Cdecl str")
If s=255
{
; d := DllCall("commg.dll\GetByte","Cdecl str")
; d1 := DllCall("commg.dll\GetByte","Cdecl str")
; SteeringKey := d1*255+d
SteeringKey := DllCall("commg.dll\GetByte")
Break
}
почему мы берем байт, а не число которое выдает скетч???
Потому что другой функции в dll нету :) А вообще, по сути скетч выдает именно байт, от 1 до 5.
И вообще, понятие "число" несколько некорректно. Это может быть как реальное значение (chr(1)), а может быть код кнопки 1 (chr(49)). Разные интерпретаторы могут по разному понимать и пихать эту инфу в порт.
Loop ; Ждем нажатия кнопки на руле
{
s := DllCall("commg.dll\GetByte","Cdecl str") ; Ждем "стартовый" байт, он должен быть chr(255)
If s=255
{
SteeringKey := DllCall("commg.dll\GetByte") ; читаем второй байт, в нем должен быть код кнопки (Chr(1) - Chr(5))
Break
}
Почитал соседнюю тему.... Хм...
У меня кардуина подключена через USB хаб с доп. питанием от компа.
Может всё дело в этом:confused:
Разбирать панель лениво... а похоже придется!
По-моему - пофиг как подключена. Может только влиять на значения кнопок (+-сколько-то)...
Tvi.Dubna подскажите пожалуйста как вы запитали Arduino от внешнего источника.
Спасибо.
хаб у него запитан от внешнего источника
помогите, подключаю carduino, и похоже сгорает на нём контроллер (после подключения к машине, он больше не шьётся "stk500_getsynk not in sync"... лечится перепайкой контроллера)
подключаю я 2 провода от рулевых кнопок (не паял ещё то что есть на схеме)
обязательно ли паять то что есть на схеме?
резистор обязательно , а конденсатор не нужен
спасиб, уже всё впаял, работает, сам дурак.
Ситуация такая. На руле 5ть кнопок, все на одной плате. Но мне нужно что бы 3и из них переключались между штатной ГУ и компом через реле, две всегда работали на штатной ГУ. Я решил перерезать дорожки по красным линиям и провести эти две кнопки отдельно до головы.
Вложение 10034
Плата не моя но у меня аналогичная только со светодиодами.
Непонятно что делать с резистором R6? поставить того же наминала или нет? Кондер тоже ставить в новую цепь?
В итоге видится както так
Вложение 10035
Или землю тоже комутировать через реле?
Просьба не пинать. :) Я в этом не очень разбираюсь поэтому наверняка допустил кучу ошибок. Или может я вообще как дикарь со своими реле и есть другой нормальный способ.
Вызвони на ГУ землю и можешь ее соединить с GND Carduino, без всякой коммутации
Понял, в остальном соидет?
чтобы можно было рулить кнопками "сруля" как тебе угодно, необходимо "немного" изменить логику и механику их работы :)
идея такая - аналоговый вход дуины ВСЕГДА обрабатывает нажатия кнопок.
программа обрабатывает логику... когда куда "выпускать" команды "сруля".
когда сруль нужен компу, проблем нет, кидаем код в СОМ порт, дальше не наша забота.
когда сруль нужен штатному магнитофону... на соответствующий цыфровой выход дуины подается "нолик" по дефолту они все должны стоять в "еденичке" чтобы магнитофон их "не видел".
номиналы резисторов ВОЗМОЖНО придется подобрать, а возможно, будут точно такие, как в оригинале в руле.
Доброго времени суток. По сути: материнка с усилителем соединяется по волокну (SPDIF), ардуина программируется скетчем Hamster-а и работает с помощью, любезно предоставившим им-же (за что ему огромное спасибо), скриптом автохоткея, но... работает с виндосовским звуком, т.е. управляет Громкостью винды. Регулятор звук-а SPDIF не активен (не регулируется). Как можно, если можно, подружить кнопки на руле с выходом SPDIF ?... Это в ХР, попробовал установить "Семёрку" на другой винт (там можно использовать SPDIF по умолчанию) но и тут засада: двигается ползунок автохоткея (на рис.), а регулятор звука SPDIF остается на месте... вручную - регулируется... Как быть? Весь смысл был во внедрении в авто усилителя с цифровым выходом и... вуаля, терпимс маленькое фиаско...
На всякий случай выкладываю рабочий скрипт Hamster-а, я думаю, он будет не против... ;)
Это все W7 виновата :)
Ибо тама теперь у каждой проги свой уровень громкости.
Я в автохоткее использую функцию SoundSet. Ща не готов утверждать, но возможно в автохоткее есть и другие функции, особенно после выхода W7. В частности для SPDIF.
Попоробую поискать.
Нашел почти сразу :) Естессно на писикаре :)
http://www.pccar.ru/showpost.php?p=116811&postcount=76
Я думаю достаточно первого пункта.
Перевожу, если не понятно на англицком - в свойствах программы autohotkey.exe (правая кнопка мыши, свойства) закладка "Совместимость"
ставим чекбокс "Запустить эту программу в режиме совместимости" и выбираем Windows XP сервиспак3.
Да, если скрипт компилил в EXE то надо тоже самое сделать с ним :)
Цифровая регулировка звука - зло ;)
....ещё вот http://forums.fluxmedia.net/78450-post10.html нашёл, но не знаю, как прикрутить...
Chip, подскажи почему может не работать: сопротивление 2.2кОм все подключено как написано, HotKey показывает значения ну например 80 и 40(еще 60 и 20) прописал 174 175 коды но звук не изменяется писал 38, 40 мышь не двигается
По ходу проблема http://www.compcar.ru/forum/showpost...&postcount=188 никого не интересовала... только красные карты лепить, да адреса дешёвых магазинов банить.... форум кнчно полезный... но только если с поиском работать............. по ходу chip-dead ("умер", раз не отвечает). Лепите ещё одну красную карту..... только смысл... идиотизм...
Да по ходу... легче в личку общаться, чем дожидаться ответа от "семейства" ... ((((. Решу проблему, выложу, как решил... всё равно не без
помощи HAMSTER-a (хотя б какая- нить реакция была б)
Чё такой тупИк?.... я уж ФФФсё,,,,,,, поШти перепробовал ((((.. горю, даж Руслана подключил.... Чё,мля, опять на аналог переходить... - не хочу...
Выложи конфиг , я проверю
Еще попробуй убери строчку "limit=5"
Она должна быть в конце конфига