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)

pierrotm777 17.05.2013 12:05

Цитата:

Сообщение от Bersenev (Сообщение 258619)
Теперь блок реле можно приобрести у меня.
В качестве конструктора 750р за блок, в собранном виде 1000р.
Обращаемся в личку

http://content.foto.mail.ru/mail/ber...leon/i-600.jpg

Nice PCB:smile1:

Vodkin 19.05.2013 14:55

Добрый день. Собрал схему из первого поста (2 энкодера пяти контактные и 6 кнопок). Получилось следующее: первые 4 кнопки работают, а 5 и 6 выдают код 4 кнопки (подключение через 100 ом), первый энкодер работает отлично (влево, вправо и нажатие), а вот второй энкодер (вправо удовлетворительно, нажатие отлично, влево работает примерно через 1 полный оборот) подключение 3.3 К вместо 3.2 К и 6.2 К вместо 6.1 К. Направте на путь истинный!? Спасибо.

Bersenev 19.05.2013 16:41

Цитата:

Сообщение от Vodkin (Сообщение 258837)
Добрый день. Собрал схему из первого поста (2 энкодера пяти контактные и 6 кнопок). Получилось следующее: первые 4 кнопки работают, а 5 и 6 выдают код 4 кнопки (подключение через 100 ом), первый энкодер работает отлично (влево, вправо и нажатие), а вот второй энкодер (вправо удовлетворительно, нажатие отлично, влево работает примерно через 1 полный оборот) подключение 3.3 К вместо 3.2 К и 6.2 К вместо 6.1 К. Направте на путь истинный!? Спасибо.

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

Vodkin 19.05.2013 17:49

Цитата:

Сообщение от Bersenev (Сообщение 258847)
А какой у тебя ардуино, и к каким пинам подключены энкодер и резестивные кнопки? Если ардуино версии 7, то резестивные кнопки лучше цеплять на А7, причём без подтягивающего резистора. И если второй энкодер висит на входе А7, то процедура тоже будет работать неправильно, так как на А7 уже есть подтягивающий резистор на плате самого ардуино.

Добрый день. Цепляю все на ардуино UNO. Для кнопок пин не менял (5), а вот для енкодеров переделал на 3 и 4 пины.

M@troskin 20.05.2013 10:10

Цитата:

Сообщение от Bersenev (Сообщение 258847)
А какой у тебя ардуино, и к каким пинам подключены энкодер и резестивные кнопки? Если ардуино версии 7, то резестивные кнопки лучше цеплять на А7, причём без подтягивающего резистора. И если второй энкодер висит на входе А7, то процедура тоже будет работать неправильно, так как на А7 уже есть подтягивающий резистор на плате самого ардуино.

ух ты, какие интересные подробности поплыли... :be:
чорт побъери, как теперь высмотреть. есть ли у меня на плате Ордуины подтягивающие резисторы? в смысле, по схеме Ардуины 7 версии (видимо, Нано 7) в какой квадрат пялиться и что искать?

M@troskin 20.05.2013 10:14

Цитата:

Сообщение от M@troskin (Сообщение 258919)
ух ты, какие интересные подробности поплыли... :be:
чорт побъери, как теперь высмотреть. есть ли у меня на плате Ордуины подтягивающие резисторы? в смысле, по схеме Ардуины 7 версии (видимо, Нано 7) в какой квадрат пялиться и что искать?

ага, сам спросил, сам поискал, сам нашел :)
в общем, у меня на моем контроллере подтяжки А7 к плюсу через 3.3кОм нету, а скетч тем не менее ведет себя, мягко говоря, безобразно.
Ув. Bersenev, может, мне проще тебе контроллер почтой бандеролькой запульнуть, чтобы ты его пощупал-подергал-попинал за всякие мягкие места? ;) и заставил его кнопками кнопкать, как положено?

OsDima 25.05.2013 21:06

Попытался вспомнить програмирование и поразбирался со скетчем.
Как я понял что переменная res_key_count содержит количество резистивных кнопок и при работе скетча оно запоминается в ПЗУ (куда-то) и оно (количество) потом всегда остается такое-же.
У меня стояло = 0 а их физически аж 19 при 100 Ом между ними.
И сейчас не всегда выходят одни и теже коды в iCar (иногда 2, иногда 3, иногда пересекаются на разных соседних кнопках - особенно при прогреве двигателя.
Хотя на трассе такого потом не наблюдается (при больших оборотах)).
Мне заново залить скетч с res_key_count = 19 , чтоли (чтобы работало постабильнее) или подобрать другие резисторы.

Может подскажет кто-нибудь как пристроить сюда-же этот код. Чтобы работал при этом оригинальный код от iCarDuino
http://www.jewelfox.ru/lot.php?id=1090

Bersenev 25.05.2013 22:32

Цитата:

Сообщение от OsDima (Сообщение 259499)
Попытался вспомнить програмирование и поразбирался со скетчем.
Как я понял что переменная res_key_count содержит количество резистивных кнопок и при работе скетча оно запоминается в ПЗУ (куда-то) и оно (количество) потом всегда остается такое-же.
У меня стояло = 0 а их физически аж 19 при 100 Ом между ними.
И сейчас не всегда выходят одни и теже коды в iCar (иногда 2, иногда 3, иногда пересекаются на разных соседних кнопках - особенно при прогреве двигателя.
Хотя на трассе такого потом не наблюдается (при больших оборотах)).
Мне заново залить скетч с res_key_count = 19 , чтоли (чтобы работало постабильнее) или подобрать другие резисторы.

переменная 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 все ранее запомненые значения

OsDima 25.05.2013 22:41

Цитата:

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

Но прежде чем заливать новый скетч поменяй это значение
#define RES_KEY_FLAG_ 0x76 // Флаг первого запуска скетча
с 0x76 на другое значение, допустим 0x77. Тогда скетч будет считать что это его первый запуск и сотрёт из EEPROM все ранее запомненые значения

"Мерси" завтра попробую. Попробывал.
Поставил 6 и флаг первого запуска, сопротивление не менял. Итог работает как часики.
Мерси.

OsDima 31.05.2013 22:57

Цитата:

Сообщение от OsDima (Сообщение 258457)
На последок. Прикупил данную ленту. http://www.jewelfox.ru/lot.php?id=1090. Со своим скечем работает класно. Вопрос к знатокам: возможно - ли пристроить iCarDuino управление данной лентой (в зависимости от музыки, журнал "Радио" сразу вспоминается)?

Немного теории, и лента уже работает с iCarDuino. Хочу встроить её в Фары. Днем работает как ходовые огни. При поворотах мигает желтым. ну и т.д.
Только нужно брать сигнал с поворотника для синхронизации желтого, гуру подскажите как на цифровой пин подключить сигнал с поворотника, к чему притянуть и т.д. Аналоговые планирую под Фоторезистор и еще один последний - не придумал. Зато цифровых еще 6 или 8 осталось.
Извиняюсь за каламбур в голове каша от MyHome, KNX, Arduino.


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

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