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)

напор 04.07.2013 10:22

Кнопки резистивные.

admin.
Если можно, по подробнее.
Я ничего не успел настроить, но по признакам очень похоже на кодовое значение которое считывается при отпущенных кнопках.
В каких настройках указывается фоновое значение? Так сказать значение покоя.

admin 04.07.2013 10:41

Фоновое значение нужно удалить из конфига

Bersenev 04.07.2013 11:03

Цитата:

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

Какой скетч загружен в ардуино? Если из шапки этой темы, то какой именно код выдаётся при залипании и к какому пину подключены резистивные кнопки?

Цитата:

Сообщение от напор (Сообщение 263090)
Когда подключил родную музыку такого эффекта нет. всё нормально.

Что значит "родную музыку"?

напор 04.07.2013 11:23

аппарат не под рукой. позже посмотрю подробности
admin.
где лежит конфиг?

Bersenev
У меня не ардуино, а JoyStick сделаный как я понял на базе ардуино.
Поэтому ни какого скетча не заливал. На сколько я понял это готовый продукт в который можно ничего не заливать, так как там уже что-то залито. Да и в шапке нет указаний на необходимость заливки, если нужны только кнопки, а не температура.
К какому пину что подключено не видно, т.к. всё закрыто термоусадочной трубкой. А из неё выходят 2 проводка: + и -.
какой именно код выдаётся при залипании смогу посмотреть чуть позже. Если на память, то в коде много буков F

Под родной музыкой я подразумеваю штатную магнитолу

напор 04.07.2013 11:31

код при залипании duino_FEFEFEFE

OsDima 04.07.2013 12:20

Ограничения на количество температурных датчиков есть? Насколь-ко понял в скейтче нет. Вероятно опять глючный датчик попался. 2-ой из 5-ти.

Bersenev 04.07.2013 15:04

Цитата:

Сообщение от напор (Сообщение 263154)
Bersenev
У меня не ардуино, а JoyStick сделаный как я понял на базе ардуино.
Поэтому ни какого скетча не заливал. На сколько я понял это готовый продукт в который можно ничего не заливать, так как там уже что-то залито. Да и в шапке нет указаний на необходимость заливки, если нужны только кнопки, а не температура.
К какому пину что подключено не видно, т.к. всё закрыто термоусадочной трубкой. А из неё выходят 2 проводка: + и -.

Цитата:

Сообщение от напор (Сообщение 263155)
код при залипании duino_FEFEFEFE

Вот теперь ситуация ясная. Но немного безрадостная для тебя.

Судя по всему у тебя залит один из этих скетчей http://compcar.ru/forum/showthread.php?t=4640 , данные скетчи передают по два байта, а раньше в этой теме были скетчи, которые передавали по 4 байта. Именно под них и был написан плагин iCarDuino. Кроме того старые скетчи не передавали ничего, когда не нажата ни одна кнопка. А эти если ничего не нажата передают байты FEFE.

Так что единственное решение на данный момент, это залить скетч из шапки в ардуино или исправить скетчи отсюда http://compcar.ru/forum/showthread.php?t=4640 , под передачу четырёх байтов

Bersenev 04.07.2013 15:11

Цитата:

Сообщение от OsDima (Сообщение 263159)
Ограничения на количество температурных датчиков есть? Насколь-ко понял в скейтче нет. Вероятно опять глючный датчик попался. 2-ой из 5-ти.

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

PHP код:


//-----------------------------------------
//- Переменные для температурных датчиков -
//-----------------------------------------
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;


void temperature_sensors()
{
  if(
t_status == 0)
  {

    if (!
ds.search(addr)) 
    {                       
// поиск нового датчика
      
ds.reset_search();    // если не нашли, сбрасываем поиск в начало
      
return;               // и выходим 
    
}
  
    
// Часть кода, которая ниже, выполняется только если
    // найден новый датчик, с которым ещё не работали в
    // главном цикле до сброса поиска

    
if (OneWire::crc8addr7) != addr[7]) // Проверка CRC 
    

      return; 
// Если не пройдена, то в начало главного цикла и продолжаем поиск других датчиков
    
}
  
    if (
addr[0] != 0x28// Проверка того, что найденное устройство - температурный датчик DS18B20 
    
{        
      return; 
// Если не он, то опять в начало главного цикла на продолжение поиска
    
}
  
    
ds.reset();
    
ds.select(addr);
    
ds.write(0x44,1);
      
    
t_status 1;
  }
  else
  {
    if( 
temperature_sensors_milles temperature_sensors_wait_milles millis() )
    {
      
temperature_sensors_milles millis();

      
byte i;

      
ds.reset();
      
ds.select(addr);
      
ds.write(0xBE);
  
      for ( 
09i++) // получаем данные с датчика
      
{         
        
data[i] = ds.read();
      }
      
bytes[0] = 0xFFbytes[1] = 0xFFbytes[2] = 0xFFbytes[3] = 0xFF
      
Serial.writebytes,4); // отправить 0xFFFFFFFF - код температурного датчика
      
Serial.writeaddr,8); // отправить 8 байтовый номер температурного датчика 
      
bytes[0] = 0;          // отправляем байты содержащие температуру  
      
bytes[1] = 0;  
      
bytes[2] = data[0]; 
      
bytes[3] = data[1]; 
      
Serial.writebytes,4); // значение температурного датчика
      
t_status 0;
    } 
  }



напор 04.07.2013 16:27

удалено

Bersenev 04.07.2013 16:43

Цитата:

Сообщение от напор (Сообщение 263187)
Подскажите куда надо класть библиотеки IRremote, OneWire

В папку ..\Arduino\libraries\


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

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