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

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Разработка программ > Программы управления > iCarDS

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2012, 19:33   #51
Bersenev
Бывалый писикарщик
 
Аватар для Bersenev
 
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
Bersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant future
По умолчанию

Цитата:
Сообщение от badnetrnd Посмотреть сообщение
А к какому пину подключать что бы icards не считал кнопки руля энкодером ?
Плагину iCarDuino всё равно к какому пину, что подсоединено. Ик приёмник, энкодер и рулевые кнопки плагин не различает, для него это всё одно и тоже. Главное чтобы ардуино отправлял четырёхбайтный код, который плагин воспринимает как код нажатия клавиши.

Единственное нельзя отправлять такие комбинации FF FF FF FF - это сообщает о том что дальше пойдут данные от температурных датчиков и EF FF FF FF - это код данных от акселерометра. Всё остальное плагин воспринимает как код клавиши.
Bersenev вне форума   Ответить с цитированием
Старый 20.02.2012, 20:23   #52
badnetrnd
Старший Пользователь
 
Регистрация: 11.08.2009
Возраст: 36
Город: Ростов на Дону
Регион: 61
Машина: фф2
Сообщений: 338
badnetrnd is on a distinguished road
По умолчанию

Понял спасибо
__________________
машина продана вместе с компьютером
badnetrnd вне форума   Ответить с цитированием
Старый 22.02.2012, 14:33   #53
Alex-NN
Гуру
 
Аватар для Alex-NN
 
Регистрация: 11.05.2008
Возраст: 56
Город: Дзержинск
Регион: 52
Машина: Nissan Almera N16
Сообщений: 1,015
Alex-NN has a spectacular aura aboutAlex-NN has a spectacular aura about
По умолчанию

Цитата:
Сообщение от Bersenev Посмотреть сообщение
Добавь ещё вот эти переменные в skin.ini

calibrate_x=418
calibrate_y=400
calibrate_z=568
calibrate_n=15
calibrate_a=48
Андрей, ты еще что-то правишь сейчас по поводу Ардуино? Что-то уперся я в стену после смены скетча на новый. Ждать исправлений или копать проблему у себя?
Не сохранился первый скетч?
Alex-NN вне форума   Ответить с цитированием
Старый 22.02.2012, 14:43   #54
Bersenev
Бывалый писикарщик
 
Аватар для Bersenev
 
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
Bersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant future
По умолчанию

Цитата:
Сообщение от Alex-NN Посмотреть сообщение
Андрей, ты еще что-то правишь сейчас по поводу Ардуино? Что-то уперся я в стену после смены скетча на новый. Ждать исправлений или копать проблему у себя?
Да, точнее всё уже сделал, сейчас доделаю некоторые исправления в скине для телефона и выложу скин со всеми исправлениями для ардуино и телефона.

Кстати теперь на каждую кнопку ик пульта или энкодера можно назначить по две команды. Для этого надо будет одну кнопку пульта назначить кнопкой Shift и она будет переключать режим работы пульта. У меня теперь пульт вместо 11 команд можен 20 выполнить.
Bersenev вне форума   Ответить с цитированием
Старый 23.02.2012, 04:03   #55
folv
Старший Пользователь
 
Аватар для folv
 
Регистрация: 08.11.2005
Возраст: 52
Город: Пыть-Ях
Регион: 86
Машина: Toyota RAV4 2008
Сообщений: 342
folv is a jewel in the roughfolv is a jewel in the roughfolv is a jewel in the rough
По умолчанию

Я как понял для управления с рулевых кнопок нужно еще одно Arduino ставить?
folv вне форума   Ответить с цитированием
Старый 23.02.2012, 11:55   #56
Bersenev
Бывалый писикарщик
 
Аватар для Bersenev
 
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
Bersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant future
По умолчанию

Цитата:
Сообщение от folv Посмотреть сообщение
Я как понял для управления с рулевых кнопок нужно еще одно Arduino ставить?
Нет, всё будет реализовано в одном ардуино. Как писал ранее я ещё точно не решил как буду бороться с дребезгом кнопок.
Bersenev вне форума   Ответить с цитированием
Старый 23.02.2012, 13:03   #57
onv23
Старший Пользователь
 
Регистрация: 17.08.2011
Возраст: 66
Город: Харьков
Регион: Украина
Машина: Honda CR-V III
Сообщений: 198
onv23 is on a distinguished road
По умолчанию

Цитата:
Сообщение от Bersenev Посмотреть сообщение
Нет, всё будет реализовано в одном ардуино. Как писал ранее я ещё точно не решил как буду бороться с дребезгом кнопок.
А простейший способ почему не работает ? (по нажатию кнопки запоминать ее код, в этот момент читать таймер, если дельта по таймеру при следующем нажатии меньше антидребезгового окна (200-300 мсек), то, если код следующей нажатой равен предыдущему запомненному, ничего не делать, если не равен - перезаписать код последней нажатой и новый таймер)
__________________
CarPC 8" for Honda CR-V III
onv23 вне форума   Ответить с цитированием
Старый 23.02.2012, 14:10   #58
admin
Administrator
 
Аватар для admin
 
Регистрация: 15.06.2005
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX400h
Сообщений: 832
admin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of light
По умолчанию

Вот пример с фильтром дребезга
PHP код:
//http://compcar.ru      
#define PIN 5  //номер аналогового порта     
#define LIMIT 10 //предел погрешности при дребезге    

byte bytes[4];      
unsigned long math_time,old_time,real_timeres_dt1res_d;      
void setup()           
{          
Serial.begin(115200);           
}      

void loop()          
{        
  
res_d analogRead(PIN);   
  if( 
res_d LIMITres_d LIMIT;  
  
delay(10);    
  
res_dt1 analogRead(PIN);    
        
old_time millis();     
        
math_time 0;      
        while(
math_time 200)     
          {     
             
real_time millis();                  
             
math_time real_time old_time;    
            
res_dt1 analogRead(PIN);   
            if(
res_dt1 res_d-LIMIT || res_dt1 res_d+LIMIT) break;  
          }     
        
    if( 
math_time 70)   
      {    
      
bytes[0] = res_d  0xFF;          // преобразовать в 4-байта      
      
bytes[1] = (res_d  0xFF00) >> 8;      
      
bytes[2] = (res_d  0xFF0000) >> 16;     
      
bytes[3] = (res_d  0xFF000000) >> 24;     
      
Serial.writebytes,4); // отправить прочитаное значение компьютеру           
      
}        

__________________
Все для arduino.
admin вне форума   Ответить с цитированием
Старый 23.02.2012, 17:19   #59
Bersenev
Бывалый писикарщик
 
Аватар для Bersenev
 
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
Bersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant future
По умолчанию

Цитата:
Сообщение от onv23 Посмотреть сообщение
А простейший способ почему не работает ? (по нажатию кнопки запоминать ее код, в этот момент читать таймер, если дельта по таймеру при следующем нажатии меньше антидребезгового окна (200-300 мсек), то, если код следующей нажатой равен предыдущему запомненному, ничего не делать, если не равен - перезаписать код последней нажатой и новый таймер)
Цитата:
Сообщение от admin Посмотреть сообщение
Вот пример с фильтром дребезга
К сожалению ни алгоритм onv23 ни код admin не решают проблему дребезга, в обоих вариантах считается что первое полученное значение и есть правильный код, а в дальнейшем проверяется уже дребезг относительно этого значения. Но в реальности первое значение тоже подвергнуто дребезгу.

Допустим есть кнопка, которая выдаёт значения от 100 до 120. В результате при первом считывании может быть получено значение от 100 до 120. Теоретически по коду admin-а мы получим в плагин до 20 кодов кнопки.

В реальности у меня данный код на одну и туже кнопку выдаёт 3-4 кода, допустим при первом нажатии 110, при следующем 112, а потом может и 108 и.д. , а должен всегда один, чего я и добиваюсь. Для конкретного варианта резистивных кнопок это не сложно, а вот один код на всё разнообразие вариантов требует времени.
Bersenev вне форума   Ответить с цитированием
Старый 23.02.2012, 18:12   #60
admin
Administrator
 
Аватар для admin
 
Регистрация: 15.06.2005
Город: Москва
Регион: 77, 97, 99, 177
Машина: Lexus RX400h
Сообщений: 832
admin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of lightadmin is a glorious beacon of light
По умолчанию

Если рассматривать именно дребезг то тогда может быть проще поставить конденсатор на входе
__________________
Все для arduino.

Последний раз редактировалось admin; 23.02.2012 в 18:43.
admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


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