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

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

gworum 25.10.2012 20:13

Подскажите в чем проблема, файл "duino_temp_sensors.ini" ни как не хочет создаваться, хотя все остальное работает отлично.

Bersenev 25.10.2012 20:22

Цитата:

Сообщение от gworum (Сообщение 234368)
Подскажите в чем проблема, файл "duino_temp_sensors.ini" ни как не хочет создаваться.

Возможно плагин не загружается, но если другие функции плагина работают, то возможно датчики не так подключены.

D@nger 17.11.2012 12:20

вопросик, был первый плагин, где задержки небыло почти, сейчас секунды 3, раздражает...как исправить??

Bersenev 17.11.2012 13:31

Цитата:

Сообщение от D@nger (Сообщение 236981)
вопросик, был первый плагин, где задержки небыло почти, сейчас секунды 3, раздражает...как исправить??

Задержка не 3 секунды, а целых 30. Только в таком варианте гибернация работает без багов. Но я сделаю эту задержку регулируемой.

D@nger 17.11.2012 13:40

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

Bersenev 17.11.2012 19:20

Цитата:

Сообщение от Bersenev (Сообщение 236991)
Задержка не 3 секунды, а целых 30. Только в таком варианте гибернация работает без багов. Но я сделаю эту задержку регулируемой.

Я немного ошибся, задержка была 10.5 сек.

Цитата:

Сообщение от D@nger (Сообщение 236992)
ну может быть, я не пользуюсь гибернацией, поэтому жутко раздражает что кнопки не сразу работают..

В шапке версия 1.0.0.9, задержка по умолчанию в ней такая же, чтобы изменить её надо в iCarDSConfig -- Global Vars надо добавить duino_wait_time=<время в милисекундах>

Допустим

duino_wait_time=1000

Тогда задержка составит 1 сек. перед открытием порта, 0.5сек обязательная задержка, 1сек. - на инициализацию. Итого 2.5 сек. По умолчанию duino_wait_time=5000, что соответсвует задержке в 10.5 сек.

Время задержки зависит от того установлена перемычка разрешающая прошивку ардуино или нет, от того как система инициирует usb устройства и т.д. Значения duino_wait_time=5000 подходит фактически для любой системы.

Knight 19.11.2012 17:36

т.к. готового устройства для iCarDuino нет, то придется воять устройство самостоятельно, всвязи с этим просьба помочь в изготовлении данного девайса специалистом.
С паяльником дружу на базовом уровне, программирование на С++ писал 10 лет назад, друзей электронщиков нет.
В идеале из Питера, чтобы показать практически (с меня вознаграждение сок, пиво, рукопожатие =)). Буду рад любому совету.

Задачи (Этап 1) (Этап 2 - это больше мечты =))
этап 1 Температура салона
этап 1 Температура улицы
этап 1 Температура двигателя
этап 1 Энкодер
этап 1 Автоматический регулятор яркости монитора
этап 1 Ик пульт
этап 1 Кренометр
этап 1 Напряжение
этап 1 Остаток в баке
этап 2 Регулятор давления шин
этап 2 Барометр
этап 2 Климат
этап 2 Стеклоподьемник
этап 2 Запирание дверей

что для этого нужно прикупить?
Устройства
Температура салона датчик температуры http://carmonitor.ru/ru/product_info...roducts_id=189 или http://carmonitor.ru/ru/product_info...roducts_id=109?
Температура улицы датчик температуры http://carmonitor.ru/ru/product_info...roducts_id=189 или http://carmonitor.ru/ru/product_info...roducts_id=109?
Температура двигателя датчик температуры http://carmonitor.ru/ru/product_info...roducts_id=189 или http://carmonitor.ru/ru/product_info...roducts_id=109?
Энкодер ??? (хотелось бы поворот, нажание с поворотом, нажатие, длинное нажатие, двойное нажатие, право, лево, верх, низ) если конечно такое возможно какой выбрать незнаю
Автоматический регулятор яркости монитора фоторезистор http://carmonitor.ru/ru/product_info...roducts_id=119
Ик пульт Приемник инфракрасного (ИК) излучения TSOP 38кГц. http://carmonitor.ru/ru/product_info...roducts_id=117
Кренометр 3-х осевой акселерометр MMA7260 http://carmonitor.ru/ru/product_info...roducts_id=174
Напряжение ???
Остаток в баке ???
Carduino Nano Duo http://carmonitor.ru/ru/product_info...roducts_id=120
макетная плата http://carmonitor.ru/ru/-p-122.html
набор соединителей для макетной платы
также нужны резисторы (какие и где купить?)
и конденсаторы (какие и где купить?)

может чего еще не учел?

PS: если немного не по теме просьба перенести в нужную

Bersenev 19.11.2012 18:12

Цитата:

Сообщение от Knight (Сообщение 237423)
Задачи (Этап 1)
этап 1 Температура салона
этап 1 Температура улицы
этап 1 Температура двигателя
этап 1 Ик пульт
этап 1 Кренометр

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

Цитата:

Сообщение от Knight (Сообщение 237423)
этап 1 Напряжение
этап 1 Автоматический регулятор яркости монитора

Это будет в ближайшее время, как только приедет фоторезистор

Цитата:

Сообщение от Knight (Сообщение 237423)
этап 1 Остаток в баке

Это тоже будет, самому нужно для вот этого проекта http://www.pccar.ru/showthread.php?t=18055

Цитата:

Сообщение от Knight (Сообщение 237423)
этап 1 Энкодер
Энкодер ??? (хотелось бы поворот, нажание с поворотом, нажатие, длинное нажатие, двойное нажатие, право, лево, верх, низ) если конечно такое возможно какой выбрать незнаю

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

Цитата:

Сообщение от Knight (Сообщение 237423)
этап 2 Стеклоподьемник
этап 2 Запирание дверей

Это и сейчас реализуется при помощи вот этого блока реле http://www.pccar.ru/showpost.php?p=230982&postcount=257

Цитата:

Сообщение от Knight (Сообщение 237423)
(Этап 2 - это больше мечты =))
этап 2 Регулятор давления шин
этап 2 Барометр
этап 2 Климат

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

admin 19.11.2012 18:29

Есть плата на которой сразу установлены: Барометр, акселерометр, гироскоп, компас
И эта плата подключается к Arduino по I2C

Knight 19.11.2012 20:25

Цитата:

Сообщение от admin (Сообщение 237435)
Есть плата на которой сразу установлены: Барометр, акселерометр, гироскоп, компас
И эта плата подключается к Arduino по I2C

а можно поподробней? какая плата и где можно её найти? и будет ли она работать со схемой Bersenev и насколько сложно будет дописать код на Барометр, гироскоп, компас?

Bersenev 19.11.2012 20:52

Цитата:

Сообщение от Knight (Сообщение 237456)
и будет ли она работать со схемой Bersenev и насколько сложно будет дописать код на Барометр, гироскоп, компас?

Пока не будет, схему и код надо будет новый делать. Но это не проблема

Цитата:

Сообщение от admin (Сообщение 237435)
Есть плата на которой сразу установлены: Барометр, акселерометр, гироскоп, компас
И эта плата подключается к Arduino по I2C

А вот ссылку на это "чудо электроники" очень хочется увидить.

Knight 19.11.2012 21:02

Забыл добавить: можно ли повесить тач-экранчик на ардуино 2,6 дюйма для отдельного вывода: часы, дата, тепмература, уровень топлива. типа мини трип компьютер. в рамках того же проекта?

по устройству Барометр, акселерометр, гироскоп, компас
то что нагуглил:
http://www.ebay.com/itm/goo-GY-80-9-...item4d05d5287b

folv 11.12.2012 16:40

На схеме нарисована плата Arduino и у нее после +5V маркировка А0....А7 , а в реале А7....А0.
Это просто для удобства рисования схемы?

Bersenev 11.12.2012 18:49

Цитата:

Сообщение от folv (Сообщение 239952)
Это просто для удобства рисования схемы?

Нет, это просто мне досталась такая картинка ардуино

folv 11.12.2012 18:57

Вложений: 1
У меня при проверке ошибка, что не так делаю?

Bersenev 11.12.2012 19:13

У тебя версия компилятора 1.0.3, а на соседнем форуме я слышал, что некоторые старые библиотеки выдают ошибки в новых версиях компилятора. Я использую 1.0.1 и у меня всё нормально. Так что есть два варианта. Первый - искать или править библиотеку под новый компилятор. Второй - использовать более старую версию компилятора

folv 11.12.2012 20:01

попробовал 1.0.1- тоже самое.

folv 11.12.2012 20:42

Вложений: 2
попробовал 0023- другая ошибка:shok:
У меня Carduino Nano V.4 (посмотрел чип стоит Atmega-168)

folv 11.12.2012 21:12

Вложений: 1
Получается, у тебя в архиве нет папочки examples

Bersenev 11.12.2012 22:54

Цитата:

Сообщение от folv (Сообщение 239989)
Получается, у тебя в архиве нет папочки examples

Не понял, а какое отношение наличие этой папки имеет к ошибкам?

Цитата:

Сообщение от Bersenev (Сообщение 239971)
Я использую 1.0.1 и у меня всё нормально.

На днях полетел комп, поэтому писал на память. Сейчас всё восстановил. Оказывается у меня версия 1.0. Попробовал в 1.0.1 тоже ошибки, а в 1.0 всё нормально.

folv 11.12.2012 23:33

Вложений: 1
у меня и в версии 1.0 тоже ошибки:shok:
И еще один баг когда ставлю iCarDuino_1_0_0_8 или iCarDuino_1_0_0_9, то перегружается икар циклически:be:

folv 12.12.2012 12:52

а для чего duino.def ?

folv 12.12.2012 12:59

С код JoyStick почему-то работает, а с этим кодом не хочет - что не так делаю:be:

Bersenev 12.12.2012 13:45

Цитата:

Сообщение от folv (Сообщение 240045)
а для чего duino.def ?

все def-файлы в скине, это настройки по умолчанию

Цитата:

Сообщение от folv (Сообщение 240046)
С код JoyStick почему-то работает, а с этим кодом не хочет - что не так делаю:be:

Что значит не работает? То есть код в ардуино загрузил, а он не работает или код в ардуино не грузится из-за ошибок в компиляторе?

folv 12.12.2012 14:30

Цитата:

Сообщение от Bersenev (Сообщение 240049)
все def-файлы в скине, это настройки по умолчанию


Что значит не работает? То есть код в ардуино загрузил, а он не работает или код в ардуино не грузится из-за ошибок в компиляторе?

Я имел в виду в iCarDS.:blush:
1. Загрузку кода в ардуино вроде победил - использовал компилятор 1.0 и IRremote (2) " взятый в этой теме".
2. драйвера на ардуино - WIN 8 Pro x64 сама поставила свои.
С родным кодом в iCarDS где датчики температуры какие-то цифры (датчики не подключены), на резистивные кнопки не реагирует, крутилки н и ИК не подключены.
Дальше не знаю куда копать.

folv 12.12.2012 17:02

Цитата:

Сообщение от YraY (Сообщение 226841)
А у меня не работает. У меня старый carduino nano v4, на ATMEGA 168, из партии с не правильными стабилизаторами. Старые коды типа http://www.compcar.ru/forum/showthread.php?t=4640 и http://www.compcar.ru/forum/showthread.php?t=4959 работают нормально а вот код для из этой темы не работает, загружается в контроллер а дальше тишина, ни icar, ни монитор порта, ни индикатры передачи/ приёма никак не реагируют, может для 168 нужен специальный код?



Цитата:

Сообщение от
Bersenev;226865
Судя по всему просто не включены нужные режимы работы.

Случайно вот это не делал?



Для последней версии скина ХАМЕЛЕОН эти переменные хранятся в файле duino.ini, и если они в двух файлах одновременно, то возможен подобный результат.

Цитата:

Сообщение от Bersenev (Сообщение 226882)
Отсутствие датчиков ни на что не влияет.

1. попробуй перерегистрировать плагин.
2. Проверить включена ли загрузка плагина в настройках скина.
3. Проверь правильно ли заданы переменные duino_com=номер порта и duino_com_baudRate=скорость порта в iCarDSConfig
4. Проверь не занят ли порт другой программой.

Если всё это сделал, а плагин так и не заработал, то в скетче найди такую строку

if( is_ir_key ) ir_key();

и измени её на такую

ir_key();

при таком варианте скетч всегда будет отдавать данные при поступлении сигнала от ик-пульта, не зависимо от того отключены они в плагине или нет, то есть начнёт мигать светодиод передачи данных на ардуино.

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

Bersenev 12.12.2012 18:42

Цитата:

Сообщение от folv (Сообщение 240052)
Дальше не знаю куда копать.

Давай по порядку

1) Для начала проверь совпадают ли номера пинов в скетче с пинами в твоей схеме. Если не совпадают, то задай свои в этих переменных в скетче

Код:

int WIRE_PIN = 4;      // цифровой вход(пин) 1WIRE-шины ( температурные датчики )
int RECV_PIN = 7;      // цифровой вход(пин) ИК приемника
int REG_SELECT = 8 ;    // цифровой вход(пин), управляющий защёлкой (SS в терминах SPI)

int xpin=0;            // аналоговый вход(пин) для оси X акселерометра
int ypin=1;            // аналоговый вход(пин) для оси Y акселерометра
int zpin=2;            // аналоговый вход(пин) для оси Z акселерометра
int ENCODER1_PIN = 6 // аналоговый вход(пин) для первого энкодера
int ENCODER2_PIN = 7 // аналоговый вход(пин) для второго энкодера
int RES_PIN = 5 ;      // аналоговый вход(пин) для резестивных(рулевых) кнопок

2) проверь значения этих переменных в файле duino.ini

duino_is_ir_key=1
duino_is_encoder_1=1
duino_is_encoder_2=1
duino_is_res_keys=1

и если энкодеры или ик-приёмник не используется, то задай 0 вместо 1

3) Если температурные датчики не подключены, то убери все показатели температуры из шапки и инфопанели, и данные о температуре отключатся автоматически

Но самое главное что бы первый пункт был выполнен

folv 12.12.2012 23:33

Цитата:

Сообщение от Bersenev (Сообщение 240094)
Давай по порядку

1) Для начала проверь совпадают ли номера пинов в скетче с пинами в твоей схеме. Если не совпадают, то задай свои в этих переменных в скетче

Код:

int WIRE_PIN = 4;      // цифровой вход(пин) 1WIRE-шины ( температурные датчики )
int RECV_PIN = 7;      // цифровой вход(пин) ИК приемника
int REG_SELECT = 8 ;    // цифровой вход(пин), управляющий защёлкой (SS в терминах SPI)

int xpin=0;            // аналоговый вход(пин) для оси X акселерометра
int ypin=1;            // аналоговый вход(пин) для оси Y акселерометра
int zpin=2;            // аналоговый вход(пин) для оси Z акселерометра
int ENCODER1_PIN = 6 // аналоговый вход(пин) для первого энкодера
int ENCODER2_PIN = 7 // аналоговый вход(пин) для второго энкодера
int RES_PIN = 5 ;      // аналоговый вход(пин) для резестивных(рулевых) кнопок

2) проверь значения этих переменных в файле duino.ini

duino_is_ir_key=1
duino_is_encoder_1=1
duino_is_encoder_2=1
duino_is_res_keys=1

и если энкодеры или ик-приёмник не используется, то задай 0 вместо 1

3) Если температурные датчики не подключены, то убери все показатели температуры из шапки и инфопанели, и данные о температуре отключатся автоматически

Но самое главное что бы первый пункт был выполнен

Что-то не выходит каменный цветок:shok:
Все делал по инструкции - молчит ардуина с эти скетчем, а от JoyStick работает.:be:
И еще один баг когда ставлю iCarDuino_1_0_0_6 по iCarDuino_1_0_0_9, то перегружается икар сам циклически с ошибкой, а с iCarDuino_1_0_0_1 нет.

Bersenev 12.12.2012 23:37

Цитата:

Сообщение от folv (Сообщение 240147)
Все делал по инструкции - молчит ардуина с эти скетчем, а от JoyStick работает.:be:

Работает с плагином или с родной программой? и дай ссылку на скетч

Цитата:

Сообщение от folv (Сообщение 240147)
И еще один баг когда ставлю iCarDuino_1_0_0_6 по iCarDuino_1_0_0_9, то перегружается икар сам циклически с ошибкой, а с iCarDuino_1_0_0_1 нет.

Что значит перезагружается "циклически с ошибкой"?

folv 12.12.2012 23:59

Вложений: 1
Цитата:

Сообщение от Bersenev (Сообщение 240149)
Работает с плагином или с родной программой? и дай ссылку на скетч



Что значит перезагружается "циклически с ошибкой"?

1. http://compcar.ru/forum/showthread.p...D0%B8-Carduino

Bersenev 13.12.2012 00:04

Всё равно не ясно какой конкретно скетч используешь и что значит "циклически".
Заодно ещё хотелось бы знать что именно подключено к ардуино кроме резестивных кнопок

folv 13.12.2012 00:17

Цитата:

Сообщение от Bersenev (Сообщение 240153)
Всё равно не ясно какой конкретно скетч используешь и что значит "циклически".
Заодно ещё хотелось бы знать что именно подключено к ардуино кроме резестивных кнопок

PHP код:

//http://compcar.ru   
#define PIN 5  //номер аналогового порта  
#define LIMIT 5 //предел погрешности сопротивления  

byte bytes[2];   
int res_dt1res_d;  
unsigned long math_time,old_time,real_time;   
void setup()        
{       
Serial.begin(115200); // настроить скорость com порта        
}   

void loop()       
{     
  
res_d analogRead(PIN); // прочитать данные АЦП 
  
delay(30); 
  
res_dt1 analogRead(PIN); // прочитать данные АЦП  
        
old_time millis();  
        
math_time 0;   
        while(
math_time 300 && (res_dt1 res_d-LIMIT && res_dt1 res_d+LIMIT ))  
          {  
             
real_time millis();             //получить реальное время   
             
math_time real_time old_time//считаем длительность нажатия 
            
res_dt1 analogRead(PIN); // прочитать данные АЦП     
          
}  
     
    if( 
math_time 50)  //если нет дребезга то короткое нажатие 
      
{   
        
bytes[0] = res_d 255;          // преобразовать в 2-байта    
        
bytes[1] = (res_d 768) >> 8;    
        
Serial.writebytes,2); // отправить прочитаное значение компьютеру        
      
}     


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

собрал на макетной только резестивную часть и энкодеров.

Bersenev 13.12.2012 00:50

Цитата:

Сообщение от folv (Сообщение 240155)
"циклически" - нажимаю на закрыть на окошке об прекращении работы приложения, икар закрываетя сам и потом сам запускается с ошибкой -- пока через диспетчер задач не закроешь.

С этим пока никаких идей, но у меня на восьмёрке 32-й с ардуино v.7 всё работает и ничего не вылетает. А какой размер памяти EEPROM в ардуино v.4?

Цитата:

Сообщение от folv (Сообщение 240155)
собрал на макетной только резестивную часть и энкодеров.

Можно попробовать отключить неиспользуемые функции как в примере

Код:


//  if(
is_ir_key ) ir_key();                            //  ИК приёмник
// 
if( is_temperature_sensors ) temperature_sensors();  //  температурные датчики
// 
if( is_accelerometer ) accelerometer();              //  акселерометр
 
if( is_encoder_1 ) encoder_1();                      //  первый энкодер
 
if( is_encoder_2 ) encoder_2();                      //  второй энкодер
 
if( is_res_keys ) res_keys();                        //  резестивные кнопки
 
if( is_relay_state ) relay_state();


folv 13.12.2012 01:07

Цитата:

Сообщение от Bersenev (Сообщение 240162)
С этим пока никаких идей, но у меня на восьмёрке 32-й с ардуино v.7 всё работает и ничего не вылетает. А какой размер памяти EEPROM в ардуино v.4?

У меня Win8Pro x64
Ошибка не зависит от подключения ардуино, только когда скопируешь файлы.
размер памяти (EEPROM) 512 байт

folv 15.12.2012 10:23

Мне так и понятно - обязательно ли собирать полностью схему ,чтобы заработал плагин?

filinmd 15.12.2012 12:00

Цитата:

Сообщение от folv (Сообщение 240489)
Мне так и понятно - обязательно ли собирать полностью схему ,чтобы заработал плагин?

нет, не обязательно.

folv 15.12.2012 13:05

Весь мозг уже сломался:shok:
Спецально уже вместо Win8 Pro x64 вернул Win7 Ult x32.
Заливал скетч в Carduino Nano V4 и CyberBoard Mega
На макетной плате собрал только резестивную часть
1. Плагин зарегистрил запустив RunMe1st.cmd
2. переменные duino.ini есть
duino_is_ir_key=0
duino_is_encoder_1=0
duino_is_encoder_2=0
duino_is_res_keys=1
3. В iCarDSConfig закладка Global Vars добавил согласно своим параметрам duino_com=20 и duino_com_baudRate=115200
4. на четвёртом экране настроек включил загрузку плагина iCarDuino и перезагрузил iCarDS
И реакци ноль:be: какой-то полтергейс

Bersenev 15.12.2012 13:13

Всё сделано абсолютно правильно. Попробуй сделать вот это http://www.pccar.ru/showpost.php?p=226882&postcount=232 , по моему там тоже был Carduino Nano V4. Создаётся ощущение, что ардуино не принимает команды от компа.

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

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

сделай так

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

folv 15.12.2012 15:42

Цитата:

Сообщение от Bersenev (Сообщение 240496)
Всё сделано абсолютно правильно. Попробуй сделать вот это http://www.pccar.ru/showpost.php?p=226882&postcount=232 , по моему там тоже был arduino Nano V4. Создаётся ощущение, что ардуино не принимает команды от компа.

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

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

сделай так

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

При таком методе заработал только CyberBoard Mega, а от arduino Nano V4 так и не активности.

Смущает враза

Цитата:

Сообщение от Bersenev (Сообщение 226927)
Можно, на производительность это влиять не будет. Если не используешь акселерометр и термометры, то ничего страшного не случится, а вот если будешь использовать, то могут быть проблемы при выходе из сна

получается нормально работать будет только с arduino Nano Duo V.7?:dntknw:

Bersenev 15.12.2012 16:22

Цитата:

Сообщение от folv (Сообщение 240506)
При таком методе заработал только CyberBoard Mega, а от arduino Nano V4 так и не активности.
получается нормально работать будет только с arduino Nano Duo V.7?:dntknw:

У меня есть два ардуино v.5 и v.7, оба работают без проблем. На других я не тестировал.

Но я не пойму, почему CyberBoard Mega не получает команду на включение процедуры резестивных кнопок от плагина. Сделай скриншот настроек порта ардуино в windows, сравню со своими, может там что не так.


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

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