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)

OsDima 28.04.2013 08:10

Купил Дуинку v3.0
Пока подключил только акселерометр.
Пришлось прошерстить более половины темы пока нашел IrRеmote(2) - добавьте её в первый пост, многим облегчите жизнь.

Акселерометр откалибровал но заметил непропорциональность при наклоне платы и наклоне машины на экране кренометра (сначала угол наклона растет более быстрыми темпами, потом скорость наклона замедляется (помоему не показалось), с чем это связано.

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

Возможно ли добавить звуковое оповещение при наклоне выше 30 градусов (например большая скорость при затяжном повороте) летом поеду третий год подряд в Краснодарский край из Красноярска, думаю в дороге мне это поможет.

Bersenev 28.04.2013 11:51

Цитата:

Сообщение от OsDima (Сообщение 257009)
Акселерометр откалибровал но заметил непропорциональность при наклоне платы и наклоне машины на экране кренометра (сначала угол наклона растет более быстрыми темпами, потом скорость наклона замедляется (помоему не показалось), с чем это связано.

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

Цитата:

Сообщение от OsDima (Сообщение 257009)
При наклоне платы влево машина на экране "Кренометра" наклоняется вправо - так должно быть или перевернуть плату акселерометра. Сегодня проверю логику в полевых условиях в машине.

Куда наклонятся акселерометр туда же должна наклонятся и машина на экране

Цитата:

Сообщение от OsDima (Сообщение 257009)
Возможно ли добавить звуковое оповещение при наклоне выше 30 градусов (например большая скорость при затяжном повороте) летом поеду третий год подряд в Краснодарский край из Красноярска, думаю в дороге мне это поможет.

В скине это есть, настройки скина -Звуки и задавай какие хочешь звуковые предупреждения

OsDima 29.04.2013 16:50

Цитата:

Сообщение от Bersenev (Сообщение 257020)
В скине это есть, настройки скина -Звуки и задавай какие хочешь звуковые предупреждения

Звуковые оповещения работают но функционал условий достаточно скуден. Пришлось зделать 2 условия на оповещение при поворотах (1. X>=30, 2) X<=-30)
При этом занялось 2 оповещения, а их количество ограничено 8 шт. Если понадобится больше - как поступить?

Bersenev 29.04.2013 17:08

Цитата:

Сообщение от OsDima (Сообщение 257152)
Звуковые оповещения работают но функционал условий достаточно скуден.

А каких ещё условий не хватает? При сравнении двух элементов можно разве что добавить НЕРАВНО и всё. Но думаю это особо не нужно.

Цитата:

Сообщение от OsDima (Сообщение 257152)
Пришлось зделать 2 условия на оповещение при поворотах (1. X>=30, 2) X<=-30) При этом занялось 2 оповещения, а их количество ограничено 8 шт. Если понадобится больше - как поступить?

Не 8 шт, а 6 шт. Я хотел сделать около двух десятков, но потом решил остановится на 6-ти, так за это время никому больше и не требовалось.

Увеличить количество условий особого труда не представляет.

OsDima 29.04.2013 18:00

Цитата:

Сообщение от Bersenev (Сообщение 257154)
А каких ещё условий не хватает? При сравнении двух элементов можно разве что добавить НЕРАВНО и всё. Но думаю это особо не нужно.

В случае с окном Кренометра -30>X>30 (исключающий диапазон (от -30 до 30) при выходе из этого диапазона крен в критическом диапазоне.

Для управления реле можно использовать такой алгоритм:
Освещение ниже нормы,
скорость выше 5 км/ч,
двигатель заведен
- значит включить ходовые огни.
Три условия для управления одним реле или группой реле.

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

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

OsDima 29.04.2013 18:04

Где-то в ветке я встречал о ситуации о неопределении устройства Arduino после выхода из спяшего режима.
Помогает передергивание USB и кнопка ресет у Arduino.
Ткните носом чем лечится?

M@troskin 04.05.2013 12:14

Arduino IDE 1.0.4 выдает в строке статуса "скетч слишком большой, обратитесь к (куда-то в дебри arduino.cc) за советами по его уменьшению.
Я один такой счастливчик?

Bersenev 04.05.2013 12:35

Цитата:

Сообщение от M@troskin (Сообщение 257474)
Arduino IDE 1.0.4 выдает в строке статуса "скетч слишком большой, обратитесь к (куда-то в дебри arduino.cc) за советами по его уменьшению.
Я один такой счастливчик?

В Ардуино v5 и v7 скетч влазит, с другими не пробовал. Могу только посоветовать убрать из скетча неиспользуемые функции.

M@troskin 04.05.2013 17:42

Цитата:

Сообщение от Bersenev (Сообщение 257475)
В Ардуино v5 и v7 скетч влазит, с другими не пробовал. Могу только посоветовать убрать из скетча неиспользуемые функции.

а комментировать надо от и до? или достаточно шапку комментировать слэшами?
то есть мне не нужны реле и термодатчики, к примеру:

// Функция работы с реле
//----------------------------------------------------------------------------------
void relay_state()
{
if( relays_milles + relays_wait_milles < millis() )
{
bytes[0] = 0xBF; // преобразовать в 4-байта
bytes[1] = 0xFF;
bytes[2] = 0xFF;
bytes[3] = 0xFF;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру
bytes[0] = relays_state4; // преобразовать в 4-байта
bytes[1] = relays_state3;
bytes[2] = relays_state2;
bytes[3] = relays_state1;
Serial.write( bytes,4); // отправить прочитаное значение компьютеру

relays_milles = millis();
}
}

ставить // перед каждой строкой или достаточно закомментировать void relay_state()?

M@troskin 04.05.2013 17:56

Цитата:

Сообщение от M@troskin (Сообщение 257492)
а комментировать надо от и до? или достаточно шапку комментировать слэшами?
то есть мне не нужны реле и термодатчики, к примеру:


ставить // перед каждой строкой или достаточно закомментировать void relay_state()?

поскипано

разобрался. траблшутинг рекомендует выкинуть все инклюды с неиспользуемыми библиотеками.
убрал пока ИК-часть и акселерометры, скетч усох до 9 кбайт и вроде как зашился.
вопрос остается такой:
парочка варнингов проскакивает в начале компиляции про sketch_may04a.ino: In function 'void setup()':
sketch_may04a.ino:126: warning: comparison between signed and unsigned integer expressions
sketch_may04a.ino: In function 'void res_keys()':
sketch_may04a.ino:462: warning: suggest parentheses around arithmetic in operand of ^
вроде как ничего страшного не происходит, но мало ли что...


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

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