Вход

Просмотр полной версии : iCarDS + Arduino = iCarDuino


Страницы : 1 2 [3] 4

OsDima
09.07.2013, 14:49
Попробуй в настройках скина (3-й экран) --Звуки -- отключить звук при нажатии на кнопку

Да включено, по дороге домой проверю, но к звуку я привык, неудобно будет без него.

P.S. Помогло. Я совсем забыл что у меня раньше EventGost "пикал", но сейчас его уже нет "не нужен" из-за наличия iCarDuino.
Осталось только второй монитор пристроить где-то сзади, что-бы дети могли "углубится" в фильмы, а я на "первом" мониторе с навигацией и музыкой.

напор
09.07.2013, 15:39
измени значение на другое, допустим 0x77

попробую. Но позже. Дал себе сутки на просветление мозгов:be:


Потом желательно точно определить к какому именно пину к 5-му или 7-му
А если ошибиться с пином, по идее, ничего происходить не должно. Я от этого и отталкивался, считая, что если хоть какие-то коды приходят, то пин правильный. Или я ошибаюсь?


Магнитола отключена. Лежит в сторонке.

Bersenev
09.07.2013, 17:28
А если ошибиться с пином, по идее, ничего происходить не должно. Я от этого и отталкивался, считая, что если хоть какие-то коды приходят, то пин правильный. Или я ошибаюсь?

Часто, если к пину ничего не подключено, то команда analogRead() может возвращать что угодно, если данный пин не подтянут к +5V

Bersenev
09.07.2013, 17:30
Да включено, по дороге домой проверю, но к звуку я привык, неудобно будет без него.

Отключи, что бы проверить, если из-за этого, то подумаем как решить

OsDima
10.07.2013, 05:03
Удалено

[ivi]
10.07.2013, 13:15
AlexIz, пробовал загружать скетч из твоего поста http://www.pccar.ru/showpost.php?p=260178&postcount=442 в такую же Ардуину на альтмеге 168, скетч загружается нормально, но когда на кнопки нажимаешь- ноль эмоций. По первому посту всё сделал, как доктор прописал (порт 20, скорость 115200, ножка на ардуине 5) - реакции ноль (нужны только кнопки). Прописал в duino.ini
duino_is_ir_key=0
duino_is_encoder_1=0
duino_is_encoder_2=0
duino_is_res_keys=1
в skin.ini прописывал, но после этого Икар зависал при загрузке, приходилось переустанавливать Икар... из скин.ини удалил запись. Стоит 1.7.0.33
На ЦФ ардуина работала. Диод на ардуине мигать должен?, когда на кнопки руля нажимаешь? у меня не мигает.

напор
10.07.2013, 15:51
кнопки присоединены на 7 пин. управление пока сделал через хоткей. через плагин пока не получилось. наверно пока так поезжу.

Спаибо за помощь

AlexIz
11.07.2013, 23:52
;263797']AlexIz, пробовал загружать скетч из твоего поста http://www.pccar.ru/showpost.php?p=260178&postcount=442 Диод на ардуине мигать должен?, когда на кнопки руля нажимаешь? у меня не мигает.

Посмотри ниже, там Bersenev поправил скетч, с ним всё работает нормально.
При обмене данными диодик должен мигать.

[ivi]
15.07.2013, 13:47
Bersenev, Андрей, выложите пожалуйста скетч только для кнопок. Пробовал заливать этот http://www.pccar.ru/showpost.php?p=260397&postcount=457 с изменениемДавай попробуем так, найди в скетче эти строки

if( is_temperature_sensors ) temperature_sensors(); // температурные датчики
if( is_res_keys ) res_keys(); // резестивные кнопки
и замени на эти
temperature_sensors(); // температурные датчики
res_keys(); // резестивные кнопки загрузка останавливается на строчке OneWire ds(WIRE_PIN);. Пробую удалять всё, что связано с темп. датчиками, Икар кнопки видит... но после назначения например кнопки "громкость выше" начинает громкость добавляться постоянно, без паузы до конца не нажимая на кнопку... наверное чего-то не того поудалял в скетче.... порт5, на ардуине нога 5, скорость 115200, ардуина на альтмеге168

M@troskin
16.07.2013, 10:07
Начинаем работы по поддержке Arduino в iCar DS.


Собрал я наконец icarduino, все кнопки заработали, энкодеры читаются по вращению, по нажатию кнопок энкодеров - через раз, бывает, несколько раз надо нажать. почему так?
еще одна проблема.
схема в icards как положено заработала только на рабочем компьютере - core i5, win7 64 bit, 8 gb оперативки. на том компе, который будет стоять в машине - atom 450 (intel d450t), win xp - не работает. грешу на то, что система на карписи свежепереобутая, поковыряюсь сегодня еще в ини-файлах, хотя вроде все делал по инструкции.
кстати, об инструкциях. тема по икардуино разрослась очень широко, вроде как проскакивали сообщения о неких правках скетча - но найти не смог. может, в шапке темы сигналить о выходе новых сборок икара, правках скетча? :blush:

M@troskin
17.07.2013, 07:58
схема в icards как положено заработала только на рабочем компьютере - core i5, win7 64 bit, 8 gb оперативки. на том компе, который будет стоять в машине - atom 450 (intel d450t), win xp - не работает. грешу на то, что система на карписи свежепереобутая, поковыряюсь сегодня еще в ини-файлах, хотя вроде все делал по инструкции.


эта часть вопроса снята - ошибся в портах :rolleyes2:
первая часть про кнопки энкодеров осталась - почему не всегда срабатывают?

Bersenev
17.07.2013, 08:17
первая часть про кнопки энкодеров осталась - почему не всегда срабатывают?

Возможно большой дребезг на контакте энкодера, попробуй в скетче увеличить диапазон в функциях обработки энкодеров, найди в них такие строки

if( encoder1_dt >= 0x246 && encoder1_dt <= 0x286 )

и замени на такие

if( encoder1_dt >= 0x226 && encoder1_dt <= 0x2A6 )

[ivi]
17.07.2013, 10:33
Андрей, у меня случайно не такая же ситуация с дебезгом? пост №509

Bersenev
17.07.2013, 15:20
;264274']Bersenev, Андрей, выложите пожалуйста скетч только для кнопок.

Пробуй

//
#include <EEPROM.h>

#define RES_KEY_FLAG_ 0x79 // Флаг первого запуска скетча

byte bytes[4];

//-----------------------------------------
//- входы(пины) ардуино -
//-----------------------------------------

int RES_PIN = 5 ; // аналоговый вход(пин) для резестивных(рулевых) кнопок

//-----------------------------------------
//- переменные включения функций скетча -
//-----------------------------------------
boolean is_res_keys = false;

//-----------------------------------------
//- Переменные для резестивных кнопок -
//-----------------------------------------
unsigned long res_dt = 0;
unsigned long res_dt_sum=0;
#define RES_DT_COUNT 500 // Количество считываемых данных
#define RES_DT_SKIP_COUNT 100 // Количество данных, которые надо пропустить при нажатии
#define RES_DT_POINT 6 // Точность
int res_dt_n = 0;
unsigned long res_key=0;
unsigned long res_key_old=0;
unsigned long res_key_wait_first = 500; // время ожидания после первого нажатия кнопки
unsigned long res_key_wait_next = 250; // время ожидания до следующего нажатия кнопки
unsigned long res_key_wait_millis = 0;
unsigned long res_key_millis;
unsigned long res_key_array[51][2];
unsigned int res_key_count = 0;
unsigned int res_key_delta = 5; // дельта для определения кода кнопки

void setup()
{
Serial.begin(115200);
res_key_millis = millis();

unsigned int first_run_key = EEPROM.read(0);
if ( first_run_key == RES_KEY_FLAG_ )
{
res_key_count = EEPROM.read(1);
//EEPROM.write(addr, val);
for(int i=0; i<res_key_count;i++)
{
res_key_array[i][0] = (EEPROM.read(i+2) * 256) + EEPROM.read(i+2+50) - res_key_delta; res_key_array[i][1] = res_key_array[i][0] + res_key_delta + res_key_delta;
}
}
for(int i=res_key_count; i<51;i++)
{
res_key_array[i][0] = 0xFFFFFFFF; res_key_array[i][1] = 0xFFFFFFFF;
}

}

void loop()
{
if (Serial.available() >= 1) // Проверяем наличие команд от компьютера
{
switch (Serial.read())
{

case 0x06: // включить передачу данных от резестивных кнопок
is_res_keys = true;
break;

case 0x86: // выключить передачу данных от резестивных кнопок
is_res_keys = false;
break;

case 0xAA: // выключить передачу данных от резестивных кнопок
{
while (Serial.available() < 5) {}
int i = Serial.read();
bytes[0] = Serial.read(); // преобразовать в 4-байта
bytes[1] = Serial.read();
bytes[2] = Serial.read();
bytes[3] = Serial.read();
unsigned long key_res_min = 0; key_res_min = bytes[0]; key_res_min = key_res_min * 256 + bytes[1];
unsigned long key_res_max = 0; key_res_max = bytes[2]; key_res_max = key_res_max * 256 + bytes[3];
res_key_array[i-1][0] = key_res_min;
res_key_array[i-1][1] = key_res_max;
}
break;

case 0xAB: // сбросить настройки резестивных кнопок в EEPROM
{
EEPROM.write(0,0); // сбросить флаг первого запуска
res_key_count = 0; // сбросить количество резистивных кнопок
EEPROM.write(1,0); //
for(int i=0; i<51;i++)
{
res_key_array[i][0] = 0xFFFFFFFF; res_key_array[i][1] = 0xFFFFFFFF;
}
}
break;
}
}
if( is_res_keys ) res_keys(); // резестивные кнопки
}

//----------------------------------------------------------------------------------
// Функция работы с резестивными кнопками
//----------------------------------------------------------------------------------
void res_keys()
{
{
res_dt = analogRead(RES_PIN); // прочитать данные АЦП
if( res_dt >= 0x05 && res_dt <= 0x3F0 )
{
res_dt_n++;
if( res_dt_n > RES_DT_SKIP_COUNT )
{
res_dt_sum += (res_dt << RES_DT_POINT);
if( res_dt_n == RES_DT_COUNT)
{

res_key = (res_dt_sum / (RES_DT_COUNT - RES_DT_SKIP_COUNT));
res_key = (((((( res_dt_sum / (( RES_DT_COUNT - RES_DT_SKIP_COUNT ) + (2^(RES_DT_POINT-1)-1) ) >> (RES_DT_POINT-1)) + 1) >> 1) + 1)>> 1)); // + 1) >> 1;
res_dt_sum = 0; res_dt_n = 0;
}
}
}
else
{
res_dt_sum = 0; res_dt_n = 0; res_key = 0;
res_key_wait_millis = 0;
}
}
if( res_key_millis + res_key_wait_millis*2 <= millis() ) { res_key_old = 0; }
if( res_key_millis + res_key_wait_millis <= millis() )
{
if( res_key != 0 )
{
if( ((res_key_old - res_key_delta) <= res_key) && (res_key <= (res_key_old + res_key_delta)) )
{
res_key_millis = millis(); res_key_wait_millis = res_key_wait_next;
}
else
{
res_key_millis = millis(); res_key_wait_millis = res_key_wait_first;
}

int i = 0; int exit = 0;
while( res_key_array[i][0] != 0xFFFFFFFF && exit == 0 )
{
if( (res_key_array[i][0] <= res_key) && (res_key <= res_key_array[i][1]) ) exit = 1; else i++;
}
if( exit == 1 )
{
bytes[0] = 0xAA; // преобразовать в 4-байта
bytes[1] = 0;
bytes[2] = RES_PIN;
bytes[3] = i+1;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
else
{
if( res_key_count < 50 )
{
res_key_array[res_key_count][0] = res_key - res_key_delta; res_key_array[res_key_count][1] = res_key + res_key_delta;
res_key_count++;

EEPROM.write(1, res_key_count); // Запоминаем количество кнопок
byte one_byte = res_key / 256;
EEPROM.write(res_key_count+1, one_byte ); // Запоминаем старший байт значения кнопки
one_byte = res_key - one_byte * 256;
EEPROM.write(res_key_count+1+50, one_byte ); // Запоминаем младший байт значения кнопки
EEPROM.write(0, RES_KEY_FLAG_);

bytes[0] = 0xAA; // преобразовать в 4-байта
bytes[1] = 0;
bytes[2] = RES_PIN;
bytes[3] = res_key_count;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
else
{
bytes[0] = 0xAA; // преобразовать в 4-байта
bytes[1] = 0xAA;
bytes[2] = (res_key & 0xFF00) >> 8;
bytes[3] = res_key & 0xFF;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
}
}
res_key_old = res_key;
}
}

OsDima
21.07.2013, 02:21
Как через Дуинку по ИК увести iCar в Сон. На код кнопки от iCarDuino зделать спящий режим.

Интелектуальными БП не пользуюсью. Обычное реле контроля напряжение - включается когда заведен двигатель, а выключаю по ИК.

До того как поставил iCarDuino, пользовался MCE ресивером и Evengost-ом. Засыпал комп от BAT файла.
Ресивер убрал из машины и теперь нечем уводить комп в сон, по экрану в сон тапать напрягает.

Bersenev
23.07.2013, 11:38
Как через Дуинку по ИК увести iCar в Сон. На код кнопки от iCarDuino зделать спящий режим.

Интелектуальными БП не пользуюсью. Обычное реле контроля напряжение - включается когда заведен двигатель, а выключаю по ИК.

До того как поставил iCarDuino, пользовался MCE ресивером и Evengost-ом. Засыпал комп от BAT файла.
Ресивер убрал из машины и теперь нечем уводить комп в сон, по экрану в сон тапать напрягает.

Повесь на кнопку нужную команду

CF_POWEROFF - выключить комп
CF_REBOOT - перезагрузить
CF_STANDBY - перейти в ждущий режим
CF_HIBERNATE - гибернация

OsDima
23.07.2013, 19:42
Повесь на кнопку нужную команду

CF_POWEROFF - выключить комп
CF_REBOOT - перезагрузить
CF_STANDBY - перейти в ждущий режим
CF_HIBERNATE - гибернация

Насчет команд понятно, спасибо. Но нужна не одна команда а последовательность действий. В соседней теме, здесь не буду повторятся.

OsDima
27.07.2013, 21:22
Повесь на кнопку нужную команду

CF_POWEROFF - выключить комп
CF_REBOOT - перезагрузить
CF_STANDBY - перейти в ждущий режим
CF_HIBERNATE - гибернация

Повесил на кнопку ИК ресивера команду

CF_HIBERNATE

Ноль эмоций.

У меня подключен второй сенсорный монитор. При нажатии на сенсор 2 монитора запущеное "внешнее" приложение "убегает" с первого монитора на него - "второй". На экране музыка убегает визуализация. Можно ли это както отключить.

OsDima
30.07.2013, 08:15
Скрипт при переходе в спящий режим. Запускаю в нем удаление процесса.

Можно-ли организовать задержку на переход в спящий режим можно организовать в этом скрипте. Скрипт не успевает остановить процесс. И процесс закрывается уже после просыпания CarPC.

И добавить еще один скрипт при выгрузке скина.
У меня проблемы с AutoCommService от VOBD, он не стабильно востанавливается после просыпания.

Форумчане ответь завтра в дорогу, две мелочи осталось до "комфорта"

[ivi]
04.08.2013, 17:03
Андрей, только сейчас появилась возможность отписаться по поводу скетча (твой пост№ 514). Во-первых спасибо.... Работает звук + -, Mute, след. трэк, предыд. трэк... Но предыдущ. трэк сейчас работает постоянно (как буд-то постоянно нажата кнопка предыд. трэка). По нажимаешь на кнопку сдед.трэка, трэки меняются вперёд, но потом опять всё перелистывается само на начало..... И где можно глянуть блокнот с прописанными настройками на кнопки? Хочу удалить прописанную настройку на эту кнопку (может не в скетче дело) и перенастроить заново, а то в запущенном Икаре не получается перенастроить.

Bersenev
05.08.2013, 15:08
;266152']Андрей, только сейчас появилась возможность отписаться по поводу скетча (твой пост№ 514). Во-первых спасибо.... Работает звук + -, Mute, след. трэк, предыд. трэк... Но предыдущ. трэк сейчас работает постоянно (как буд-то постоянно нажата кнопка предыд. трэка). По нажимаешь на кнопку сдед.трэка, трэки меняются вперёд, но потом опять всё перелистывается само на начало..... И где можно глянуть блокнот с прописанными настройками на кнопки? Хочу удалить прописанную настройку на эту кнопку (может не в скетче дело) и перенастроить заново, а то в запущенном Икаре не получается перенастроить.

Что то часто стали появляться случаи с "залипшей кнопкой". А какой код у залипшей кнопки?

В папке скина DuinoKey файл duino_key_command.ini

duino_<код кнопки>_command_0=команда при выключенном режиме SHIFT
duino_<код кнопки>_command_1=команда при включенном режиме SHIFT

Можешь просто удалить не нужные строки

Dj Aleks
07.08.2013, 19:58
пытаюсь залить скетч на джостик с нашего клубного магазина... библиотеки класть в librares? правильно? выбрал в arduino 1.0.5 nano 328 и 77 порт (так прописался в ком) копирую скетч, вставляю, нажимаю загрузить... выскакивает ошибка при компиляции((
In file included from C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:14:
C:\Program Files\Arduino\libraries\IRremote\/IRremoteInt.h:113: error: 'uint8_t' does not name a type
C:\Program Files\Arduino\libraries\IRremote\/IRremoteInt.h:114: error: 'uint8_t' does not name a type
C:\Program Files\Arduino\libraries\IRremote\/IRremoteInt.h:115: error: 'uint8_t' does not name a type
C:\Program Files\Arduino\libraries\IRremote\/IRremoteInt.h:118: error: 'uint8_t' does not name a type
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::mark(int)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:259: error: 'delayMicroseconds' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::space(int)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:268: error: 'delayMicroseconds' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRsend::enableIROut(int)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:288: error: 'OUTPUT' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:288: error: 'pinMode' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:289: error: 'LOW' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:289: error: 'digitalWrite' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In constructor 'IRrecv::IRrecv(int)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:306: error: 'volatile struct irparams_t' has no member named 'recvpin'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:307: error: 'volatile struct irparams_t' has no member named 'blinkflag'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRrecv::enableIRIn()':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:331: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:332: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:336: error: 'volatile struct irparams_t' has no member named 'recvpin'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:336: error: 'INPUT' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:336: error: 'pinMode' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRrecv::blink13(int)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:343: error: 'volatile struct irparams_t' has no member named 'blinkflag'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:345: error: 'OUTPUT' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:345: error: 'pinMode' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In function 'void __vector_9()':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:359: error: 'volatile struct irparams_t' has no member named 'recvpin'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:359: error: 'digitalRead' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:362: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:364: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:366: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:375: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:376: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:378: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:384: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:386: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:391: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:393: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:401: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:412: error: 'volatile struct irparams_t' has no member named 'blinkflag'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:414: error: 'B00100000' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:417: error: 'B11011111' was not declared in this scope
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRrecv::resume()':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:423: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:424: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'int IRrecv::decode(decode_results*)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:434: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:435: error: 'volatile struct irparams_t' has no member named 'rcvstate'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'long int IRrecv::decodeJVC(decode_results*)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:507: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:509: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:509: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:520: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'long int IRrecv::decodeSAMSUNG(decode_results*)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:566: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'long int IRrecv::decodeNEC(decode_results*)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:663: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:671: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'long int IRrecv::decodeSony(decode_results*)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:705: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:715: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp: In member function 'long int IRrecv::decodeRC5(decode_results*)':
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:794: error: 'volatile struct irparams_t' has no member named 'rawlen'
C:\Program Files\Arduino\libraries\IRremote\IRremote.cpp:805: error: 'volatile struct irparams_t' has no member named 'rawlen'

Dj Aleks
07.08.2013, 20:33
все разобрался... не подключалась библиотека IRremote. В ...\libraries\IRremote\IRremoteInt.h, строку 15 #include <WProgram.h> заменить на #include <Arduino.h>

Dj Aleks
07.08.2013, 20:39
но все равно не могу прошить.. проходит компиляция.. и зависает на загрузке... и может загружать и пять минут... rx часто моргает на плате..

Dj Aleks
07.08.2013, 20:42
стал давать вот эту ошибку
avrdude: stk500_getsync(): not in sync: resp=0x00

Dj Aleks
07.08.2013, 20:50
нажал вывод подробный при загрузке..
avrdude: Version 5.11, compiled on Sep 2 2011 at 19:38:36
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "C:\Arduino\hardware/tools/avr/etc/avrdude.conf"

Using Port : \\.\COM49
Using Programmer : arduino
Overriding Baud Rate : 57600
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv:
avrdude: stk500_getsync(): not in sync: resp=0x00

avrdude done. Thank you.


Я так понимаю дуина тупо не отвечает почему то мне?

Bersenev
07.08.2013, 21:01
Я так понимаю дуина тупо не отвечает почему то мне?

А у тебя перемычка, разрешающая программирование, стоит?

Dj Aleks
07.08.2013, 21:04
А у тебя перемычка, разрешающая программирование, стоит?
можно нескромный вопрос... какая??? по описанию есть один разьем и он вроде spk

Dj Aleks
07.08.2013, 21:06
уууррряяяяя спасибо, помогло!!! а на carmonitor написано что это SPK((((

M@troskin
08.08.2013, 19:21
Что то часто стали появляться случаи с "залипшей кнопкой". А какой код у залипшей кнопки?


у меня чаще всего залипает duino_AA000511 (иногда 501)

[ivi]
10.08.2013, 14:12
В общем разобрался (http://pccar.ru/showpost.php?p=266152&postcount=520), поудалял в настройках(в блокноте) все предыдущие и следующие треки, перенастроил... работает всё нормально, только иногда, при нажатии кнопки громкость +, перематывается трек.

1.Как отрегулировать дребезг?
2.Как подкорректировать время нажатия: иногда приходится долго держать, или нажимать два раза.

Murkur
18.08.2013, 00:34
Может кто подскажет и по моей проблеме? Залил скетч на Мега 2560. Подключено 2 датчика температуры и ИК-датчик. Температуру в iCar показывает и управление с пульта работает, но слышен звук, как при нажатии кнопок в iCar с частотой опроса датчика температуры. Если отключить минусовой провод от темп. датчиков или ИК - щелчки пропадают. Также щелчков нет, когда перейти в настройки или просто уйти с главного экрана, где показывается температура.

Vampire
30.08.2013, 16:50
А есть ли возможность как-то состыковать срабатывание внешних устройств в зависимости от внешних факторов, который уже обрабатываются программой? Например при попадании в зону действия POI, включать на несколько секунд реле 1, а при выходе из нее, аналогично включать реле 2.

Меня, правда, пугают все эти скрипты, которые тут постятся и сообщения о залипании кнопок, но хочется понять возможности данного фронтенда и перспективность для дальнейшего использования, как альтернативу центрифуге.

Bersenev
30.08.2013, 19:14
А есть ли возможность как-то состыковать срабатывание внешних устройств в зависимости от внешних факторов, который уже обрабатываются программой?

На данном этапе есть возможность передавать в ардуино любые данные из икара по следующим событиям

- загрузка скина
- переключение на дневную тему
- переключение на ночную тему
- выход из сна
- переход в сон
- начало движения
- закрытие скина

Если нужны ещё события, то надо немного поправить скин, а точнее файл ExecTBL.ini

Например при попадании в зону действия POI, включать на несколько секунд реле 1, а при выходе из нее, аналогично включать реле 2.

В плагинах RRPoi и iCarDuino всё необходимое для этого есть, надо только объединить этот функционал в скине, через файл ExecTBL.ini

Меня, правда, пугают все эти скрипты, которые тут постятся и сообщения о залипании кнопок

Без скетчей с ардуино работать никак не получится, а залипания кнопок это в большинстве случаев связано конкретным устройством собранном на конкретном ардуино и иногда надо немного поправить скетч именно под данное устройство, что бы всё заработало корректно.

[ivi]
31.08.2013, 09:43
;266876']...., при нажатии кнопки громкость +, перематывается трек......раз через раз перематывается трек вперёд и ещё включается MUTE. Андрей, в каких строчках нужно изменять значения (хочу "поиграться" - посмотреть, что получится). И хотелось бы время отклика кнопки изменить. http://pccar.ru/showpost.php?p=264502&postcount=514

YraY
01.09.2013, 01:46
Подскажите по подключению датчиков температуры - dallas 18b20 может работать по двух проводной линии, может можно модернизировать схему чтобы не тянуть лишние провода ?

Murkur
01.09.2013, 03:40
Подскажите по подключению датчиков температуры - dallas 18b20 может работать по двух проводной линии, может можно модернизировать схему чтобы не тянуть лишние провода ?
Нашёл схемку по двупроводному подключению через полевик: http://chipenable.ru/index.php/programming-avr/item/80-1-wire-rabota-s-ds18b20-chast-1.html
Но есть и ещё проще: http://www.radioman.su/view.php?id=40
Скажу сразу, не проверял в работе.

YraY
01.09.2013, 12:24
Спасибо, на днях проверю, при таком подключении если использовать общий бортовой сети машины то линия связи вообще может быть одно-проводная

Murkur
01.09.2013, 17:00
Спасибо, на днях проверю, при таком подключении если использовать общий бортовой сети машины то линия связи вообще может быть одно-проводная
Теоретически может быть, если хорошая земля на корпус. В таком случае и трёхпроводную схему можно использовать по двум проводам, а минус - на корпус.

Digi
03.09.2013, 15:55
Прочел тему, но что то я не нашел, как написать/исправить библиотеку (dll) для iCarDS. Дело в том, что скетч для ардуино пишу свой, так как плата управляет входами видеокамер, монитором, питанием компа, усилителями, DVR, AUX устройствами. Требуется ввести чтение/запись конфигурации режимов работы, и выбор других подрежимов. Пока что конфигурю скетч. Dll я так понял, работает только с теми переменными, которые в ней прописаны. Где найти описание работы ICar c dll и исходники от carduino ?

OsDima
04.09.2013, 19:53
Попробуй использовать вот такую функцию обработки температурных датчиков. Та что в шапке сейчас иногда глючит, так что возможно причина не в датчиках



//-----------------------------------------
//- Переменные для температурных датчиков -
//-----------------------------------------
OneWire ds(WIRE_PIN);
byte addr[8];
byte data[12];
unsigned long temperature_sensors_milles;
unsigned long temperature_sensors_wait_milles = 1000; // Интервал передачи данных от температурных датчиков
int t_status = 0;


Немного сократил лишку, зачем повторять


После замены SSD (сдох :spiteful:) и установки всего заного. Вдруг появился 4 температурный датчик, но периодически пропадает, пока не отследил почему.

P/S Больше не появляется вообще.

OsDima
09.09.2013, 20:19
Повесил на кнопку ИК ресивера команду

CF_HIBERNATE

Ноль эмоций.

У меня подключен второй сенсорный монитор. При нажатии на сенсор 2 монитора запущеное "внешнее" приложение "убегает" с первого монитора на него - "второй". На экране музыка убегает визуализация. Можно ли это както отключить.

Решил еше раз настроить на кнопку ИК пульта iCarDuino команду "CF_HIBERNATE", теперь iCar вовсе виснет наглухо по этой команде.

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

OsDima
09.09.2013, 20:37
переменная res_key_count должна быть равна 0 при загрузке скетча. Потом ей будет присвоено значение из EEPROM.

Твоя проблема скорее всего связана с низким качеством самих кнопок. Я вначале поставил тактовые кнопки и запарился с ними, они всё время возвращали разные значения. Заменил их на микроконтакты и всё сразу исправилось.

В твоём случае думаю стоит увеличить шаг сопротивлений, то есть использовать не 100 Ом, а 200 или 300. И увеличить переменную unsigned int res_key_delta = 3; с 3-х, до 5-ти, а может и до 6-ти или 7-ми.

Но прежде чем заливать новый скетч поменяй это значение

#define RES_KEY_FLAG_ 0x76 // Флаг первого запуска скетча

с 0x76 на другое значение, допустим 0x77. Тогда скетч будет считать что это его первый запуск и сотрёт из EEPROM все ранее запомненые значения

Заменил резисторы на 200 Ом. Кнопок у меня 18 шт. Чем ближе к концу цепочки тем хуже стабильность распознования. Или всетаки придется поставить микроконтакты, кнопки вообще-то японские.....

Bersenev
09.09.2013, 20:51
Писал ранее: Вычислил что теряется периодически это вот эта .... apps.ini но все равно после второй. (настройка приложений, решил ручным редактированием этого файла)
Сейчас тоже самое творится с poi.ini стоит что-нибудь поменять в "действиях или уведомлениях по местоположению" все слетает.
Помогите найти "где собака порылась"

Всё что могу посоветовать

http://www.pccar.ru/showpost.php?p=260180&postcount=131
http://www.pccar.ru/showpost.php?p=260187&postcount=133
http://www.pccar.ru/showpost.php?p=260215&postcount=142

слишком большое количество багов, я бы то же почистил реестр и переустановил икар.

OsDima
09.09.2013, 21:44
Всё что могу посоветовать

http://www.pccar.ru/showpost.php?p=260180&postcount=131
http://www.pccar.ru/showpost.php?p=260187&postcount=133
http://www.pccar.ru/showpost.php?p=260215&postcount=142

слишком большое количество багов, я бы то же почистил реестр и переустановил икар.

Теперь обнуляется poi.ini вот в этой папке C:\Users\.....\Documents\iCarDS\skins\Chameleon\GP SExec\1 .... после любого изменения уведомлений по местоположению.

Багов быть не может, система "девственна" и недели не прошло как поменял сдохший SSD

Bersenev
16.09.2013, 11:12
По моему удалось разобраться, почему у некоторых происходит, так называемое, залипание кнопки. Если схема ваших резистивных кнопок вот такая http://www.pccar.ru/showpost.php?p=270477&postcount=19, то есть присутствует сопротивление после последней кнопки , замыкающее цепь.

Добавил в плагин возможность игнорировать коды генерируемые в данном случае.

Если у вас происходит такое залипание, то запоминаем этот код и в файл duino.ini добавляем такую переменную

ExcludedDuinoKeyCodes=duino_aa000501

Теперь плагин будет игнорировать этот код. Если надо игнорировать несколько кодов, то указываем все через пробел

ExcludedDuinoKeyCodes=duino_aa000501 duino_aa000503 duino_aa000504

Tygra
22.09.2013, 00:06
Доброго времени суток. Заинтересовала данная тема. В теме проскакивала возможность сделать полноценный климатконтроль, на базе сервоприводов, чтоб можно было штатные крутилки в авто, крутить средствами ардуины, соответственно реализуя функции климатконтроля. Видел еще в теме по токам на вентилятор печки, до 5ампер это не верно. Допустим на моей Мазде МПВ , максимальный ток больше 15 ампер. Проще скоростью вентилятора управлять при помощи реле, т.к. блок резисторов в машине уже установлен. Больше волнует механическая установка сервоприводов и программная оболочка для управления всем хозяйством. Ибо толку нет от всего колхоза, если его нельзя будет встроить в Icar или в любую другую оболочку.... Возможно я плохо пролистал все страницы и это уже все давно реализовано, пожалуйста не глумитесь, ткните носом...(55 страниц читать было тяжело, половина из них с кодом, скажу честно смотрел через одну )
P\S Хмм такой вопрос, не много не в тему. Зачем нужны датчики положения ? Ну наклон там по горизонту, акселерометр и т.д. ? В смысле какая от них польза на экране карпутера ? Просто я никогда не понимал практической пользы от этих данных. Встал если криво то и чувствуется что криво, а зачем знать насколько криво не понятно .... М.б. чтото не понимаю, подскажите..

M@troskin
22.09.2013, 19:30
Зачем нужны датчики положения ? Ну наклон там по горизонту, акселерометр и т.д. ? В смысле какая от них польза на экране карпутера ? Просто я никогда не понимал практической пользы от этих данных. Встал если криво то и чувствуется что криво, а зачем знать насколько криво не понятно .... М.б. чтото не понимаю, подскажите..

Это для джиперов и ползунов по горам - лишний градус крена/тангажа ведут к опрокидыванию.
ну и конечно же понты ;) - куда-то же надо девать градусы, выдаваемые акселерометром? ;)
а вот переписать икардсконфиг, чтобы он вмещался в экраны с высотой до 800 пикселей низя... ;) :tease:

UN7RT
29.09.2013, 22:55
Возможно ли подключить цифровой акселерометр ADXL345 вместо аналогового?
Как и что нужно доработать в скетче? Благодарен за ответ, программирование мне трудно даётся.

Murkur
30.09.2013, 05:58
Всем привет. Я так понял, что ардуина должна запускаться вместе с Икаром при выходе из сна, но у меня никак не хочет работать. Работает только при перезапуске самого Икара. Может кто посоветует, что нужно сделать?
Система: Win 7, iCarDs - 1.7.0.34, Ардуина - Мега 2560 подключена только по USB. К Меге подключены только 3 датчика температуры и ИК-пульт.

Bersenev
30.09.2013, 09:22
Возможно ли подключить цифровой акселерометр ADXL345 вместо аналогового?
Как и что нужно доработать в скетче? Благодарен за ответ, программирование мне трудно даётся.

Можно, но делать это придётся самому, без наличия данного акселерометра я это сделать не смогу

Bersenev
30.09.2013, 09:27
Всем привет. Я так понял, что ардуина должна запускаться вместе с Икаром при выходе из сна, но у меня никак не хочет работать. Работает только при перезапуске самого Икара. Может кто посоветует, что нужно сделать?
Система: Win 7, iCarDs - 1.7.0.34, Ардуина - Мега 2560 подключена только по USB. К Меге подключены только 3 датчика температуры и ИК-пульт.

Возможно у тебя не хватает время на инициализацию ардуино при выходе из сна.

В iCarDSConfig -- Global Vars добавь переменную

duino_wait_time=5000

По умолчанию в плагине это значение равно 5000мс ( 5 сек ), возможно в твоём случае это мало, попробуй увеличить до 10000, и если заработает, то понемногу уменьшай.

UN7RT
30.09.2013, 09:55
Можно, но делать это придётся самому, без наличия данного акселерометра я это сделать не смогу

Спасибо за ответ, я так и думал. Чтобы не плясать с бубном, заказал аналоговый ADXL 335
http://i.ebayimg.com/t/GY-61-ADXL335-3-axis-Analog-Output-Accelerometer-Module-angular-sensor-/00/s/NzAwWDcwMA==/z/SWkAAOxye9lSGxPT/$(KGrHqF,!k8FH8uNjrN9BSG)PT(wBw~~60_14.JPG
Такой будет работать?

Bersenev
30.09.2013, 10:11
Такой будет работать?

Должен, только схема подключения другая, но она ещё проще

rap_73
10.10.2013, 18:36
Добрый день. Наверное такой вопрос был, но найти не смог.
Задача такая. iCarDs 1.7.0.00. Звук через Foobar2000 по ASIO т.е кнопки регулятора громкости (те, которые внизу) не работают, и это хорошо. Далее оптика и внешний проц (на нем и регулируется громкость). Хочу чтобы кнопки громкости в iCarDs регулировали громкостью внешнего процессора, ну или хотя бы получить от них сигнал вне компа. Дальше состыкую. На проце громкость регулирует энкодер, т.е. нужно получить имитацию команд енкодера. Направьте в нужное русло пожалуйста.

Bersenev
10.10.2013, 19:22
Хочу чтобы кнопки громкости в iCarDs регулировали громкостью внешнего процессора, ну или хотя бы получить от них сигнал вне компа. Дальше состыкую. На проце громкость регулирует энкодер, т.е. нужно получить имитацию команд енкодера. Направьте в нужное русло пожалуйста.

Если речь о выводе каких либо данных в ардуино при нажатии кнопок громкости. То надо стравить iCarDS 1.7.0.33 и все обновления, в том числе и плагин iCarDuino.

Потом в файл ExecTBL.ini в папке скина добавить команды

"VOL+","duino_send;СA_01"
"VOL-","duino_send;СA_02"

Тогда при нажатии кнопки громкость+ в ардуино уйдёт два байта CA и 01 , а при нажатии громкости- CA и 02. Дальше уже дело за скетчем. Коды приведены для примера отправляй какие тебе нравятся и в количестве, которое тебе нужно, разделяя каждый байт символом "_"

rap_73
16.10.2013, 19:17
Если речь о выводе каких либо данных в ардуино при нажатии кнопок громкости. То надо стравить iCarDS 1.7.0.33 и все обновления, в том числе и плагин iCarDuino.

Спасибо, с ардуино понятно, почитал, надо вникать глубже. Возможностей много, но может есть вариант по проще, без программирования, мне проще спаять что-то. Надо: "нажал гр.+" сработало одно реле "+", "нажал гр.-" сработало другое реле "-".

Bersenev
16.10.2013, 19:53
=Спасибо, с ардуино понятно, почитал, надо вникать глубже. Возможностей много, но может есть вариант по проще, без программирования, мне проще спаять что-то. Надо: "нажал гр.+" сработало одно реле "+", "нажал гр.-" сработало другое реле "-".

Тогда берёшь ардуино, заливаешь в него скетч из шапки , мой блок реле к нему и делаешь такие команды

"VOL+","duino_relay_1_press"
"VOL-","duino_relay_2_press"

На первое реле цепляешь громкость+, а на второе громкость-.

Murkur
23.10.2013, 16:43
Привет, Андрей (Bersenev). Подскажи, пожалуйста, как по схеме iCarDuino подключить вместо механического оптический энкодер? Дело в том, что там не один, а два выхода: линия 1, линия 2 и к этому ещё плюс, минус и кнопка нажатия.
Я подключал сам экодер с этой библиотекой http://www.pjrc.com/teensy/td_libs_Encoder.html
И такой скетч.

#include <Encoder.h>

// Change these two numbers to the pins connected to your encoder.
// Best Performance: both pins have interrupt capability
// Good Performance: only the first pin has interrupt capability
// Low Performance: neither pin has interrupt capability
Encoder myEnc(2, 3);
// avoid using pins with LEDs attached

void setup() {
Serial.begin(9600);
Serial.println("Basic Encoder Test:");
}

long oldPosition = -999;

void loop() {
long newPosition = myEnc.read();
if (newPosition != oldPosition) {
oldPosition = newPosition;
Serial.println(newPosition);
}
}

Работает экодер самостоятельно нормально, без сбоев и ошибок. При повороте вправо в Мониторе порта выдаёт положительные значения, при повороте влево - отрицательные, но как этот скетч присоединить в скетчу iCarDuino никак не пойму.

Dj Aleks
31.10.2013, 17:38
Подскажите плиз(((( сегодня поставил наконец то... только без разных датчиков, чисто резестивные кнопки... все сделал по инструкции... когда перешел на кнопку настройки клавиш... стал нажимать поочередно кнопки и назначать действия... заметил что те которые уже были тоже срабатывали... например нажимаю громкость больше мне срабатывала то что по умолчанию было например яркость выше и автоматом добавлялась новая строка в которой назначил громкость. так вот теперь она иногда тупит по некоторым кнопкам... как удалить те которые уже были, я так понимаю это они сбивают иногда т.к. назначено 2 действия сразу на одну кнопку?

holywillie
01.11.2013, 14:54
Андрей, подскажите как быть сжег JoyStick в который загрузил ваш код. все работало. купил не JoyStick а Arduino Nano7. нужно ли до загрузки кода что то еще проделать с Arduino? я имею ввиду порты, скорости назначение пинов. или без спецзнаний я это не сделаю? Или проще купить еще JoyStick?

все сделал. спасибо

Murkur
01.11.2013, 15:38
Андрей, подскажите как быть сжег JoyStick в который загрузил ваш код. все работало. купил не JoyStick а Arduino Nano7. нужно ли до загрузки кода что то еще проделать с Arduino? я имею ввиду порты, скорости назначение пинов. или без спецзнаний я это не сделаю? Или проще купить еще JoyStick?

Особых спец знаний не нужно, просто можно почитать, как поставить драйвера и программу, через которую будешь загружать скетч.

holywillie
01.11.2013, 19:28
[удалил все сделал. спасибо

Murkur
01.11.2013, 19:44
ну а как прописать 20 порт и скорость обмена? скетч я заливал но в кармониторовский джойстик в котором 20 порт уже был выбран

Первый пост перечитайте , там написано про порт и скорость обмена.

holywillie
01.11.2013, 20:02
удалил все сделал. спасибо

Dj Aleks
02.11.2013, 12:45
Подскажите плиз(((( сегодня поставил наконец то... только без разных датчиков, чисто резестивные кнопки... все сделал по инструкции... когда перешел на кнопку настройки клавиш... стал нажимать поочередно кнопки и назначать действия... заметил что те которые уже были тоже срабатывали... например нажимаю громкость больше мне срабатывала то что по умолчанию было например яркость выше и автоматом добавлялась новая строка в которой назначил громкость. так вот теперь она иногда тупит по некоторым кнопкам... как удалить те которые уже были, я так понимаю это они сбивают иногда т.к. назначено 2 действия сразу на одну кнопку?
а по моему вопросу подскажет кто?

Murkur
02.11.2013, 13:15
а по моему вопросу подскажет кто?
А собрал точно с такими сопротивлениями как на схеме из первого поста? Если сопротивления немного отличаются, тогда и скетч править нужно, так как значения могут перекрываться и, соответственно, на одно нажатие будет два значения.

Dj Aleks
02.11.2013, 13:51
А собрал точно с такими сопротивлениями как на схеме из первого поста? Если сопротивления немного отличаются, тогда и скетч править нужно, так как значения могут перекрываться и, соответственно, на одно нажатие будет два значения.
нет не с такими... был распаян пульт давно на другие сопротивления под pioneer... а это что так сыграет роль? может как можно удалить старые значения?

Murkur
02.11.2013, 14:47
нет не с такими... был распаян пульт давно на другие сопротивления под pioneer... а это что так сыграет роль? может как можно удалить старые значения?
Да, эти сопротивления играют большую роль, так как на их значениях и построен данный скетч. Если не думаешь заменить свои резисторы, тогда нужно в скетче изменять данные под твои значения.
Посмотри, какие именно значения у тех резисторов. Я так понял, что главное, чтобы они были одинаковые. А скетч сам уже делит общее значение на количество кнопок.

Dj Aleks
02.11.2013, 15:32
проще тогда оставить тогда кармониторовскую прошивку. там вроде все равно какие сопротивления

Bersenev
02.11.2013, 15:42
Подскажите плиз(((( сегодня поставил наконец то... только без разных датчиков, чисто резестивные кнопки... все сделал по инструкции... когда перешел на кнопку настройки клавиш... стал нажимать поочередно кнопки и назначать действия... заметил что те которые уже были тоже срабатывали... например нажимаю громкость больше мне срабатывала то что по умолчанию было например яркость выше и автоматом добавлялась новая строка в которой назначил громкость. так вот теперь она иногда тупит по некоторым кнопкам... как удалить те которые уже были, я так понимаю это они сбивают иногда т.к. назначено 2 действия сразу на одну кнопку?

Из того что здесь написано я толком ничего не понял, так что буду догадываться, что именно ты хотел написать.

Я думаю, что при нажатии на кнопку у тебя происходит дребезг, в результате одна кнопка выдаёт несколько кодов. Если я это так, то если одна кнопка выдаёт два или три кода, то можно настроить одно и тоже действие на каждый код и всё.

А что бы сбросить все настройки удали содержимое файлов duino_key_command.ini, duino_key_info.ini и duino_key_list.txt в папке DuinoKey

Bersenev
02.11.2013, 15:48
проще тогда оставить тогда кармониторовскую прошивку. там вроде все равно какие сопротивления

Для резистивных кнопок сопротивления значения не имеют. Сопротивления играют роль только для энкодеров

Dj Aleks
02.11.2013, 15:53
Из того что здесь написано я толком ничего не понял, так что буду догадываться, что именно ты хотел написать.


ладно постараюсь обьяснить еще раз... когда поставил Icar подключил дуину с прошивкой с первого поста... следую по инструкциям от туда же... ставлю галочку в 4 вкладке, перезапускаю... захожу в настройки на 4 вкладке... у меня уже добавлены какие то строки и им назначены действия! думаю ладно... буду настраивать. Нажимаю первую кнопку добавляется еще одна строка (т.е. уже моя) и параллельно показывает действие с тех строк что выше (яркость выше)... я в новодобавленную строку пишу значение которое мне нужно (громкость +) и настраиваю дальше кнопки... а теперь получается что при нажатии кнопки какой нибудь на нее назначено 2 действия (т.к. там 2 строки под нее) вот я и спрашиваю как удалить ВСЕ строки там и назначить по новой!?

Dj Aleks
02.11.2013, 16:08
А что бы сбросить все настройки удали содержимое файлов duino_key_command.ini, duino_key_info.ini и duino_key_list.txt в папке DuinoKey
в папке iCarDuino у меня только 4 файла
iCarDuino.dll
iCarDuino.tlb
RegAsm
RunMe1st

Dj Aleks
02.11.2013, 16:13
папку нашел в скинах, удалил все 3 файла и там стало пусто (в настройках) спасибо большое! буду пробовать заново назначить и смотреть...

Bersenev
02.11.2013, 16:15
(т.к. там 2 строки под нее)

Под одну кнопку ( а точнее под один код, так как иногда из-за дребезга кнопка выдаёт несколько кодов) не может быть две строки. Если кнопка выдаст код который уже есть в списке, то он не добавится в конец списка, а просто произойдёт переключение на него. Коды в списке дублироваться не могут, а следовательно и влиять друг на друга не могут. Но почистить список никто не запрещает, хуже не будет

Dj Aleks
02.11.2013, 16:17
Под одну кнопку ( а точнее под один код, так как иногда из-за дребезга кнопка выдаёт несколько кодов) не может быть две строки. Если кнопка выдаст код который уже есть в списке, то он не добавится в конец списка, а просто произойдёт переключение на него. Коды в списке дублироваться не могут, а следовательно и влиять друг на друга не могут. Но почистить список никто не запрещает, хуже не будет
но у меня странно все равно добавлял новую строку, хоть кнопка была назначена... ну ладно, бог с ним, список получилось подтереть буду пробовать заново! спасибо!!!

Dj Aleks
02.11.2013, 22:27
попробовал, удалил все строки и заново прописал... за три часа полет нормальный... ложных срабатываний нет... не смотря на то что нет подтяжки на землю как на схеме резистором....

Bersenev
02.11.2013, 23:39
попробовал, удалил все строки и заново прописал... за три часа полет нормальный... ложных срабатываний нет... не смотря на то что нет подтяжки на землю как на схеме резистором....

Если у тебя кардуино нано7 и кнопки подключены к седьмому пину, то там уже встроена подтяжка на землю

Dj Aleks
02.11.2013, 23:42
я покупал с кармонитора джостик, это он.

Glouck
05.11.2013, 23:23
Собрал сей девайс для управления резистивными кнопками. Заработало с первого раза, огромное спасибо Андрею за прошивку и плагин. После пары дней использования возникло пожелание - сейчас реализован автоповтор любой нажатой кнопки, но он нужен, IMHO, только для кнопок громкости, а для остальных кнопок логичней использовать долгое нажатие как другую команду. Особенно актуально, если физических кнопок не много (у меня их всего 5 шт на руле). Возможно ли такое реализовать?

И еще, у меня одна из штатных кнопок вообще без резистора - т.е. замыкает накоротко, и прошивка ее игнорирует. Я, конечно, поправил прошивку себе, но вдруг еще у кого-то такая проблема возникнет...

Dj Aleks
05.11.2013, 23:27
Собрал сей девайс для управления резистивными кнопками. Заработало с первого раза, огромное спасибо Андрею за прошивку и плагин. После пары дней использования возникло пожелание - сейчас реализован автоповтор любой нажатой кнопки, но он нужен, IMHO, только для кнопок громкости, а для остальных кнопок логичней использовать долгое нажатие как другую команду. Особенно актуально, если физических кнопок не много (у меня их всего 5 шт на руле). Возможно ли такое реализовать?

И еще, у меня одна из штатных кнопок вообще без резистора - т.е. замыкает накоротко, и прошивка ее игнорирует. Я, конечно, поправил прошивку себе, но вдруг еще у кого-то такая проблема возникнет...
если я правильно понял то есть функция shift

Glouck
07.11.2013, 06:17
сейчас реализован автоповтор любой нажатой кнопки, но он нужен, IMHO, только для кнопок громкости, а для остальных кнопок логичней использовать долгое нажатие как другую команду.
В общем, переделал прошивку на долгие нажатия вместо автоповтора. Если надо кому - пишите...

OsDima
07.11.2013, 11:55
В общем, переделал прошивку на долгие нажатия вместо автоповтора. Если надо кому - пишите...
Конечно надо. Режим "шифт" мне не очень нравится (надо помнить в каком он режиме "шифт или "не шифт".

Glouck
07.11.2013, 21:29
Конечно надо.
Вот кусок прошивки отвечающий за кнопки. Сделано на основе прошивки Андрея. Писал левой ногой, сильно не пинайте...

#include <EEPROM.h>
#define RES_KEY_FLAG_ 0x16 // Флаг первого запуска скетча

byte bytes[4];

//-----------------------------------------
//- входы(пины) ардуино -
//-----------------------------------------

const int RES_PIN = 5 ; // аналоговый вход(пин) для резестивных(рулевых) кнопок

//-----------------------------------------
//- переменные включения функций скетча -
//-----------------------------------------

boolean is_res_keys = false;

//-----------------------------------------
//- Новые переменные для кнопок

#define RES_BT_CNT 50 // макс кол-во кнопок
#define VOL_BT_CNT 2 // кол-во кнопок с автоповтором
#define RES_DT_MIN 5 // мин значение АЦП
#define RES_DT_MAX 1020 // макс значение АЦП
unsigned long res_key_wait_long = 600; // задержка длинного нажатия кнопки (ms)
unsigned int key_to_send = 0;
boolean res_key_hold = false;

//-----------------------------------------
//- Переменные для резистивных кнопок -
//-----------------------------------------

unsigned long res_dt = 0;
unsigned long res_dt_sum = 0;
#define RES_DT_COUNT 400 // Количество считываемых данных
#define RES_DT_SKIP_COUNT 100 // Количество данных, которые надо пропустить при нажатии
#define RES_DT_POINT 6 // Точность
int res_dt_n = 0;
unsigned long res_key = 0;
unsigned long res_key_old = 0;
unsigned long res_key_wait_next = 200; // задержка автоповтора (ms)
unsigned long res_key_wait_millis = 0;
unsigned long res_key_millis;
unsigned long res_key_array[RES_BT_CNT + 1][2];
unsigned int res_key_count = 0;
unsigned int res_key_delta = 3;

//-----------------------------------------
void setup() {

Serial.begin(115200);
res_key_millis = millis();

unsigned int first_run_key = EEPROM.read(0);
if ( first_run_key == RES_KEY_FLAG_ )
{
res_key_count = EEPROM.read(1);
//EEPROM.write(addr, val);
for(int i=0; i<res_key_count;i++)
{
res_key_array[i][0] = (EEPROM.read(i+2) * 256) + EEPROM.read(i+2+RES_BT_CNT) - res_key_delta; res_key_array[i][1] = res_key_array[i][0] + res_key_delta + res_key_delta;
}
}
for(int i=res_key_count; i<(RES_BT_CNT+1);i++)
{
res_key_array[i][0] = 0xFFFFFFFF; res_key_array[i][1] = 0xFFFFFFFF;
}

}

//-----------------------------------------
void loop() {

if (Serial.available() >= 1) // Проверяем наличие команд от компьютера
{
switch (Serial.read())
{
case 0x06: // включить передачу данных от резестивных кнопок
is_res_keys = true;
break;

case 0x86: // выключить передачу данных от резестивных кнопок
is_res_keys = false;
break;

}
}
if( is_res_keys ) res_keys(); // резистивные кнопки
// res_keys();

}

//----------------------------------------------------------------------------------
// Функция работы с резистивными кнопками
//----------------------------------------------------------------------------------
void res_keys()
{
{
res_dt = analogRead(RES_PIN); // прочитать данные АЦП
if( res_dt >= RES_DT_MIN && res_dt <= RES_DT_MAX )
{
res_dt_n++;
if( res_dt_n > RES_DT_SKIP_COUNT )
{
res_dt_sum += (res_dt << RES_DT_POINT);
if( res_dt_n == RES_DT_COUNT)
{
// res_key = (res_dt_sum / (RES_DT_COUNT - RES_DT_SKIP_COUNT));
res_key = (((((( res_dt_sum / (( RES_DT_COUNT - RES_DT_SKIP_COUNT ) + (2^(RES_DT_POINT-1)-1) ) >> (RES_DT_POINT-1)) + 1) >> 1) + 1)>> 1)); // + 1) >> 1;
res_dt_sum = 0; res_dt_n = 0;
}
}
}
else
{
res_dt_sum = 0; res_dt_n = 0; res_key = 0;
res_key_wait_millis = 0;
}
}

// обработка нажатия
int key_code = 0;

if (res_key != 0) // что-то нажато
{
key_code = keyCode(res_key);
if (key_code <= VOL_BT_CNT) // первые кнопки с автоповтором
{
if (res_key_old == res_key) // удержание кнопки
{
if (millis() - res_key_wait_millis > res_key_wait_next) // задержка автоповтора
{
sendKey(key_code);
res_key_wait_millis = millis();
}
}
else
{
sendKey(key_code);
res_key_wait_millis = millis();
res_key_old = res_key;
}
}
else // кнопки с долгим нажатием
{
if (res_key_old == res_key) // удержание кнопки
{
if (millis() - res_key_wait_millis > res_key_wait_long) // длинное нажатие
{
if (!res_key_hold)
{
sendKey(key_code+RES_BT_CNT);
res_key_wait_millis = millis();
res_key_hold = true;
}
}
}
else
{
key_to_send = key_code;
res_key_wait_millis = millis();
res_key_old = res_key;
}
}
}
else // ничего не нажато
{
res_key_old = 0;
if (key_to_send != 0 && !res_key_hold) sendKey(key_to_send);
res_key_hold = false;
key_to_send = 0;
}
}

void sendKey(int key_code)
{
bytes[0] = 0xAA; // преобразовать в 4-байта
bytes[1] = 0;
bytes[2] = RES_PIN;
bytes[3] = key_code;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
/*
Serial.write(bytes[3]+0x30); // отправить прочитаное значение компьютеру
Serial.print(" ");
Serial.print(res_key,DEC);
Serial.println("");
*/
}

unsigned int keyCode(unsigned long key_res)
{
int i = 0; boolean exit = false;
while( res_key_array[i][0] != 0xFFFFFFFF && (!exit) )
{ // проверяем новая ли кнопка
if( (res_key_array[i][0] <= key_res) && (key_res <= res_key_array[i][1]) ) exit = true; else i++;
}
if ( exit ) // кнопкка уже известная
{
return (i+1);
}
else { // кнопка новая
if ( res_key_count < RES_BT_CNT )
{
res_key_array[res_key_count][0] = key_res - res_key_delta;
res_key_array[res_key_count][1] = key_res + res_key_delta;
res_key_count++;

EEPROM.write(1, res_key_count); // Запоминаем количество кнопок
byte one_byte = key_res / 256;
EEPROM.write(res_key_count+1, one_byte ); // Запоминаем старший байт значения кнопки
one_byte = key_res - one_byte * 256;
EEPROM.write(res_key_count+1+RES_BT_CNT, one_byte ); // Запоминаем младший байт значения кнопки
EEPROM.write(0, RES_KEY_FLAG_);

return res_key_count;
}
else
{ // переполнение - больше кнопок не запоминаем
bytes[0] = 0xAA; // преобразовать в 4-байта
bytes[1] = 0xAA;
bytes[2] = (key_res & 0xFF00) >> 8;
bytes[3] = key_res & 0xFF;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
}
}
}


После заливки этого кода при первом включении, первые две нажатые кнопки будут с автоповтором (для регулировки громкости), остальные - обычные. Короткое нажатие работает на отпускание, длинное - по задержке в 600 мс.
Если надо переопределить кнопки для автоповтора - поменяйте значение RES_KEY_FLAG_ на любое другое число, и перезалейте прошивку. Если нужно больше двух кнопок с автоповтором - поменяйте значение VOL_BT_CNT.

jos911
13.11.2013, 12:07
Ребята подскажите пожалуйста, а можно ли повесить резистивные кнопки так, что-бы они дублировали экранные кнопки в блоке реле. Хочется, сделать так- допустим нажал на экранную кнопку в плагине блок реле, выполнилось какое то действие, например: включился свет в салоне, но если я стаю на стоянке и монитор выключен, то я жму резистивную кнопку и она выполняет тоже действие, только если я свет включил с экранной кнопки то резистивная его выключает или наоборот.
Комп стоит в грузовике, блок резистивных кнопок хочу установить в "спальник", и что-бы каждый раз на бегать и включать монитор Было бы не плохо реализовать так.
Спасибо.

Bersenev
13.11.2013, 12:44
Если речь о выключении кнопок при работающем компьютере, то вешаешь на резистивную кнопку команду икара duino_rеlay_1_toggle , вместо единицы указываешь свой номер реле.

А вот если комп выключен, то надо писать другой скетч для ардуино

jos911
13.11.2013, 12:48
Не, комп работает всегда, я уже забыл когда выключался я только монитор монитор выключаю что-бы не светился, спать мешает. Надо просто если с экрана включил - то с резистивной выключил и наоборот.

Fernando
15.11.2013, 23:28
А как назначить горячую клавишу на кнопку управления реле, что-то долгим нажатием не получается. Точнее, задача такая: внешняя программа посылает комбинацию клавиш по событию, по этой комбинации реле нужно включить на заданный интервал времени (1000мс). Как это сделать?

Tygra
26.11.2013, 14:29
Получил с почты ардуину мега 2560 , отковырял энкодер с муз центра старого, отдельно энкодер проверил, работает. Пытался загрузить скетч но получил ошибку
IRremoteInt.h:113: error: 'uint8_t' does not name a type
т.к. ардуину первый раз вижу, то полез к гуглу, выяснилось что для версии проги ардуины выше 1 ( у меня 1,0,5) нужно править библиотеку IRremoteInt.h , нужно дописать #include <Arduino.h> . Возможно что я велосипед изобретаю, но поиском не нашел ответа на форуме, а беглый поиск по 59 страницам ничего не дал. Если это уже не однократно было , удалите сей пост. А так м\б кому поможет....
P\S Запустил только один энкодер без всей остальной обвязки, круть, заработало все почти с пол пинка. Единственно что второй энкодер которого нет, глючил. Т.е. с него шел сигнал, но его физически нет, порт его висел в воздухе, заземлил пин второго энкодера и стало все замечательно..... Остальное еще не проверял, думаю "запилить" будет не сильно сложно....... Вот бы еще климат-контроль замутить .... Помимо приобретения самого икара, я бы подумал доплатить за модуль климы.
По поводу сервоприводов в ардуине http://wiki.amperka.ru/%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D0%BE%D1%82%D0%B5%D 1%85%D0%BD%D0%B8%D0%BA%D0%B0:%D1%81%D0%B5%D1%80%D0 %B2%D0%BE%D0%BF%D1%80%D0%B8%D0%B2%D0%BE%D0%B4%D1%8 B

Tygra
26.11.2013, 16:37
А никто не пилил скетч под нормальные релюшки ? Что то у меня не хватает фантазии куда деть 24 реле. Штук 6 более чем хватило бы, прямым управлением на пины без мультиплексора.

AlexIz
16.12.2013, 08:34
После заливки этого кода при первом включении, первые две нажатые кнопки будут с автоповтором (для регулировки громкости)
Не совсем понял фразу. Поясни, пожалуйста.

Glouck
17.12.2013, 03:47
Не совсем понял фразу. Поясни, пожалуйста.
Эта прошивка при первом включении запоминает все нажатые кнопки (т.е. сопротивление каждой), и в дальнейшем, для передачи компьютеру, использует порядковый номер кнопки (по порядку нажатия при первом включении). Вот для первых двух и реализован автоповтор.

Vodkin
05.01.2014, 20:20
Добрый день. Подскажите (толком не нашел): хочу на кнопку назначить команду сон или выключить целиком. А как правильно они называются в командах икара? Спасибо.

OsDima
06.01.2014, 10:54
Добрый день. Подскажите (толком не нашел): хочу на кнопку назначить команду сон или выключить целиком. А как правильно они называются в командах икара? Спасибо.
Этот пост. (http://www.pccar.ru/showpost.php?p=264978&postcount=516) Только у меня не работает?

Vodkin
06.01.2014, 13:58
Этот пост. (http://www.pccar.ru/showpost.php?p=264978&postcount=516) Только у меня не работает?
Спасибо. Пробовал эти команды только без CF перед ними. Как в первом случае, так и во втором реакция одна - зависон ИКАРА капитальный. Не завершить даже из диспетчера задач... :(

OsDima
06.01.2014, 23:00
Спасибо. Пробовал эти команды только без CF перед ними. Как в первом случае, так и во втором реакция одна - зависон ИКАРА капитальный. Не завершить даже из диспетчера задач... :(
У меня примерно тоже самое было.
Плюнул тапаю по экрану, когда увожу в спящий режим.

Vodkin
06.01.2014, 23:38
ООО! Еще один не понятный мне момент: до этого тестировал все на домашнем компе. Перенес Дуину на автомобильный комп, а на нем второй энкодер и кнопки вообще команд в Икар не шлют. Первый энкодер - все нормально. Кто подскажет в чем может быть проблема?

Zhirnov
07.01.2014, 00:16
Не могу найти com порт JoyCon EX. В диспетчере устройств видно "USB-устройство ввода". Из-за этого не работает в IcarDS. Кто знает?

http://pccar.ru/attachment.php?attachmentid=34216&stc=1&d=1389035430

Сам JoyCon работает через JoyCon Explorer

/watch?v=nYsHzhdq3xE

Zhirnov
07.01.2014, 01:46
Опа! JoyCon не поддерживается??

doctorbit
06.02.2014, 22:05
А как назначить горячую клавишу на кнопку управления реле, что-то долгим нажатием не получается. Точнее, задача такая: внешняя программа посылает комбинацию клавиш по событию, по этой комбинации реле нужно включить на заданный интервал времени (1000мс). Как это сделать?
Присоеденяюсь к вопросу. Например погудеть дуделкой альтернативной, или еще чего надо включать на какое-то время. Как нразначить вроде есть ответ на предыдущей странице.

Bersenev
объясните как это происходит: фильтрация дребезга контактов реализована в дуине путем запоминания номера кнопки? (вроде близко к тексту пересказал, всю тему прочитал ответа не нашел) Просто собираюсь подключать через матрицу R2R. Оно даже работает но иногда есть ложные срабатывания(или это быстро обработанные кнопки). И можно где-то ввести задержку для для отправки команд в писи? Чтобы не было ложных срабатываний когда я пытаюсь нажать сочетание клавиш.

Как заставить дуину с вашем скетчем слать данные в терминал, а то пока Icar не открыт она ничего не шлет в ком порт.

Если есть возможность прицепить в первом сообщении, файл со схемой подключения. я думаю всем было-бы удобно.

Dj Aleks
10.02.2014, 17:44
случилась у меня какая то байда(((( винда 8, стоит джостик с кармонитора перешитый на прошивку с первого поста... пришлось переустановить винду месяца 2 назад... так и ездил без подрулевых, не было времени поставить... сегодня с утра совершаю половой акт и не могу добиться ничего(((( иду четко по инструкции. скопировал, запустил файл... поставил галочку для плагина, рестарт, настройка и ноль эмоций на нажатие кнопок((( дрова FTDI переставил, ничего не помогает... стоит CarDS 1.7.0.33 (https://cloud.mail.ru/public/03a24d0badc9/iCarDS_1_7_0_33.zip) обновлен до .35 обновлен iCarDSConfig. Chameleon от 01.02.2014 (https://cloud.mail.ru/public/0dbfc3aada80/Chameleon_2014_02_01.rar). в конфиге прописал порт 3 скорость 115200...

Dj Aleks
10.02.2014, 23:59
подскажите кто по моему вопросу плиз(((

Bersenev
11.02.2014, 09:13
случилась у меня какая то байда(((( винда 8, стоит джостик с кармонитора перешитый на прошивку с первого поста... пришлось переустановить винду месяца 2 назад... так и ездил без подрулевых, не было времени поставить... сегодня с утра совершаю половой акт и не могу добиться ничего(((( иду четко по инструкции. скопировал, запустил файл... поставил галочку для плагина, рестарт, настройка и ноль эмоций на нажатие кнопок((( дрова FTDI переставил, ничего не помогает... стоит CarDS 1.7.0.33 (https://cloud.mail.ru/public/03a24d0badc9/iCarDS_1_7_0_33.zip) обновлен до .35 обновлен iCarDSConfig. Chameleon от 01.02.2014 (https://cloud.mail.ru/public/0dbfc3aada80/Chameleon_2014_02_01.rar). в конфиге прописал порт 3 скорость 115200...

Во первых надо проверить совпадают ли номера пинов в скетче с номерами, к которым подсоединены кнопки на самом ардуино. В ранних версиях джойстика с кармонитора это был пин 5, а потом стал 7.

Потом проверить состояние переменной duino_is_res_keys в файле duino.ini, для работы резистивных кнопок задай 1

Dj Aleks
11.02.2014, 12:50
Во первых надо проверить совпадают ли номера пинов в скетче с номерами, к которым подсоединены кнопки на самом ардуино. В ранних версиях джойстика с кармонитора это был пин 5, а потом стал 7.

Потом проверить состояние переменной duino_is_res_keys в файле duino.ini, для работы резистивных кнопок задай 1
задавал 1.. скетч не менял.. до переустановки с 7 на 8 все работало... потом долго не доходили руки... и не подключал... а теперь......

Fedorych
11.02.2014, 13:07
У меня была ситуация когда кнопки переставали работать, после обновления драйвера FTDI на более новый через центр обновлений.

Dj Aleks
11.02.2014, 13:18
да вроде 3 драйвера перепробывал.. в принтерах стоит jostik, драйвера работают нормально пишет, нажимаю любую кнопку на руле и у меня почему то не моргает передача на дуине... через терминал посылаю всякий бред на дуину и светодиод приема моргает

Bersenev
11.02.2014, 13:21
нажимаю любую кнопку на руле и у меня почему то не моргает передача на дуине... через терминал посылаю всякий бред на дуину и светодиод приема моргает

Попробуй ещё раз зарегистрировать плагин iCarDuino

Dj Aleks
11.02.2014, 13:22
Попробуй ещё раз зарегистрировать плагин iCarDuino
ноль эмоций, пробовал уже и тот что поновее и постарее(((

Dj Aleks
11.02.2014, 13:25
может в дуине что... хотя перепрошить пробовал нормально все прошло... т.е. rx tx работает норм... еще смущает почему при нажатии кнопки светодиод не моргает...

Bersenev
11.02.2014, 13:25
через терминал посылаю всякий бред на дуину и светодиод приема моргает

А при запуске икара светодиод моргает? Именно при запуске, а не при нажатии кнопок

Dj Aleks
11.02.2014, 13:29
не обратил внимания.. уже снял дуину.. хочу попробовать сейчас на домашнем накатить быстро ICar и попробовать... только вот сопротивлений нет((( если замкнуть провода сделать имитацию 0 Ом Икар увидеть должен же вроде?

Bersenev
11.02.2014, 13:32
еще смущает почему при нажатии кнопки светодиод не моргает...

При открытии порта ардуино плагин посылает туда команду, о том что готов принимать данные от резистивных кнопок, если скетч не получил эту команду, то он ничего и не будет передавать в порт. Сделано это для нормального выхода из сна.

Как вариант можно отключить в скетче эту проверку и залить его заново

Для этого вот эту строку

if( is_res_keys ) res_keys();

замени на эту

res_keys();

Dj Aleks
11.02.2014, 13:36
При открытии порта ардуино плагин посылает туда команду, о том что готов принимать данные от резистивных кнопок, если скетч не получил эту команду, то он ничего и не будет передавать в порт. Сделано это для нормального выхода из сна.

Как вариант можно отключить в скетче эту проверку и залить его заново

Для этого вот эту строку

if( is_res_keys ) res_keys();

замени на эту

res_keys();
спасибо за помощь, сейчас для начала качаю Icar и попробую подниму все с нуля на другом компе.. если будет также то будем пробывать... чуть позже напишу результат...

Dj Aleks
11.02.2014, 13:57
только что попробовал, дома гадина заработала(((( замыкаю провода и добавляется новая строка... только почему то Icar челкает постоянно... будто кнопку какую то нажимают все время... выдернул жестко дуину и икар замолчал.. попробовал с прошивкой сармонитора только поменял с 5 пина на 7... дома такая же 8 винда как в машине.. с одного диска! пробовать в машине удалять полностью икар и ставить все по новой?

Beliy
11.02.2014, 14:08
только что попробовал, дома гадина заработала(((( замыкаю провода и добавляется новая строка... только почему то Icar челкает постоянно... будто кнопку какую то нажимают все время... выдернул жестко дуину и икар замолчал.. попробовал с прошивкой сармонитора только поменял с 5 пина на 7... дома такая же 8 винда как в машине.. с одного диска! пробовать в машине удалять полностью икар и ставить все по новой?

По мимо джойстика ардуино работае в машине вообще?

Dj Aleks
11.02.2014, 14:11
заметил сейчас... загружаю икар, норм все.. стоит только замкнуть провода на джостике которые к кнопкам и он как бы зависает чтоли... постоянно что то нажимает в икаре..

По мимо джойстика ардуино работае в машине вообще?
не понял вопроса... если ты имел ввиду про есть ли еще помимо джостика дуины в машине, то нету...
через хаб только
флешка
GPS
джостик
тач
блюпуп
сигналка авто

Bersenev
11.02.2014, 15:05
только почему то Icar челкает постоянно... будто кнопку какую то нажимают все время... выдернул жестко дуину и икар замолчал..

Если кнопки в машине делал не сам, а использовал родные, то кнопки бывают двух типов, в спокойном состоянии кнопки не замкнуты, то есть сопротивление равно бесконечности или в спокойном состоянии имеется какое то сопротивление. Так вот если у тебя второй вариант, то плагин считает что нажата кнопка и постоянно посылает икару нажатия. Что бы отключить эти нажатия, надо определить какой код постоянно посылается икару и добавить такую переменную, допустим в iCarDSConfig -- Global Vars

ExcludedDuinoKeyCodes=duino_AA000501 duino_AA000502 duino_AA000503

Как видно из примера исключать можно любое количество кодов, разделяя их пробелами

Dj Aleks
11.02.2014, 15:08
Если кнопки в машине делал не сам, а использовал родные, то кнопки бывают двух типов, в спокойном состоянии кнопки не замкнуты, то есть сопротивление равно бесконечности или в спокойном состоянии имеется какое то сопротивление. Так вот если у тебя второй вариант, то плагин считает что нажата кнопка и постоянно посылает икару нажатия. Что бы отключить эти нажатия, надо определить какой код постоянно посылается икару и добавить такую переменную, допустим в iCarDSConfig -- Global Vars

ExcludedDuinoKeyCodes=duino_AA000501 duino_AA000502 duino_AA000503

Как видно из примера исключать можно любое количество кодов, разделяя их пробелами
повторюсь, раньше до переустановки работало... кнопки переделывал они нормально разомкнутые.. но сейчас я провожу опыты дома... и эти два провода от джостик висят в воздухе.. но икар все равно нажимает что то... пока не выдернешь USB из джостика

doctorbit
12.02.2014, 02:26
Присоеденяюсь к вопросу. Как сделать что-бы реле отключалось через какое-то время.
Bersenev
объясните как это происходит: фильтрация дребезга контактов реализована в дуине путем запоминания номера кнопки? (вроде близко к тексту пересказал, всю тему прочитал ответа не нашел) Просто собираюсь подключать через матрицу R2R. Оно даже работает но иногда есть ложные срабатывания(или это быстро обработанные кнопки). Тогда можно где-то ввести задержку для отправки команд в писи? Чтобы не было ложных срабатываний когда я пытаюсь нажать сочетание клавиш.

повторю вопрос, вдруг не заметели

Beliy
12.02.2014, 08:37
заметил сейчас... загружаю икар, норм все.. стоит только замкнуть провода на джостике которые к кнопкам и он как бы зависает чтоли... постоянно что то нажимает в икаре..


не понял вопроса... если ты имел ввиду про есть ли еще помимо джостика дуины в машине, то нету...
через хаб только
флешка
GPS
джостик
тач
блюпуп
сигналка авто
Я имел ввиду датчики или еще что висит на ардуине в машине? Они работают?

Bersenev
12.02.2014, 11:31
Присоеденяюсь к вопросу.

Неясно к какому вопросу присоединяешься

Например погудеть дуделкой альтернативной, или еще чего надо включать на какое-то время. Как нразначить вроде есть ответ на предыдущей странице.

Включить реле на какое то время принципиально можно, для этого надо будет сделать новые команды в ExecTBL.ini с использованием таймера. Но для начала не мешало бы знать что именно(какое реле ), на какое время и где именно в скине надо включать.


Bersenev
объясните как это происходит: фильтрация дребезга контактов реализована в дуине путем запоминания номера кнопки? (вроде близко к тексту пересказал, всю тему прочитал ответа не нашел) Просто собираюсь подключать через матрицу R2R. Оно даже работает но иногда есть ложные срабатывания(или это быстро обработанные кнопки). И можно где-то ввести задержку для для отправки команд в писи? Чтобы не было ложных срабатываний когда я пытаюсь нажать сочетание клавиш.

Смотрим функцию void res_keys() в скетче из шапки и разбираемся как это реализовано.

Как заставить дуину с вашем скетчем слать данные в терминал, а то пока Icar не открыт она ничего не шлет в ком порт.

Скетч ничего не посылает в порт, пока плагин не даст ему команду, что именно надо ему посылать. То есть если плагину в данный момент не нужны данные с температурных датчиков, то скетч их и не шлёт.

Так что внимательно читаем скетч

case 0x01: // включить передачу данных от ик-пульта
is_ir_key = true;
break;

case 0x02: // включить передачу данных от датчиков температуры
is_temperature_sensors = true;
break;

case 0x03: // включить передачу данных от акселерометра
is_accelerometer = true;
break;

case 0x04: // включить передачу данных от первого энкодера
is_encoder_1 = true;
break;

case 0x05: // включить передачу данных от второго экнодера
is_encoder_2 = true;
break;

case 0x06: // включить передачу данных от резестивных кнопок
is_res_keys = true;
break;

case 0x07: // включить передачу данных о состоянии реле
is_relay_state = true;
break;

Если есть возможность прицепить в первом сообщении, файл со схемой подключения. я думаю всем было-бы удобно.

Файл со схемой подключения лежит в папке скина

Dj Aleks
12.02.2014, 11:33
Я имел ввиду датчики или еще что висит на ардуине в машине? Они работают?
аааа нет.. скетч не с первого поста... а родной джостика

Dj Aleks
16.02.2014, 00:19
подскажите кто по моему вопросу((( очень надо... пока не выдернешь джостик с USB она постоянно посылает какие то команды... (нажимает кнопки)

Bersenev
16.02.2014, 11:41
подскажите кто по моему вопросу((( очень надо... пока не выдернешь джостик с USB она постоянно посылает какие то команды... (нажимает кнопки)

не мешало бы знать что именно посылает ардуино, допустим через терминал ком порта

Dj Aleks
16.02.2014, 12:53
не мешало бы знать что именно посылает ардуино, допустим через терминал ком порта
т.е. параллельно запустить икар и программу arduino и посмотреть в терминале ее...?

Bersenev
16.02.2014, 12:59
т.е. параллельно запустить икар и программу arduino и посмотреть в терминале ее...?

просто посмотреть в терминале, что именно передает аидуино в порт, без запуска икара

Dj Aleks
16.02.2014, 13:01
просто посмотреть в терминале, что именно передает аидуино в порт, без запуска икара
так самое интересное, что я больше уверен что ничего! потому что пока не запустишь икар на дуине не начинает моргать светодиод передачи... т.е. мне кажется он что то начинает слать только при включенном икаре!

Dj Aleks
16.02.2014, 13:13
ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ
вот что шлет постоянно

Bersenev
16.02.2014, 13:43
ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ
вот что шлет постоянно

Судя по тому что ты вставил в сообщение, постоянно идут последовательность байтов 79 03 20 (в шестнадцатеричном виде)

Насколько я знаю скетч от кармонитора шлёт последовательность из четырёх байт (именно на это и настроен плагин iCarDuino), а у тебя получается три. Почему три я сказать не могу, это надо смотреть, то что залито в ардуино( давать мне ссылку на скетч от чипа не надо, что происходит в нём я прекрасно знаю, надо внимательно проверить то что залил в ардуино).

Если скетч залитый в ардуино полностью соответствует скетчу чипа, то возможно проблемы в конкретном ардуино. Но возможно скетч посылает четыре байта, просто форум пропустил только три, так что смотри что шлёт ардуино в шестнадцатеричном виде

Dj Aleks
16.02.2014, 13:47
Судя по тому что ты вставил в сообщение, постоянно идут последовательность байтов 79 03 20 (в шестнадцатеричном виде)

Насколько я знаю скетч от кармонитора шлёт последовательность из четырёх байт (именно на это и настроен плагин iCarDuino), а у тебя получается три. Почему три я сказать не могу, это надо смотреть, то что залито в ардуино( давать мне ссылку на скетч от чипа не надо, что происходит в нём я прекрасно знаю, надо внимательно проверить то что залил в ардуино).

Если скетч залитый в ардуино полностью соответствует скетчу чипа, то возможно проблемы в конкретном ардуино. Но возможно скетч посылает четыре байта, просто форум пропустил только три, так что смотри что шлёт ардуино в шестнадцатеричном виде
я уже сам грешу на дуину... щас пробую в дуину уно залить и отпишусь..

Dj Aleks
16.02.2014, 14:03
залил скетч в другую arduino uno, все заработало без проблем! жалко только что большая она..

Dj Aleks
16.02.2014, 16:19
я вообще не понимаю что за хрень такая... нашел свой старый arduino uno, прошил, подключил... заработало и дома и в машине... поехал в магазин за USB проводом к нему (на время тестов снимал с принтера) приезжаю, подключаю, такая же фигня как на домашнем так и в машине... она опять нажимает кнопки сама!!!(((((

Bersenev
16.02.2014, 16:26
я вообще не понимаю что за хрень такая... нашел свой старый arduino uno, прошил, подключил... заработало и дома и в машине... поехал в магазин за USB проводом к нему (на время тестов снимал с принтера) приезжаю, подключаю, такая же фигня как на домашнем так и в машине... она опять нажимает кнопки сама!!!(((((

Проверь контакт ардуино по земле и наличие или пайку в подтягивающем резисторе

Dj Aleks
16.02.2014, 16:30
приехал и припаял кондюк на 103 между 5 и GDN... думал может кондюк, оторвал... ничего не поменялось.. подтягивающего резюка нет!

Bersenev
16.02.2014, 16:34
приехал и припаял кондюк на 103 между 5 и GDN... думал может кондюк, оторвал... ничего не поменялось.. подтягивающего резюка нет!

Без подтягивающего резистора подключать можно только к пину A7 Carduino Nano V7 (https://duino.ru/arduino-nano-v7--carduino-nano-duo-.html) , и то потому что резистор уже впаян на самой плате. Так что паяй резистор

doctorbit
18.02.2014, 12:36
Неясно к какому вопросу присоединяешься
Включить реле на какое то время принципиально можно, для этого надо будет сделать новые команды в ExecTBL.ini с использованием таймера. Но для начала не мешало бы знать что именно(какое реле ), на какое время и где именно в скине надо включать.


Вопрос про задержки на включение реле, Допустим я хочу включать реле номер 3 на 4 секунды(время привидеться подбирать экспериментально)
а где в скетче его можно включать? я понимаю что в закладке реле, и с кнопки включать тоже самое реле. на тоже самое время. и еще например реле номер 4 на 10 минут. Есть вариант это настраивать как-то гибко?

Bersenev
18.02.2014, 14:17
Вопрос про задержки на включение реле, Допустим я хочу включать реле номер 3 на 4 секунды(время привидеться подбирать экспериментально)
а где в скетче его можно включать? я понимаю что в закладке реле, и с кнопки включать тоже самое реле. на тоже самое время.

Для этого надо в файл ExecTBL.ini в папке скина добавить такие команды, и теперь команда Relay3On5seс будет включать реле №3 на 4 секунды. Можно использовать эту команду в любом месте скина

"Relay3On5seс","duino_relay_3_on||StartTimer;Relay3;4000"
"onRelay3timer","EndTimer;Relay3||duino_relay_3_off"


и еще например реле номер 4 на 10 минут.

проделываем то же самое с этими командами, и команда Relay4On10min будет включать реле №4 на 10 минут

"Relay4On10min","duino_relay_4_on||StartTimer;Relay4;600000"
"onRelay4timer","EndTimer;Relay4||duino_relay_4_off"

doctorbit
19.02.2014, 13:22
Спасибо попробую, а в какое конкретно место надо прописать эти команды?

Bersenev
19.02.2014, 13:28
Спасибо попробую, а в какое конкретно место надо прописать эти команды?

в любое

FenickS
06.03.2014, 19:50
Ребят не сочтите за тупизм но что-то не пойму как кнопки вывести как вот тут
http://content.foto.mail.ru/mail/bersenev_s/Chameleon/i-506.jpg
капался капался не нашел, задача такая через CarDruino v.5 вывести только реле мож кто сможет подсказать или направить в нужное русло

Bersenev
06.03.2014, 21:29
Что значит вывести? Если как попасть на этот экран? То удерживаешь кнопку на экране БЛОК РЕЛЕ, появляется этот экран и в нем настраиваешь какие реле как себя будут вести при нажатии на удерживаемую кнопку

FenickS
06.03.2014, 21:37
ВО нашел ,спс.

FenickS
07.03.2014, 12:08
Привет всем еще раз.
Такой вопрос, где можно поменять чтоб на "m74hc595b1" реле вместо "+" приходил "-" а то у меня на тестовой реле "-" на замыкание.
Заранее спасибо.

Murkur
18.04.2014, 22:20
Вопрос по датчикам температуры...
В документации на первой странице написано, что в label_list.txt нужно закинуть строки, типа temp_sensor_28FFC919030000D6. Но в своём файле label_list.txt вижу, что все строки начинаются с префикса LST, тоесть LSTtemp_sensor_283B61B304000050||temp_sensor_283B6 1B304000050.
Это особенности новых версий, или какой-нибудь глюк?
Версия Икара - 1.7.0.35, Ардуино Nano V3.0.
Вроде прописал всё правильно по датчикам и если запускать простой скетч только для этого датчика, то в Мониторе порта показывает температуру, тоесть, подключено правильно. А в Икаре показывает постоянно 85 градусов.
Подскажите, пожалуйста, куда смотреть?

Murkur
03.06.2014, 02:28
Подскажите, пожалуйста, как вывести в iCarDS показания напряжения бортовой сети?

Bersenev
03.06.2014, 08:21
Подскажите, пожалуйста, как вывести в iCarDS показания напряжения бортовой сети?

На данный момент никак, для этого надо доделывать плагин.

Murkur
03.06.2014, 13:05
На данный момент никак, для этого надо доделывать плагин.
А будет доделываться плагин или не ждать уже? :)

Serg-Zmuh
08.08.2014, 05:38
А есть что-то подобное для андроид-планшетов ?
мне надо будет выводить две температуры и давление турбины на экран планшета
в оболочке ну типа как у вас здесь в шапке ....
ткните носом в нужную тему :)

basurman
07.09.2014, 23:12
В продолжении темы. Так не хочется ставить ПоверМейт, что решил еще по-эксперементировать. Энкодер хитрый оказался и не только конструкцией, производитель ALPS, проработал "всего" три года. Фото-первая вправо, вторая влево. В хоткее проскакивают значения -196(?), -246(?), -425(?), -1024(?). Что со всем этим делать ума не приложу. Значения должно быть три(Андрей сказал), у меня фигня какая то. Поменять энкодер не могу, где еще взять такой? Да и самоделка уже встроена в интерьер.

ps. Икар реагирует на энкодер только если долго крутить, и то с ошибками.

Murkur
08.09.2014, 15:53
В продолжении темы. Так не хочется ставить ПоверМейт, что решил еще по-эксперементировать. Энкодер хитрый оказался и не только конструкцией, производитель ALPS, проработал "всего" три года. Фото-первая вправо, вторая влево. В хоткее проскакивают значения -196(?), -246(?), -425(?), -1024(?). Что со всем этим делать ума не приложу. Значения должно быть три(Андрей сказал), у меня фигня какая то. Поменять энкодер не могу, где еще взять такой? Да и самоделка уже встроена в интерьер.

ps. Икар реагирует на энкодер только если долго крутить, и то с ошибками.
Так может этот энкодер работает по длине импульса, а не по значению уровня?

basurman
08.09.2014, 20:59
Так может этот энкодер работает по длине импульса, а не по значению уровня?

Может быть, попробовал еще 4 энкодера. Два с родных магнитол тоета и два китайских. Китайский новый работает так же плохо, китайский с магнитолы сони работает как настоящий с одним но, раздолбанный в хлам и шумит как плохой импульсник, но работает. Пока в задумчивости...:sad2:

basurman
08.09.2014, 21:32
Нашел данные на энкодер, вроде обычный.
http://www.alps.com/prod/info/E/HTML/Encoder/Ring/EC28A/EC28A1550401.html#Sliding Noise

Поставил резистор подтяжки на энкодер 3.3к и он заработал. Следующий вопрос, считает в Икаре это устройство как? На каждый щелчек энкодера или как то по другому? У меня регулировка громкости на данный момент происходит непоследовательно, то есть может и на два процента увеличить- уменьшить, а может и на пять.

упс. блокировочные кондеры на энкодере стоят.

Bersenev
08.09.2014, 23:32
Следующий вопрос, считает в Икаре это устройство как? На каждый щелчек энкодера или как то по другому? У меня регулировка громкости на данный момент происходит непоследовательно, то есть может и на два процента увеличить- уменьшить, а может и на пять.


Если на энкодер настроены кнопки громкости, то соответственно один щелчок энкодера это одно нажатие на кнопку громкости. А вот на сколько увеличивается громкость при нажатии на кнопку громкость зависит от настроек в файле VolTable.INI

basurman
08.09.2014, 23:45
Да чукча я, все супер, громкость прибавляется по одному до десяти, по два до двадцати и по пять дальше. Во блин я суету поднял из-за резистора, а ведь глядел на него. Сейчас пойду ставить, задолбался уже проводком комп включать.

jos911
09.09.2014, 14:03
Ребята подскажите, можно ли сделать так, чтобы кнопка при нажатии меняла свое графическое изображение, (нажал, включилось- кнопка стала зеленой, выключил красной) просто красные "значки" не совсем удобно. и как настроить задержку на команду Push, где-то видел, а найти не могу.

Bersenev
09.09.2014, 14:13
Ребята подскажите, можно ли сделать так, чтобы кнопка при нажатии меняла свое графическое изображение, (нажал, включилось- кнопка стала зеленой, выключил красной) просто красные "значки" не совсем удобно. и как настроить задержку на команду Push, где-то видел, а найти не могу.

О каких именно кнопках и значках идёт речь?

jos911
09.09.2014, 14:34
В плагине "Блок реле" Экранные кнопки-те, которые управляют релюхами. Значки- красненькие прямоугольники, которые показывают состояние реле.

basurman
09.09.2014, 15:24
Поставил резистор подтяжки на энкодер 3.3к и он заработал.

Резистор пришлось на 3.9к поменять. А то в машине почему то глючило, теперь ок.:whistle:

RA0CHE
21.09.2014, 14:23
Всех приветствую, прошил ардуинку, кнопки понимает, энкодер вращает, темпер.датчики показывают,icar DS видит только DS18B20, пытался использовать ds18S20(ds1820) не видит их, можно ли их использовать ?
понравилась идея с акселерометром, нашел такой http://dvrobot.ru/238/417.html
на основе чипа MMA7361 будет работать?

Bersenev
21.09.2014, 15:49
Всех приветствую, прошил ардуинку, кнопки понимает, энкодер вращает, темпер.датчики показывают,icar DS видит только DS18B20, пытался использовать ds18S20(ds1820) не видит их, можно ли их использовать ?

датчик DS18B20 в качестве своего идентификатора возвращает 0x28 , а ds18S20 - 0x10. Если в процедуре опроса датчиков 0x28 заменить на 0x10, то они должны заработать

понравилась идея с акселерометром, нашел такой http://dvrobot.ru/238/417.html
на основе чипа MMA7361 будет работать?

Будет, у меня именно такой

RA0CHE
21.09.2014, 16:36
возможно ли использовать два вида термодатчиков? что бы опрашивал и те и другие .
акселерометр заказываю)).
может не в тему... переодически выскакивает сообщение, посетить сраничку, для получения лицензии, какова процедура получения лицензии?
может есть версии икара, не требующие лицензию?

Bersenev
21.09.2014, 16:54
возможно ли использовать два вида термодатчиков? что бы опрашивал и те и другие .
акселерометр заказываю)).

Скорее всего да, только проверять надо на оба идентификатора и 0x28 и 0x10

может не в тему... переодически выскакивает сообщение, посетить сраничку, для получения лицензии, какова процедура получения лицензии?

http://carmonitor.ru/ru/icards-p-183.html

может есть версии икара, не требующие лицензию?

http://www.pccar.ru/showthread.php?t=13693

RA0CHE
21.09.2014, 17:05
http://carmonitor.ru/ru/icards-p-183.html
на сайте, высылают диск?
http://www.pccar.ru/showthread.php?t=13693
Скачать последнюю версию можно здесь
битая ссылка.

Bersenev
21.09.2014, 17:13
http://carmonitor.ru/ru/icards-p-183.html
на сайте, высылают диск?

Нет, дают серийный номер икара, далее активируешь и окно пропадает.

http://www.pccar.ru/showthread.php?t=13693
Скачать последнюю версию можно здесь
битая ссылка.

Точно, забыл что тот сервер давно накрылся, так что та версия давно накрылась и к сожалению у меня не сохранилась. Так что если только кто то поделится. Но если используется win 7 или 8, то использовать её смысла нет

RA0CHE
21.09.2014, 17:35
да... накладно получается, а есть ли лишний серийник, кто бы поделился?
да.. проэкт оказался довольно накладным... проще было прикупить китайскую балалайку за 6-7 тысяч... :-((

[ivi]
21.09.2014, 18:58
....проще было прикупить китайскую балалайку за 6-7 тысяч... :-((на балалайке только жпс, медиа до 32-ух гГб

RA0CHE
22.09.2014, 13:14
;306962']на балалайке только жпс, медиа до 32-ух гГб

а куда вам больше??
дополнительные опции икара, это удобно, но со временем куча наворотов и "плюшек" окажется не нужной

OsDima
22.09.2014, 14:36
а куда вам больше??
дополнительные опции икара, это удобно, но со временем куча наворотов и "плюшек" окажется не нужной
Значит надо довольствоватся сухарями... Мне осталось только RMTS воплотить.
За три года потихоньку, помаленьку вот что получилось (https://onedrive.live.com/redir?resid=6390C77ADA11700F!8318&authkey=!APr1p4lUR0zQm5g&ithint=video%2cmp4).

RA0CHE
22.09.2014, 16:50
что есть RMTS?
https://onedrive.live.com/redir?resid=6390C77ADA11700F!8318&authkey=!APr1p4lUR0zQm5g&ithint=video%2cmp4
для новогодней темы прикольно)), елочку нужно добавить в центре... хотя каждый сходит с ума по своему))... без обид.

sirota
22.09.2014, 17:13
на балалайке только жпс, медиа до 32-ух гГб




а куда вам больше??


Это только пионэры сейчас слушают мп3, через флешки на 32 ггб.:rolleyes2:


А у нас, только одна композиция в многоканале 5.1 от пинфлоид(mani) весит больше 500 мегов :yes2:

OsDima
22.09.2014, 17:43
что есть RMTS?
https://onedrive.live.com/redir?resid=6390C77ADA11700F!8318&authkey=!APr1p4lUR0zQm5g&ithint=video%2cmp4
для новогодней темы прикольно)), елочку нужно добавить в центре... хотя каждый сходит с ума по своему))... без обид.
RRTMS "Давление в Шинах".
Скоро зима... Зато елка уже с собой..:big:
Цветомузыка построена на Дуинке Нано, вообще планировал Эмбилайт и интеграция с икаром. То что в Фарах еще не выкладывал.
Версия 2 данной световой инсталяции, зональное сенсорное управление светом над каждой аркой с димированием, в один скейтч все не вошло, поэтому только часть видео. Вобшем "схожу" по полной.:be::tease::rofl:
Извиняюсь если пост не в той теме, но у меня есть задумка связать например скорость по GPS с этой лентой через iCar.

RA0CHE
23.09.2014, 12:54
подскажите какие выводы акселерометра использовать?
ссылка http://dvrobot.ru/238/417.html

Андрей, подскажите какой акселерометр Вами был применен?
что делать с выводами OG,ST,GS ?

RA0CHE
26.09.2014, 20:50
Собрал на макетке, все работает,будем оформлять в коробушку. Автору огромное спасибо, за отличный проект

OsDima
27.09.2014, 04:33
Собрал на макетке, все работает,будем оформлять в коробушку. Автору огромное спасибо, за отличный проектНе забудь модифицировать скейтч под короткое, долгое нажатие а с шифтом получается 4 функции на кнопку.

RA0CHE
27.09.2014, 06:18
скетч брал с шапки, или есть последние обновления? где посмотреть об изменениях?
кто, как реализовывал печатку?

rabbin
30.09.2014, 23:17
добрый вечер, несколько раз прочитал тему, но так и не понял как решить свою проблему.
У меня установлена Win7х32, кнопки руля подключены через Joystik из вашего магазина, залил скетч из первого поста, только пин 7 поставил.
Проблема в том, что Joystik начинает работать только если я адаптер выдерну и вставлю в USB, при запущенной iCarDs, если программу закрыть и опять запустить то она опять теряет адаптер.

Может кто подскажет куда копать?

Заранее спасибо.

Diagnose
03.10.2014, 01:30
TO RA0CHE http://www.pccar.ru/showthread.php?t=13693
Скачать последнюю версию можно здесь
битая ссылка.
Если нужна версия 1_0_5 и скин к ней, у меня вроде есть в архивах. Скинь координаты, куда тебе их выслать.:yes4:

RA0CHE
03.10.2014, 13:36
[B]TO RA0CHE
Если нужна версия 1_0_5 и скин к ней, у меня вроде есть в архивах. Скинь координаты, куда тебе их выслать.:yes4:
можно на почту скинуть ra0che@mail.ru
примного благодарен

jos911
07.10.2014, 14:05
Друзья. Натолкните на мысль. Хочу использовать свободные входы ардуино для индикаторов открытых дверей, надо всего три штуки. Скин я поправлю, индикаторы выведу, а вот что подправить в скетче и какие команды использовать в iCar ,так и не понял. Да, при этом если открыта дверь ,то резестивные кнопки должны работать.
Заранее спасибо.

jos911
13.10.2014, 21:14
Так, что никто не знает решения.

Bersenev
13.10.2014, 22:42
Друзья. Натолкните на мысль. Хочу использовать свободные входы ардуино для индикаторов открытых дверей, надо всего три штуки. Скин я поправлю, индикаторы выведу, а вот что подправить в скетче и какие команды использовать в iCar ,так и не понял. Да, при этом если открыта дверь ,то резестивные кнопки должны работать.
Заранее спасибо.

Для этого не достаточно править скетч и скин, надо ещё и переделывать сам плагин iCarDuino

Pifыч
17.10.2014, 19:50
Здравствуйте!
Нужна помощь.
Решил попробовать подключить arduino с данным скетчем. сам скетч залился без ошибок. А вот iCarDuino работать с ним не хочет. Подключил только темп датчики и акселерометр.
длл-ку зарегистрировал, в duino.ini параметры прописал,
однако duino_temp_sensors.ini строки не появляются, датчики акселерометра выдают нули.

сама плата и датчики похоже что живая, т.к. если через Serial Port Monitor в hex посылать комманды то плата начинает что-то отдавать:


[17/10/2014 18:20:33] - Written data
03 .
[17/10/2014 18:20:33] - Read data
ef ff ff ff 8e 01 ab 01 27 02 00 00 ef ff ff ff ïÿÿÿŽ.«.'...ïÿÿÿ
11 02 44 02 d3 02 00 00 ef ff ff ff 12 02 42 02 ..D.Ó...ïÿÿÿ..B.
d2 02 00 00 ef ff ff ff 12 02 42 02 d7 02 00 00 Ò...ïÿÿÿ..B.×...
ef ff ff ff 12 02 43 02 d4 02 00 00 ef ff ff ff ïÿÿÿ..C.Ô...ïÿÿÿ
12 02 43 02 d3 02 00 00 ef ff ff ff 11 02 41 02 ..C.Ó...ïÿÿÿ..A.
d3 02 00 00 ef ff ff ff 11 02 42 02 d6 02 00 00 Ó...ïÿÿÿ..B.Ö...
ef ff ff ff 12 02 44 02 d3 02 00 00 ef ff ff ff ïÿÿÿ..D.Ó...ïÿÿÿ
10 02 42 02 d1 02 00 00 ef ff ff ff 11 02 43 02 ..B.Ñ...ïÿÿÿ..C.
d5 02 00 00 ef ff ff ff 11 02 42 02 d4 02 00 00 Õ...ïÿÿÿ..B.Ô...
ef ff ff ff 10 02 43 02 d4 02 00 00 ef ff ff ff ïÿÿÿ..C.Ô...ïÿÿÿ
11 02 42 02 d3 02 00 00 ef ff ff ff 11 02 43 02 ..B.Ó...ïÿÿÿ..C.
d1 02 00 00 ef ff ff ff 11 02 43 02 d2 02 00 00 Ñ...ïÿÿÿ..C.Ò...
ef ff ff ff 11 02 42 02 d3 02 00 00 ef ff ff ff ïÿÿÿ..B.Ó...ïÿÿÿ
11 02 42 02 d5 02 00 00 ef ff ff ff 11 02 41 02 ..B.Õ...ïÿÿÿ..A.
d5 02 00 00 ef ff ff ff 0e 02 44 02 d5 02 00 00 Õ...ïÿÿÿ..D.Õ...
ef ff ff ff 11 02 43 02 d3 02 00 00 ef ff ff ff ïÿÿÿ..C.Ó...ïÿÿÿ
12 02 45 02 d3 02 00 00 ef ff ff ff 11 02 42 02 ..E.Ó...ïÿÿÿ..B.
d2 02 00 00 ef ff ff ff 11 02 43 02 d4 02 00 00 Ò...ïÿÿÿ..C.Ô...
ef ff ff ff 13 02 44 02 d5 02 00 00 ef ff ff ff ïÿÿÿ..D.Õ...ïÿÿÿ
10 02 42 02 d4 02 00 00 ef ff ff ff 11 02 43 02 ..B.Ô...ïÿÿÿ..C.
d5 02 00 00 ef ff ff ff 11 02 43 02 d4 02 00 00 Õ...ïÿÿÿ..C.Ô...
ef ff ff ff 12 02 42 02 d5 02 00 00 ef ff ff ff ïÿÿÿ..B.Õ...ïÿÿÿ
11 02 41 02 d6 02 00 00 ef ff ff ff 11 02 44 02 ..A.Ö...ïÿÿÿ..D.
d8 02 00 00 ef ff ff ff 10 02 44 02 d4 02 00 00 Ø...ïÿÿÿ..D.Ô...
ef ff ff ff 10 02 43 02 d5 02 00 00 ef ff ff ff ïÿÿÿ..C.Õ...ïÿÿÿ
11 02 43 02 d7 02 00 00 ef ff ff ff 10 02 43 02 ..C.×...ïÿÿÿ..C.
d5 02 00 00 ef ff ff ff 0f 02 42 02 d4 02 00 00 Õ...ïÿÿÿ..B.Ô...
ef ff ff ff 10 02 43 02 d4 02 00 00 ef ff ff ff ïÿÿÿ..C.Ô...ïÿÿÿ
12 02 43 02 d4 02 00 00 ef ff ff ff 11 02 43 02 ..C.Ô...ïÿÿÿ..C.
d4 02 00 00 ef ff ff ff 10 02 42 02 d4 02 00 00 Ô...ïÿÿÿ..B.Ô...
ef ff ff ff 12 02 42 02 d5 02 00 00 ef ff ff ff ïÿÿÿ..B.Õ...ïÿÿÿ
12 02 42 02 d4 02 00 00 ef ff ff ff 10 02 42 02 ..B.Ô...ïÿÿÿ..B.
d5 02 00 00 ef ff ff ff 10 02 40 02 d5 02 00 00 Õ...ïÿÿÿ..@.Õ...
ef ff ff ff 11 02 43 02 d4 02 00 00 ef ff ff ff ïÿÿÿ..C.Ô...ïÿÿÿ
10 02 42 02 d1 02 00 00 ef ff ff ff 10 02 43 02 ..B.Ñ...ïÿÿÿ..C.
d3 02 00 00 ef ff ff ff 11 02 42 02 d5 02 00 00 Ó...ïÿÿÿ..B.Õ...
ef ff ff ff 11 02 43 02 d4 02 00 00 ef ff ff ff ïÿÿÿ..C.Ô...ïÿÿÿ
12 02 44 02 d4 02 00 00 ef ff ff ff 11 02 43 02 ..D.Ô...ïÿÿÿ..C.
d6 02 00 00 ef ff ff ff 13 02 42 02 d6 02 00 00 Ö...ïÿÿÿ..B.Ö...
ef ff ff ff 12 02 43 02 d4 02 00 00 ef ff ff ff ïÿÿÿ..C.Ô...ïÿÿÿ
13 02 45 02 d2 02 00 00 ef ff ff ff 10 02 43 02 ..E.Ò...ïÿÿÿ..C.
d3 02 00 00 ef ff ff ff 11 02 42 02 d3 02 00 00 Ó...ïÿÿÿ..B.Ó...
ef ff ff ff 10 02 43 02 d4 02 00 00 ef ff ff ff ïÿÿÿ..C.Ô...ïÿÿÿ
12 02 43 02 d5 02 00 00 ef ff ff ff 11 02 43 02 ..C.Õ...ïÿÿÿ..C.
d4 02 00 00 ef ff ff ff 11 02 43 02 d4 02 00 00 Ô...ïÿÿÿ..C.Ô...
ef ff ff ff 11 02 42 02 d4 02 00 00 ef ff ff ff ïÿÿÿ..B.Ô...ïÿÿÿ
10 02 42 02 d5 02 00 00 ef ff ff ff 13 02 43 02 ..B.Õ...ïÿÿÿ..C.
d5 02 00 00 ef ff ff ff 12 02 43 02 d3 02 00 00 Õ...ïÿÿÿ..C.Ó...
ef ff ff ff 12 02 41 02 d3 02 00 00 ïÿÿÿ..A.Ó...

[17/10/2014 18:20:38] - Written data
83 02 ƒ.

[17/10/2014 18:20:42] - Read data
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 c6 01 ÿÿÿÿ(þuë...(..Æ.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 c4 01 ÿÿÿÿ(õYé......Ä.
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 ca 01 ÿÿÿÿ(þuë...(..Ê.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 ca 01 ÿÿÿÿ(õYé......Ê.
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 ca 01 ÿÿÿÿ(þuë...(..Ê.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 ca 01 ÿÿÿÿ(õYé......Ê.
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 cb 01 ÿÿÿÿ(þuë...(..Ë.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 ca 01 ÿÿÿÿ(õYé......Ê.
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 cb 01 ÿÿÿÿ(þuë...(..Ë.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 ca 01 ÿÿÿÿ(õYé......Ê.
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 cb 01 ÿÿÿÿ(þuë...(..Ë.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 cb 01 ÿÿÿÿ(õYé......Ë.
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 cb 01 ÿÿÿÿ(þuë...(..Ë.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 cb 01 ÿÿÿÿ(õYé......Ë.
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 cc 01 ÿÿÿÿ(þuë...(..Ì.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 cb 01 ÿÿÿÿ(õYé......Ë.
ff ff ff ff 28 fe 75 eb 05 00 00 28 00 00 cc 01 ÿÿÿÿ(þuë...(..Ì.
ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 cc 01 ÿÿÿÿ(õYé......Ì.

[17/10/2014 18:20:55] - Written data
82

В все том же мониторе видно, что после запуска ICarDS, iCarDuino что-то посылает в порт, однако в ответ не получает нужных данных:
[17/10/2014 18:42:38] - Written data

02 03 82 81 82 03 84 85 86 07 17 87 81 82 83 84 ..‚‚.„…†..‡‚ƒ„
85 86 27 00 …†'.

[17/10/2014 18:43:24] - Close port

Причем если сначала через монитор послать 2 и 3 а потом запустить ICarDS то картина получается следующая:

[17/10/2014 18:40:37] - Written data

02 03 82 81 82 03 84 85 86 07 17 ..‚‚.„…†..

[17/10/2014 18:40:42] - Read data

ef ff ff ff 13 02 47 02 e0 02 00 00 ef ff 05 00 ïÿÿÿ..G.à...ïÿ..
00 28 00 00 c8 01 ef ff ff ff 14 02 47 02 dd 02 .(..È.ïÿÿÿ..G.Ý.
00 00 ff ff ff ff 28 f5 59 e9 05 00 00 0e 00 00 ..ÿÿÿÿ(õYé......
c8 01 ef ff ff ff 13 02 47 02 dc 02 È.ïÿÿÿ..G.Ü.

[17/10/2014 18:40:47] - Written data

87 81 82 83 84 85 86 27 00 ‡‚ƒ„…†'.

[17/10/2014 18:41:29] - Close port

Версия ICarDS 1_7_0_33
Версия ICarDuino 1_0_0_9.

Плата Arduino Micro (на ATmega32u4)

Pifыч
18.10.2014, 00:18
Обновил до версии 1.7.0.48 (скин тоже обновил) не помогло.
Подскажите что еще можно сделать?

Lexx09
18.10.2014, 01:16
Попробуйте на разных скоростях порта.

Pifыч
18.10.2014, 03:39
Прообвал на скоростях 115200 19600 9600 не помогает
Изучая логи в мониторе, нашел отличие в управлении сигналами RTS и DTR.
При открытии порта из монитора посылаются команды:
IOCTL_SERIAL_SET_RTS - Request sets RTS
IOCTL_SERIAL_SET_DTR - Request sets DTR

а при открытии порта из ICarDuino:
IOCTL_SERIAL_CLR_RTS - Request clears the RTS control signal.
IOCTL_SERIAL_CLR_DTR - Request clears the DTR control signal.

т.е. ICarDuino сбрасывает эти линии.
Вполне возможно причина в этом, и связно это с особенностью контроллера ATmega32u4. т.к. на моей плате отсутствует FDTI микросхема (ATmega32u4 поддерживает передачу данных по USB напрямую)

Хотелось бы услышать мнение Уважаемого Bersenevа. Возможно ли применение такого Arduino для работы с ICarDuino?

rabbin
18.10.2014, 22:14
добрый вечер, несколько раз прочитал тему, но так и не понял как решить свою проблему.
У меня установлена Win7х32, кнопки руля подключены через Joystik из вашего магазина, залил скетч из первого поста, только пин 7 поставил.
Проблема в том, что Joystik начинает работать только если я адаптер выдерну и вставлю в USB, при запущенной iCarDs, если программу закрыть и опять запустить то она опять теряет адаптер.

Может кто подскажет куда копать?

Заранее спасибо.

Всем спасибо, разобрался сам, оказалось все банально просто, поменял порт, вместо COM3 поставил 10, и iCarDS увидел его.:smile1:

Pifыч
19.10.2014, 02:12
Поэкспериментировав с настройками порта и почитав интернеты выяснил в чем причина моей проблемы:
В Arduino Nano для перезагрузки контроллера используется сигнал DTR и, я так подозреваю, в ICarDuino При инициализации COM-порта выставлен параметр:

dcb.fDtrControl = DTR_CONTROL_DISABLE; (Или что-то подобное, в зависимости от того, на чем пишет автор)

а для работы с новыми контроллерами нужно передавать:

dcb.fDtrControl = DTR_CONTROL_ENABLE;

Возможно ли добавить настройку (например в Global Vars), которая позволит настраивать передачу этого сигнала, в зависимости от того, какой контроллер используется?

Bersenev
19.10.2014, 10:14
Возможно ли добавить настройку (например в Global Vars), которая позволит настраивать передачу этого сигнала, в зависимости от того, какой контроллер используется?

В Gobal Vars добавь

duino_com_DtrControl=1

и пробуй новую версию плагина

Pifыч
19.10.2014, 14:15
Заработало.
Огромное спасибо.

Pifыч
26.10.2014, 12:33
Я правильно понимаю, для того чтобы повесить на кнопку клавиатурное сочетание SHIFT+CTRL+1 мне в настройках кнопок надо прописать команду sendkey;+^{1} ?

OsDima
04.11.2014, 07:31
Спасибо. Пробовал эти команды только без CF перед ними. Как в первом случае, так и во втором реакция одна - зависон ИКАРА капитальный. Не завершить даже из диспетчера задач... :(

В продолжение данного вопроса. При назначении данных команд на резистивные кнопки или на IR управление - Икар глухо зависает, но та-же команда назначенная на голосовое управление отрабатывает исправно. Что можно в данном случае предпринять. Третий год тапаю по экрану уводя Икар в сон.

P.S.
1) Визуализация экрана "Музыка" настроена на второй потолочный монитор. При "просыпании" визуализация всегда на месте. При загрузке "фиг найдеш её", надо опять её включить и перенести на второй монитор.

2) Если коснутся сенсора второго монитора с включенной на весь экран "Визуализацией или Экраном Видео" оно убегает на первый монитор. "Тронеш" сенсор первого монитора.... убегает обратно на второй монитор.
Не очень удобно - хотя привык уже. И всеже данное поведение данных окон не логично, можно их зафиксировать на тех мониторах на которые они настроены при загрузке и чтобы не "прыгали" от сенсорного экрана.
Можно галочки в настройках ......

jos911
04.11.2014, 20:34
Всем привет. Почему не работают команды, что я не так делаю.
Это в добавлено в ExecTBL
"Relay1on","duino_relay_1_on||StartTimer;Relay1;2500"
"onRelay1timer","EndTimer;Relay1||duino_relay_1_off"

В скине на кнопу повесил команду "Relay1on"
Так это выглядит.
B,xxx,xxx,xxx,xxx,"Relay1on"

Bersenev
04.11.2014, 21:29
Всем привет. Почему не работают команды, что я не так делаю.
Это в добавлено в ExecTBL
"Relay1on","duino_relay_1_on||StartTimer;Relay1;2500"
"onRelay1timer","EndTimer;Relay1||duino_relay_1_off"

В скине на кнопу повесил команду "Relay1on"
Так это выглядит.
B,xxx,xxx,xxx,xxx,"Relay1on"

Судя по командам всё верно. Какая версия плагина стоит? В старых версиях плагина была орфографическая ошибка в команде duino_relay_№_on, попробуй эту версию http://www.pccar.ru/showpost.php?p=309103&postcount=689 .

jos911
04.11.2014, 23:12
С этой версией заработало. Спасибо. Но перестали работать ранее настроенные реле, нет реакции на нажатие кнопок, ставлю старый плагин все работает, с новым нет.
Может проще команду писать с ошибкой (хотя это не правильно) на старой версии.

Bersenev
04.11.2014, 23:23
С этой версией заработало. Спасибо. Но перестали работать ранее настроенные реле, нет реакции на нажатие кнопок, ставлю старый плагин все работает, с новым нет.
Может проще команду писать с ошибкой (хотя это не правильно) на старой версии.

Скорее всего и скин надо обновить http://www.pccar.ru/showthread.php?t=20347, вот только я не помню есть ли это исправление в этой версии скина, но на этой неделе я выложу скин со всеми накопившимися исправлениями, тогда всё заработает. А какая именно ошибка была в написании команды я уже не помню.

jos911
04.11.2014, 23:34
Обновление скина мне не поможет, в моем проекте скины самописные.
Ну нечего, прорвемся, есть идея........

Bersenev
04.11.2014, 23:36
Обновление скина мне не поможет, в моем проекте скины самописные.
Ну нечего, прорвемся, есть идея........

Скорее всего достаточно обновить ExecTBL.ini

jos911
04.11.2014, 23:55
Все победил и этот недуг, проект продолжается. Так и сделал, причем обновил только секцию Arduino в ExecTBL.ini из Chamelion 16.06.14. Спасибо за помощь.

OsDima
05.11.2014, 06:04
В продолжение данного вопроса. При назначении данных команд на резистивные кнопки или на IR управление - Икар глухо зависает, но та-же команда назначенная на голосовое управление отрабатывает исправно. Что можно в данном случае предпринять. Третий год тапаю по экрану уводя Икар в сон.

Игрался с настройками ИК Пульта, настраивал перемотку на 5 сек (у меня на 3 сек), Глаша включила IE (от рации), а я нажал на еще не перепрограмированную кнопку "спать". И на тебе "Икар" заснул.

Настроил перемотку на кнопки ИК пульта, получилось прикольно, автоповтора ненужно, оно уже есть. Пока держишь кнопку мотает.

Bersenev
05.11.2014, 09:04
1) Визуализация экрана "Музыка" настроена на второй потолочный монитор. При "просыпании" визуализация всегда на месте. При загрузке "фиг найдеш её", надо опять её включить и перенести на второй монитор.

В настройках скина АВТО ВКЛЮЧЕНИЕ ВИЗУАЛИЗАЦИИ выбери нужные медиаисточники и визуализация будет всегда включаться для этих медиаисточников

2) Если коснутся сенсора второго монитора с включенной на весь экран "Визуализацией или Экраном Видео" оно убегает на первый монитор. "Тронеш" сенсор первого монитора.... убегает обратно на второй монитор.
Не очень удобно - хотя привык уже. И всеже данное поведение данных окон не логично, можно их зафиксировать на тех мониторах на которые они настроены при загрузке и чтобы не "прыгали" от сенсорного экрана.
Можно галочки в настройках ......

Это поправил, теперь если визуализация находится на первом мониторе, то при касании она разворачивается на весь первый монитор, а если на втором, то ничего не происходит.

RA0CHE
07.11.2014, 15:00
удалил

OsDima
16.11.2014, 18:06
Прошу помощи. Стоит у меня в качестве обгонной камеры KPC-DNR700 (http://www.ktnc.co.kr/russian/viewtopic.php?t=610). У неё есть OSD меню, и много различных режимов. Хочу настроить управление меню камеры через резистивные кнопки iCar или прямо из скина.
Нашел вот такую тему (http://blog.radiotech.kz/blog/arduino/27.html) по управлению по PELCO-D.
Но это не то, зачем городить два огорода поверх первого. Есть последовательность - "которая мне известна из мануала камеры". Купил вот этот USB-485 (http://jewelfox.ru/lot.php?id=2850) преобразователь. Определяется как Сом порт.
Как мне послать известную мне последовательность из скина.
Или привязать её к резистивным кнопкам.
Заранее благодарен за помощь и подсказку.

Bersenev
17.11.2014, 11:09
Прошу помощи. Стоит у меня в качестве обгонной камеры KPC-DNR700 (http://www.ktnc.co.kr/russian/viewtopic.php?t=610). У неё есть OSD меню, и много различных режимов. Хочу настроить управление меню камеры через резистивные кнопки iCar или прямо из скина.
Нашел вот такую тему (http://blog.radiotech.kz/blog/arduino/27.html) по управлению по PELCO-D.
Но это не то, зачем городить два огорода поверх первого. Есть последовательность - "которая мне известна из мануала камеры". Купил вот этот USB-485 (http://jewelfox.ru/lot.php?id=2850) преобразователь. Определяется как Сом порт.
Как мне послать известную мне последовательность из скина.
Или привязать её к резистивным кнопкам.
Заранее благодарен за помощь и подсказку.

Самый правильный вариант, это писать отдельный плагин для этого устройства. В принципе можно использовать плагин iCarDuino, но тогда нельзя будет использовать ардуино, так как плагин работает только с одним com портом. Есть команда duino_send , которая отправляет последовательность в com порт.

OsDima
17.11.2014, 17:18
Самый правильный вариант, это писать отдельный плагин для этого устройства. В принципе можно использовать плагин iCarDuino, но тогда нельзя будет использовать ардуино, так как плагин работает только с одним com портом. Есть команда duino_send , которая отправляет последовательность в com порт.
Да было такое 10 (http://pccar.ru/showpost.php?p=259448&postcount=10) и 12 (http://pccar.ru/showpost.php?p=259450&postcount=12) и отвечалось мне. Похоже это то что надо.
Только как мне указать номер порта отличный от iCarDuino, для 485 интерфейса. Как это зделать из скина.

Да и заодно, как насчет этого:
Допустим у тебя реле №5 закрывает двери и ты пользуешься моим скетчем в ардуино, тогда задаёшь

duino_send_commamd_ondrivestart=BB_05_01

Теперь реле будет включаться в тот момент, когда происходит сообщение о начале движение.

Открытие как ты хочешь сейчас сделать нельзя, но я же тебе обещал, что управление реле по условиям я сделаю, тем более всё это мне нужно в проекте с ГАЗ-21, только не сейчас. Снова икаром займусь ориентировочно в июле.
Реле - спаяны оттестированны и лежат в бардачке - ждуд.т.

jos911
20.11.2014, 18:54
Всем привет. Может кто знает как сделать повторяющуюся команду. Допустим я включаю реле №.. на 10 сек, по и стечении 10 сек. реле выключается, допустим на 5 сек., потом снова включается на 10 сек. и так до бесконечности.


"vent","EndTimer;Relay15||duino_relay_15_on||StartTimer;Re lay15;10000"
"onRelay15timer","EndTimer;Relay15||duino_relay_15_off"
Что суда добавить и как создать цикл?

Murkur
18.01.2015, 17:10
Помогите разобраться с плагином. Подключены только 2 датчика температуры и ИК-сенсор. Температура отображается нормально, пульт в медиа плеере не работает. Причем в настройках пульт нормально посылает команды и всё работает.
Программа последней версии и раньше всё работало нормально.

Tygra
06.03.2015, 15:53
Что то не могу скомпилить скетч.
Build options changed, rebuilding all
C:\Program Files (x86)\Arduino\libraries\RobotIRremote\src\IRremote Tools.cpp:5:16: error: 'TKD2' was not declared in this scope
int RECV_PIN = TKD2; // the pin the IR receiver is connected to
^
Ошибка компиляции.

Tygra
11.03.2015, 17:06
Пришлось искать дуину версии 1.0 , чистить библиотеки из домашней папки и брать патченный irremote . Только после этого удалось скомпилить скетч и закинуть его в контроллер.

Tygra
12.03.2015, 19:43
Все собрал. Все работает. Аналоговый вход кнопок заземлил резистором на 1ком иначе глючило (резестивные кнопки не используются). Один энкодер, ик пульт и термодатчики.
Вопрос :
Когда крутишь энкодер то на каждый "щелчок" приходится по 5пр прибавки или убавки громкости, это очень много, регулировка выходит сильно грубо, как и где можно настроить чтоб шаг был в 1пр, т.е. 1 щелчок = 1процент изменения. Или это у меня дребезг контактов на 5пр ?

P\S настройка термодатчиков не много не так как описано в начале темы. Формат не много не тот, по аналогии конечно можно сообразить, но с первого разу делаешь по описанию и не работает.

Tygra
17.04.2015, 13:58
Добавление, у меня поработала дуина какое то время и отказала. Думаю что слетела прошивка из-за замотанной кнопки резет (изолентой весь блок замотал). Прошил заново и заработала. Энкодеры разные бывают. Я ставил от бытового магнитофона, у него в "покое" все "выводы" в воздухе висят. Сейчас воткнул от магнитолы китайской, у нее шиш поймеш как идет, частенько какой то из контактов остается замкнут, соответственно кнопка на кодере работает не всегда, т.е. когда повернул на шелчок, работает кнопка, повернул еще не работает, С этим можно что то сделать или тема уже померла ? Так же хочу отметить что ИК датчики бывают разные, сегодня заменил свой на другой ( с магнитолы выдрал) и стало значительно стабильнее, а то старый реагировал на свет, постоянно глючил и ошибался по определению сигналов с пульта, сейчас все стабильно :) , когда не знаешь как должно быть, то думаешь что так и должно быть.
P\S Я не знаю нафига такая задержка на включение дуины аж 10.5 сек, просто дико раздражало. Выставил 200мс, стало просто отлично, а то капец какой то, машину заводишь и музыка орет, пытаешься крутилку крутить, а она не пашет, быстро тыкать по экрану начинаешь. Бесило страшно, сейчас мазя, комп загрузился и кнопки и крутилка сразу работают.

Tygra
20.04.2015, 09:31
Какой гироскоп лучше купить ? На фото ни черта не видно чип какой.

RA0CHE
20.04.2015, 15:37
если речь о акселерометре, то вот:
http://dvrobot.ru/238/417.html
работает без нареканий.

Tygra
20.04.2015, 15:44
Я смотрел, но количество выводов отличное от схемы меня смутило.

Tygra
26.04.2015, 21:32
Эмм второй раз такая фигня, слетает прошивка на ардуине или же еще что то, ехал ехал, выключил, переночевал в отеле, с утра дуина отрубилась. В чем может быть косяк ? Может дуина быть бракованной ?

YraY
11.05.2015, 00:45
Народ подскажите где в скетче перехватить нажатие резистивных кнопок, нужно вернуть три кнопки с руля на круиз контроль

Tygra
11.05.2015, 09:21
С круизом шутки плохи, я бы на вашем месте его работу ардуине бы не доверил.

basurman
11.05.2015, 11:49
Почему же ардуине нельзя доверять, может просто не всегда надо экономить))))) Блок управления двигателем ВЕМС, собран на Атмеге 2560, никто не жалуется. Дуины разные бывают, и за 500 рублей и за 2000 тыщщи. Какая как работать будет приблизительно понятно.

Lexx09
11.05.2015, 13:14
Народ подскажите где в скетче перехватить нажатие резистивных кнопок, нужно вернуть три кнопки с руля на круиз контроль
Посмотри мой. Правда, он для ИК-пульта. Центральная кнопка отвечает за активацию КК. Ее код не передается в iCarDS.

С круизом шутки плохи, я бы на вашем месте его работу ардуине бы не доверил.
Думаю, речь идет об эмуляции нажатия кнопок КК, а не о полноценном крузиз-контроле.

PS: У меня КК на AtMega 168. Жалоб нет.

Tygra
11.05.2015, 13:40
а у меня периодически прошивка тупо слетает. Жду новых плат, на замену. Только начнешь к хорошему привыкать, крутилочки, пульт, датчики и на те, все отрубается, опять все разбирать, прошивать, уже 2 раза так было, заказал новые платки, буду менять, явно что не так с моим экземпляром.

basurman
11.05.2015, 14:39
а у меня периодически прошивка тупо слетает. Жду новых плат, на замену. Только начнешь к хорошему привыкать, крутилочки, пульт, датчики и на те, все отрубается, опять все разбирать, прошивать, уже 2 раза так было, заказал новые платки, буду менять, явно что не так с моим экземпляром.

А может стоит питание дуины проверить?

YraY
11.05.2015, 14:55
явно что не так с моим экземпляром.
а мой древний 168 кардуин 4 года без сбоев, с питанием от бортсети просто через 2 диода.
С круизом шутки плохи, я бы на вашем месте его работу ардуине бы не доверил.
Не вижу проблем в управлении круизом от дуины. нажатие на тормоз при любом раскладе отключает сцепление круиз контроля, плюс механический выключатель питания круиза, плюс автоматический алгоритм отключения круиза в нештатных ситуациях.

Посмотри мой. Правда, он для ИК-пульта. Центральная кнопка отвечает за активацию КК. Ее код не передается в iCarDS.
Спасибо, попробую адаптировать, но не силен в этом.

Tygra
11.05.2015, 15:51
А может стоит питание дуины проверить?

Дуина питается с юсб порта, что там колхозить ? Родной порт.

basurman
11.05.2015, 16:52
Дуина питается с юсб порта, что там колхозить ? Родной порт.
Кар ПС в любом случае колхоз, смотря как относиться к этому слову. Если питания хватает, то конечно и юсб достаточно.

Tygra
11.05.2015, 17:19
Бп свободно тянет свои 5в. Никаких проблем с питанием шины USB не испытывал, мать в карпс стандартная. Все порты свободны тянут USB винты. Думаете дуине не хватает ? Дуина тоже как бы колхоз : ) , при чем откровенно китайский, ктож оригинальную дуину ставит ? Все подделка, цена оригинальной дуины обычно не оставляет желания ее купить. Китайская мега 2560 прекрасно пашет уже больше года в дистанционке для большого авто детей катать и с ней проблем нет. Тут видать китай сказывается, будем менять.

basurman
11.05.2015, 22:02
Бп свободно тянет свои 5в. Никаких проблем с питанием шины USB не испытывал, мать в карпс стандартная. Все порты свободны тянут USB винты. Думаете дуине не хватает ? Дуина тоже как бы колхоз : ) , при чем откровенно китайский, ктож оригинальную дуину ставит ? Все подделка, цена оригинальной дуины обычно не оставляет желания ее купить. Китайская мега 2560 прекрасно пашет уже больше года в дистанционке для большого авто детей катать и с ней проблем нет. Тут видать китай сказывается, будем менять.

Я имел ввиду немного другое, я ж не знаю что там и как подключено, у меня вместе с икардуиной и хаб питается и еще девайсы. Мало ли кто что ставит))))) Я конечно оригинал не пользую, но и голимый китай точно ставить не буду. Привык к DFRobot, им и пользуюсь. Цена конечно не радует, зато проблем нет. Опять же дуина просто так прошивку не сбросит, всему есть причина.

Tygra
12.05.2015, 06:39
дуина воткнута напрямую в порт на матери, всего в портах картридер SD и контроллер кнопок на монике, но они подключены к хабу, который установлен внутри и запитан с внутреннего юсб порта, хаб имеет отдельное 5в. питание.

Tygra
12.05.2015, 15:24
Получил новые платки, буду менять

basurman
14.05.2015, 13:20
Получил новые платки, буду менять

Ну как, помогло?

Tygra
14.05.2015, 13:25
Пока не знаю, сменил дуину, заново собрал плату, поставил разъем чтоб с проводами не мучаться. Только сегодня сделал, поезжу погляжу. Пока работает.

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

basurman
14.05.2015, 14:10
Кто нибудь знает что переписать чтоб использовать прямые выходы для управления релюшками, выходов свободных у дуины еще много, регистр паять не хочется, не нужно мне столько релюшек, 2- 3 хватит с головой. Чтоб напрямую через драйвер на выход цифровой дуины.
p\s мне не лень спаять, мне не где взять данный регистр. Я живу в таком месте где нельзя пойти в магазин и тупо купить. С инета ждать 2-3 месяца.
И из России ждать долго? Там походу с ума сойдешь переписывать)))))
Пороюсь вечером, вроде где то был

Если нужна микра пиши в личку, могу задарить пару 74hct595.))))

Tygra
01.06.2015, 09:48
Спасибо. Заказал с алиекспресса, жду. Собственно не к спеху уже.

YraY
20.10.2015, 01:08
Мой скетч для ардуино, может кому пригодится:
41336
В нем есть:
Термометры - как есть, только подключены по 2 проводной линии.
Два энкодера - как есть.
Резистивные кнопки - с доработкой под длительные нажатия от Glouck,
+ управление с резистивных кнопок круиз контролем, вместо него вы можете управлять чем угодно и как угодно.
Задержка переключения на камеру заднего хода для АКПП.
Все остальное удалено, в результате скетч работает и на 168 и на 328.
По резистивным кнопкам - мне нужно было управлять и икаром и круиз контролем с кнопок на руле, но в его шлейфе "часовой пружине" предусмотрено для этого только одна линия. Вот по этой линии все попадает в ардуинку, коды клавиш музыки идут в икар, а когда появляется код кнопки включения круиза то срабатывает триггер включающий блок круиза и еще две клавиши с руля отключаются от икара и выдают импульсы на круиз. После повторного нажатия выключателя круиза две его клавиши снова возвращаются икару.
Вобщем по такой схеме вы можете управлять чем угодно с кнопок руля, например дополнительными сигналами

sergbb
12.11.2015, 20:16
При подключенной дуинке слышны звуки как будто идут команды.
- Из обвеса подключен только ИК приемник.
- Сответственно настроены строки:
duino_is_ir_key=1
duino_is_encoder_1=0
duino_is_encoder_2=0
duino_is_res_keys=0
- Очистил duino_key_command.ini, duino_key_list.txt, duino_key_info.ini
- По новой прописал команды,все равно идут звуки.
Куда копать?

Помоему откопал.))
Обновить в папочке скина не нажал.
Покатаюсь погляжу.

sergbb
15.11.2015, 20:46
Подскажите.
Как назначить уход в сон с пульта?

Гугл утверждает что только через ярлык + комбинация клавиш.
Другие варианты есть?

sergbb
21.11.2015, 22:01
Как то тихо здеся :blush:

Lexx09
26.11.2015, 12:32
Как назначить уход в сон с пульта?
Очень просто.

На диске C создаешь файл sleep.cmd со следующим содержимым:
rundll32 PowrProf.dll,SetSuspendState 0,1,0
Запускаешь iCarDS, идешь в "Настройки скина", далее в "Настройка кнопок CarDuino". Нажимаешь нужную кнопку на пульте, при этом ее код выделится в списке. Нажимаешь кнопку "Команда iCar DS", пишешь команду:
RUNQ;C:\sleep.cmd
Нажимаешь Enter. Готово.

PS: Предыдущий вариант с командой HIBERNATE не прокатил. Гибернация не наступает, iCarDS продолжает работает, но ни на что не реагирует.

sergbb
27.11.2015, 09:29
Спасибо.
Попробую.
Я так понимаю команда RUNQ запускает любые файлы?

Lexx09
27.11.2015, 10:07
RUNG - нет такой команды. Есть RUN, RUNW, RUNQ, RUNQW.

Вот кусок документации:
"RUN" - Dynamic Commands: set the code of a button to: "RUN;COMMAND|PARAMETER1|PARAMETER2" will
make it so clicking this button runs the specified command&parameters in the computer.
As an option you can run the command specifying the application name to embed in the current
screen (the application will be enbedded using the "A" settings in the skin file of screen:
Example: "RUN;C:\WINDOWS\NOTEPAD.EXE;NOTEPAD" (to run embedded)
"A,000,055,800,545,000,000,000" (.skin definition)
Optionally you can also set the text to be "spoken" when clicking the button:
Example "RUN;C:\WINDOWS\NOTEPAD.EXE;NOTEPAD;NOTEPAD"

"RUNW","RUNQW" - Same as RUN except that RR will not continue execution until the command is completed.
With RUNW you can place a '!' in front of the command if you wish to hide RR during the
execution of the application -- RR will restore when the command is completed.
RUNQW runs the software hidden (like RUNQ below) and wait for it to finish.

"RUNQ" - Same as RUN except that RR will run the command in the background (HIDDEN). Be carefull
not to run full blown applications like this or you'll need to close it with Task Manager.

sergbb
28.11.2015, 01:35
RUNG - нет такой команды. Есть RUN, RUNW, RUNQ, RUNQW....
Сори промахнулся.:blush:

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

Trantor
11.02.2016, 21:39
Кто нибудь знает что переписать чтоб использовать прямые выходы для управления релюшками, выходов свободных у дуины еще много, регистр паять не хочется, не нужно мне столько релюшек, 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
http://pccar.ru/attachment.php?attachmentid=26162&d=1333549730


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

Trantor
17.03.2016, 12:09
Если путаются соседние кнопки

На входе ардуино в схеме Берсенева (http://www.pccar.ru/showpost.php?p=209144&postcount=1) стоит делитель из резистора 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-the-bootloader-Nano-3-0-controller-compatible-for-arduino-nano-CH340-USB-driver-NO-CABLE/32341832857.html, работает без проблем.

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

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

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