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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   iCarDS (http://pccar.ru/forumdisplay.php?f=121)
-   -   iCarDS + Arduino = iCarDuino (http://pccar.ru/showthread.php?t=16718)

sergbb 28.11.2015 01:35

Цитата:

Сообщение от Lexx09 (Сообщение 344835)
RUNG - нет такой команды. Есть RUN, RUNW, RUNQ, RUNQW....

Сори промахнулся.:blush:

Спасибо, работает!

Trantor 11.02.2016 21:39

Цитата:

Сообщение от Tygra (Сообщение 327891)
Кто нибудь знает что переписать чтоб использовать прямые выходы для управления релюшками, выходов свободных у дуины еще много, регистр паять не хочется, не нужно мне столько релюшек, 2- 3 хватит с головой. Чтоб напрямую через драйвер на выход цифровой дуины.
p\s мне не лень спаять, мне не где взять данный регистр. Я живу в таком месте где нельзя пойти в магазин и тупо купить. С инета ждать 2-3 месяца.

Если еще интересно, могу подсказать как.

YraY 12.02.2016 01:07

Рассказывай, чего интриги разводишь?

Trantor 12.02.2016 11:50

В программе есть переменные, в которых хранится состояние реле, это
relays_state1,2,3,4
Вставляем в программу в программу в начало процедуры setup
pinMode(x, OUTPUT), где х - номер пина.
Далее в процедуру relay_state добавляем следующий кусок для каждого реле:
------------------------------------------------
if (relays_state1 && 0x01)==0 //проверяем наличие нулевого бита
{
digitalWrite(х, LOW); //сбрасываем выход
}
else
{
digitalWrite(х, HiGH);//устанавливаем выход
}
--------------------------------------------

для реле 2 использовать 0x02, 3 - 0x04, 4-0x08 и так далее
P.S.
Есть правда одна тонкость: Bersenev отправляет их на порт в обратном порядке (4,3,2,1), почему так - не знаю, и есть вероятность что первое реле на самом деле находится relays_state4, также возможен обратный порядок битов и тогда проверять надо (relays_state4 && 0x80) для первого реле, (relays_state4 && 0x40) для второго и так далее. Также есть вероятность

dimon722 14.02.2016 18:50

Вложений: 1
http://pccar.ru/attachment.php?attac...2&d=1333549730


может кому пригодится плата Sprint-Layout

Trantor 17.03.2016 12:09

Если путаются соседние кнопки

На входе ардуино в схеме Берсенева стоит делитель из резистора 3200 Ом (3,2К)
и резисторов кнопок 100,100+100,100+100+100 и.т.д. Ом.
Значение потенциала для аналогового входа для первой кнопки - 5В *(100/3200)=0,16В.

Напряжение меряется 10-битным АЦП, 5В соответствует значению 1023 в памяти контроллера, 0В - 0, всего 1024 градации аналогового сигнала потенциала.
В коде у нас получается для первой кнопки значение (0,16/5)*1024=34.

Для второй кнопки - 5В *(200/3200)=0,33В
в коде (0,33/5)*1024=68.

Итак, разница по коду у схемы Берсенева между значениями соседних кнопок - 34 единицы, запас на вариацию сопротивления кнопки (см ниже) - 3 единицы.
Это вполне достаточно для устойчивой селекции разных кнопок. Если у вас номиналы резисторов иные - нужно проверить по данным формулам разницу по коду
между соседними кнопками и если она меньше - можно попробовать уменьшить сопротивление резистора со значением 3,2К, но не менее, чем до 2К, это даст
увеличение разницы в полтора раза.

Если неустойчиво читаются кнопки (через раз):
Скорее всего вариация аналогового сигнала у Вас превышает заложенную по умолчанию. По-хорошем надо с этим бороться стабилизацией 5В, качественными
соединениями, экранированием проводов.

Но есть и другой, "ленивый" путь.

В программе Берсенева есть такой параметр
unsigned int res_key_delta = 3;
Как я понял, это зона нечувствительности, в которой может "плавать" измеренное значение аналогового сигнала при сравнении с запомненным значением. Можно попробовать ее аккуратно увеличить. При этом важно не превысить половину минимальной разницы между соседними сигналами кнопок в коде (описано выше).
Значительное увеличение данного параметра может привести к путанице с соседними кнопками. В общем, аккуратно увеличивать, пока проблемы не исчезнуть, реально может помочь увеличение на 2-3 единицы.
Например так:
unsigned int res_key_delta = 5;

dimon722 03.04.2016 14:58

попробовал на китайской Arduino Nano v3.0 http://ru.aliexpress.com/item/With-t...341832857.html, работает без проблем.

sergbb 08.04.2016 21:07

Иногда подвисает плагин(на пульт не реагирует и температура заввисает).
Это как то лечится?
кроме как перегрузкой икара.

Winlin 17.04.2016 13:59

А заработает ли вот такая штука Iteaduino Tiny (ATtiny 85) . Мне нужны только резистивные кнопки. Пока использую ее как эмулятор USB клавиатуры (поучаю сразу комбинацию клавиш), но иногда не подниматся после перезагрузки, надо питание передергивать. Как сом порт работает надежнее. Но не понятно как плагин с компортом общается.

~aviator~ 25.05.2016 10:41

Помогите пож. не могу приручить
в настройках порт и скорость поставил, плагин включил, но в настройках кнопок не могу прицепить динамические кнопки к кнопкам ардуино


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

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