Страница 42 из 70 ПерваяПервая ... 323637383940414243444546474852 ... ПоследняяПоследняя
Показано с 411 по 420 из 697

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    28.07.2010
    Сообщений
    27
    Вес репутации
    195

    По умолчанию Re: Адаптер рулевых кнопок.

    Что-то у меня вообще новая версия программы не хочет стабильно работать...
    После сна вообще не подхватывает ардуино, вернее программа её видит, но в окне где должны быть цыфры пустое поле, помогает перезагрузка.
    Иногда вместо 850 показывает 248788(в общем длинное число) и не реагирует на нажатия.
    Старая версия программы работает стабильно, но примерно раз в неделю зависает наглухо, после перезагрузки всё норм...

  2. #2
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    56
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Адаптер рулевых кнопок.

    Винда какая?

  3. #3
    Пользователь
    Регистрация
    28.07.2010
    Сообщений
    27
    Вес репутации
    195

    По умолчанию Re: Адаптер рулевых кнопок.

    Win7 x86 пробовал разные сборки...

  4. #4
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    56
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Адаптер рулевых кнопок.

    Версия драйверов какая?
    Если есть возможность подьехать в офис www.carmonitor.ru, подвозите устройство, проверим и отремонтируем.
    Последний раз редактировалось Chip; 31.01.2012 в 00:10.

  5. #5
    Пользователь
    Регистрация
    01.01.2011
    Возраст
    42
    Сообщений
    58
    Вес репутации
    195

    По умолчанию Re: Адаптер рулевых кнопок.

    а когда самое раннее можно завтра в офис подъехать (проблема с подключением joystick к subaru forester)?

    P.S. на сайте carmonitor.ru кстати никогда не мог адрес найти... где он там? что-то вроде вернадского просп, да?
    Последний раз редактировалось PGTomsk; 31.01.2012 в 13:02.

  6. #6
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    56
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Адаптер рулевых кнопок.

    Завтра буду с 13-00 до 19-00
    тел. 8-926-7782358
    Последний раз редактировалось Chip; 01.02.2012 в 10:53.

  7. #7
    Пользователь
    Регистрация
    28.07.2010
    Сообщений
    27
    Вес репутации
    195

    По умолчанию Re: Адаптер рулевых кнопок.

    Что-то у меня совсем странно ведёт себя ардуино....
    Вчера замучался, перестала даже управлять нормально "пионером" оказалось, почему то все показания вырасли на 20....
    Сегодня всё переделал, поставил как положено 3.3к и 0.01мкф, но результат тот же, показания скачут, иногда в программе выскакивают значения 154567, при нажатии 6345 или 2354. в общем не пойми что, но при этом магнитола пионер управляется нормально....
    По выше указанному номеру много дней не могу дозвониться....

  8. #8
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    56
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Адаптер рулевых кнопок.

    Телефон работает по будням с 10 до 19

  9. #9
    Пользователь Аватар для WhiteWings
    Регистрация
    05.02.2010
    Сообщений
    41
    Вес репутации
    344

    По умолчанию Re: Адаптер рулевых кнопок.

    Здравствуйте!
    Помогите, пожалуйста!
    решил сделать кнопки+энкодер, попытался соединить 2 кода в один... вот что получилось:
    Код:
    #define encoder0PinA  2  
    #define encoder0PinB  3 
    #define encoder0PinC  4
    #define PIN 5  //номер аналогового порта    
    #define LIMIT 10 //предел погрешности при дребезге   
    
    byte bytes[4];     
    //byte bytes[2]={0,7};
    
    unsigned long math_time,old_time,real_time, res_dt1, res_d;     
    void setup()          
    {         
      pinMode(encoder0PinA, INPUT);   
      digitalWrite(encoder0PinA, HIGH);     // подключить подтягивающий резистор  
      pinMode(encoder0PinB, INPUT);   
      digitalWrite(encoder0PinB, HIGH);    // подключить подтягивающий резистор 
      pinMode(encoder0PinC, INPUT);   
      digitalWrite(encoder0PinC, HIGH);    // подключить подтягивающий резистор  
      
      attachInterrupt(0, doEncoderA, FALLING);  // настроить прерывание interrupt 0 на pin 2  
      attachInterrupt(1, doEncoderB, FALLING);  // настроить прерывание interrupt 0 на pin 3  
      Serial.begin(115200);          
    }     
    
    void loop()         
    {       
      res_d = analogRead(PIN);  
      if( res_d < LIMIT) res_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(digitalRead(encoder0PinC)==LOW) 
       {
         res_d=res_d+2000;
    //      Serial.write( bytes,2);  
          while(digitalRead(encoder0PinC)==LOW){delay(50);}
    //       bytes[1]=7; 
       }
           
        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.write( bytes,4); // отправить прочитаное значение компьютеру          
          bytes[0] = 0;
          bytes[1] = 0;
          bytes[2] = 0;
          bytes[3] = 0;
          }       
    }  
    
    
    
    
    
    // обработка прерывания  
    void doEncoderA()  
    {  
      if(digitalRead(encoder0PinB)==HIGH){res_d=2048;
          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.write( bytes,4); // отправить прочитаное значение компьютеру          
          bytes[0] = 0;
          bytes[1] = 0;
          bytes[2] = 0;
          bytes[3] = 0;}
    
    //  Serial.write( bytes,2); 
    //  bytes[0]=0;}
    }    
    
    // обработка прерывания  
    void doEncoderB()  
    {  
        if(digitalRead(encoder0PinA)==HIGH){res_d=2084;
          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.write( bytes,4); // отправить прочитаное значение компьютеру          
          bytes[0] = 0;
          bytes[1] = 0;
          bytes[2] = 0;
          bytes[3] = 0;}
    
    //    Serial.write( bytes,2); 
    //    bytes[0]=0;}
    }
    Если начинаю резко крутить энкодер - программа начинает читать неверные значения, а именно вместо 2048 - 1372830241 (число написал примерно, на самом деле их слишком много, выскакивают разные, иногда повторяются), кнопки при этом глюке тоже показывают неверные значения, тоже увеличенные до больших размеров, но все пропорционально... например вместо 20 показывает 248912, а вместо 250 показывает 5448912
    и т.д... Через пару сек может все встать на свои места или через 10-20 сек... Где ошибка?

    UPDATE:
    Сейчас вместо 1000 четко показывал 256000, еще покрутил - показал 65536000
    вместо 990 - 253440
    вместо 1023 - 261888
    ну то есть просто умножает на 256 программа или скетч... потом все нормально становится
    Последний раз редактировалось WhiteWings; 02.03.2012 в 01:22.

  10. #10
    Пользователь Аватар для WhiteWings
    Регистрация
    05.02.2010
    Сообщений
    41
    Вес репутации
    344

    По умолчанию Re: Адаптер рулевых кнопок.

    Цитата Сообщение от WhiteWings Посмотреть сообщение
    Здравствуйте!
    Помогите, пожалуйста!
    решил сделать кнопки+энкодер, попытался соединить 2 кода в один...
    Сейчас вместо 1000 четко показывал 256000, еще покрутил - показал 65536000
    вместо 990 - 253440
    вместо 1023 - 261888
    ну то есть просто умножает на 256 программа или скетч... потом все нормально становится
    Chip! Нету идей больше? Так и живу с этой проблемой =(
    Напомню, что возникает только в программе hotkey... если поменять на println и посмотреть в консоли - все прекрасно, приложение monitor тоже без ошибок все показывает.

Страница 42 из 70 ПерваяПервая ... 323637383940414243444546474852 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

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

Ваши права

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