Страница 13 из 57 ПерваяПервая ... 37891011121314151617181923 ... ПоследняяПоследняя
Показано с 121 по 130 из 561
  1. #121
    Новичок
    Регистрация
    21.11.2009
    Возраст
    39
    Сообщений
    19
    Вес репутации
    182

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Чтобы узнать значение допиши вместо serial.write(byte,2) напиши

    serial.print(res_dt1,DEC);
    serial.print(" ");
    далее открываешь гипертерминал настраиваваешь на свой ком порт и смотришь значение!

  2. #122
    Пользователь
    Регистрация
    07.12.2009
    Сообщений
    29
    Вес репутации
    184

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Цитата Сообщение от Chip Посмотреть сообщение
    Ошибка в том что нужно в void setup() сконфигурировать вывод A2 на выход
    Сделал:
    void setup()
    {
    Serial.begin(115200); // настроить скорость com порта
    pinMode(A2, OUTPUT);
    }

    Ничего не меняется - на выходе А2 логический 0

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

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Мои извинения A2 это 16
    #define A2 16
    #define A3 17
    Последний раз редактировалось Chip; 24.05.2010 в 17:43.

  4. #124
    Пользователь
    Регистрация
    07.12.2009
    Сообщений
    29
    Вес репутации
    184

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Цитата Сообщение от Chip Посмотреть сообщение
    Мои извинения A2 это 16
    #define A2 16
    #define A3 17
    Поправил, безрезультатно
    А насколько корректна эта строка?


    if ((res_dt1<730)&(res_dt1>720))digitalWrite(A2,HIGH );


    Ведь это переведённое в двоичный код ззначение на выходе ардуино, а на вх. АЦП ардуино понимает только значение U?
    Что-то я недопонимаю

  5. #125
    Новичок
    Регистрация
    21.11.2009
    Возраст
    39
    Сообщений
    19
    Вес репутации
    182

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Цитата Сообщение от Rover 176 Посмотреть сообщение
    Поправил, безрезультатно
    А насколько корректна эта строка?


    if ((res_dt1<730)&(res_dt1>720))digitalWrite(A2,HIGH );


    Ведь это переведённое в двоичный код ззначение на выходе ардуино, а на вх. АЦП ардуино понимает только значение U?
    Что-то я недопонимаю
    Нужно сначало вычисльть значение твоей кнопки смотри мой пост выше!

  6. #126
    Пользователь
    Регистрация
    07.12.2009
    Сообщений
    29
    Вес репутации
    184

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Цитата Сообщение от Dr_cannabis Посмотреть сообщение
    Нужно сначало вычисльть значение твоей кнопки смотри мой пост выше!


    чтоб его получить я думаю можно попробывать что то типо
    Serial.write( dt1,DEC) хотя неуверен лучше у гуру поинтересоваться!
    Строго следую твоим указаниям! Интересуюсь, Chipу мозх рву

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

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    PHP код:
    #define PIN 5 //номер аналогового порта 
    #define LIMIT 6 //предел погрешности сопротивления 
    #define A2 16 
    #define A3 17 

    byte bytes[2]; 
    int res_dt1
    unsigned long math_time,old_time,real_time
    void setup() 

    pinMode(A2OUTPUT);
    Serial.begin(115200); // настроить скорость com порта 


    void loop() 

    old_time real_time
    math_time 0
    res_dt1 analogRead(PIN); // прочитать данные АЦП 
    while(math_time 300 && (analogRead(PIN)>res_dt1-LIMIT && analogRead(PIN) < res_dt1+LIMIT )) 

    real_time millis(); //получить реальное время 
    math_time real_time old_time//считаем длительность паузы 


    if( 
    math_time 80 //если нет дребезга 

    if (
    res_dt1>710 && res_dt1<740digitalWrite(A2,HIGH );
    bytes[0] = res_dt1 255// преобразовать в 2-байта 
    bytes[1] = (res_dt1 768) >> 8
    Serial.writebytes,2); // отправить прочитаное значение компьютеру 

    Последний раз редактировалось Chip; 25.05.2010 в 11:21.

  8. #128
    Пользователь
    Регистрация
    07.12.2009
    Сообщений
    29
    Вес репутации
    184

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Иееес!!! Заработало!
    Спасибо всем!
    Немного дописал скетч:

    #define PIN 5 //номер аналогового порта
    #define LIMIT 6 //предел погрешности сопротивления
    #define A1 15
    #define A2 16
    #define A3 17
    #define A4 18

    byte bytes[2];
    int res_dt1;
    unsigned long math_time,old_time,real_time;
    void setup()
    {
    pinMode(A1, OUTPUT);
    pinMode(A2, OUTPUT);
    pinMode(A3, OUTPUT);
    pinMode(A4, OUTPUT);
    Serial.begin(115200); // настроить скорость com порта
    }

    void loop()
    {
    old_time = real_time;
    math_time = 0;
    res_dt1 = analogRead(PIN); // прочитать данные АЦП
    while(math_time < 300 && (analogRead(PIN)>res_dt1-LIMIT && analogRead(PIN) < res_dt1+LIMIT ))
    {
    real_time = millis(); //получить реальное время
    math_time = real_time - old_time; //считаем длительность паузы
    }

    if( math_time > 80 ) //если нет дребезга
    {

    if (res_dt1>710 && res_dt1<740) digitalWrite(A2,HIGH );
    delay(30);
    digitalWrite(A2, LOW);

    if (res_dt1>640 && res_dt1<650) digitalWrite(A3,HIGH );
    delay(30);
    digitalWrite(A3, LOW);

    if (res_dt1>410 && res_dt1<420) digitalWrite(A4,HIGH );
    if (res_dt1>0 && res_dt1<3) digitalWrite(A4,LOW);


    bytes[0] = res_dt1 & 255; // преобразовать в 2-байта
    bytes[1] = (res_dt1 & 768) >> 8;
    Serial.write( bytes,2); // отправить прочитаное значение компьютеру
    }
    }


    Теперь с помощью резисторной матрицы можно не только управлять компом, но и включать и выключать оборудование, причём РС не обязательно должен быть включен!
    Это намного удобнее, чем : http://www.compcar.ru/forum/showthread.php?t=5010, тем более, что данная прога у меня нещадно глючила на трёх разных компах, с разными ОС.
    Теперь на джойстик RMX4S (10 кн. + Shift)

    Я повесил:
    1. Вкл/выкл УМ, DAC, GPS, можно и сам комп включать
    2. Регулировка громкости аналоговым моторизированым 6-канальным ALPS : http://www.samodelka.ru/goods/6201.htm
    3. Стандартные функции управления РС

    Спасибо всем за участие!
    Последний раз редактировалось Rover 176; 25.05.2010 в 15:17.

  9. #129
    Пользователь
    Регистрация
    24.03.2008
    Сообщений
    39
    Вес репутации
    225

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    Имею проблему с данным устройством...
    Стоит Windows7 максимальная, залита прошивка с двойным нажатием.
    Запускаю прогу HotKey разворачиваю вижу "1003" это когда ни одна кнопка не нажата, вижу дребезг т.е то 1003 то 1004 и т.п.
    потом показания повисают и на нажатия не реагируют. Потом отвисает и даже реагирует на нажатия но может зависнуть в нажатом положении...
    Смена прошивки на любую из этой темы не помогает.
    Кто виноват - контроллер или прога на компе.

  10. #130
    Продвинутый
    Регистрация
    19.02.2010
    Возраст
    46
    Сообщений
    244
    Вес репутации
    224

    По умолчанию Re: Управление рулевыми кнопками при помощи Carduino.

    про "обвес" не забыл? сопротивление и конденсатор? номиналы правильные?
    ну и проверь правильность схемы.

Страница 13 из 57 ПерваяПервая ... 37891011121314151617181923 ... ПоследняяПоследняя

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

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

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

Ваши права

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