Показано с 1 по 9 из 9
  1. #1
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    43
    Сообщений
    829
    Вес репутации
    420

    По умолчанию Управление компом и головой рулевыми кнопками

    Управлять компом это конечно круто но хотелось бы и внешними устройствами пошевелить с руля. например я задумал чтобы управлять с руля и компом и магнитолой. Немного конкретней: у меня Выхода 22-41 будут подключены через транзисторные ключи к кнопкам магнитолы. Один выход одна кнопка, некоторые из них (основные функции) будут управляться с сенсорных кнопок.

    Вопрос:
    1. можно ли сделать чтобы они управлялись и сенсорными кнопками и резистивными одновременно? я думаю это возможно. Хотелось бы увидеть прошивку для Arduino чтобы примерно 6 резистивных кнопок управляли 6ю дигитальными выходами.

    2. можно ли сделать что то в роди переключателя, например Arduino читает на 13 дигитальном входе HIGH (сигнал для переключения) и данные с резистивных кнопок шлет компу а когда на 13том LOW то управляет назначенными дигитальными выходами?
    Последний раз редактировалось XsanderS; 06.10.2009 в 01:25.
    хороший модем должен качать пиво!
    Мой проект

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

    По умолчанию Re: Управление компом и головой рулевыми кнопками

    Все твои задачи реализуемы на arduino.

    Набросал пример с четырьмя резестивными кнопками
    При коде нажатия кнопок =40 =90 =20 =160
    PHP код:
    // http://compcar.ru
    int button1 = 13;
    int button2 = 12;
    int button3 = 11;
    int button4 = 10;
    int pctommc = 2;

    void setup()
    {
        
    pinMode(button1, OUTPUT);
        
    pinMode(button2, OUTPUT);
        
    pinMode(button3, OUTPUT);
        
    pinMode(button4, OUTPUT);   
        
    pinMode(pctommc, INPUT); // переключатель комп/магнитола
    }

    void loop()
    {
    if (
    digitalRead(pctommc)  == HIGH)
    {
      if (
    analogRead(0) >= 35 && analogRead(0) <= 45 ) // где 35 мин. , а  45 макс. код нажатия 40
        
    {
           
    digitalWrite(button1, HIGH);
           
    delay(200);  
        } 
          else { 
    digitalWrite(button1, LOW); }
          
        if (
    analogRead(0) >= 85 && analogRead(0) <= 95 ) // где 85 мин. , а  95 макс. код нажатия 90
        
    {
           
    digitalWrite(button2, HIGH);
           
    delay(200);  
        } 
          else { 
    digitalWrite(button2, LOW); }    
          
        if (
    analogRead(0) >= 15 && analogRead(0) <= 25)
        {
           
    digitalWrite(button3, HIGH);
           
    delay(200);  
        } 
          else { 
    digitalWrite(button3, LOW); }

        if (
    analogRead(0) >= 155 && analogRead(0) <= 165 )
        {
           
    digitalWrite(button4, HIGH);
           
    delay(200);  
        } 
          else { 
    digitalWrite(button4, LOW); }      
    }
       else
             {
              
    //здесь ставим код управления рулевыми кгопками компьютером
             
    }
    } 
    Последний раз редактировалось Chip; 06.10.2009 в 02:39.

  3. #3
    Модератор Аватар для XsanderS
    Регистрация
    05.05.2008
    Возраст
    43
    Сообщений
    829
    Вес репутации
    420

    По умолчанию Re: Управление компом и головой рулевыми кнопками

    Огроменное Спасибо, как раз этого мне и не хватало.
    хороший модем должен качать пиво!
    Мой проект

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

    По умолчанию Re: Управление компом и головой рулевыми кнопками

    Вот полный код
    PHP код:
    // http://compcar.ru 
     
    byte bytes[2];

    int button1 = 13; 
    int button2 = 12; 
    int button3 = 11; 
    int button4 = 10; 
    int pctommc = 2; 

    void setup() 
    { 
        
    pinMode(button1, OUTPUT); 
        
    pinMode(button2, OUTPUT); 
        
    pinMode(button3, OUTPUT); 
        
    pinMode(button4, OUTPUT);    
        
    pinMode(pctommc, INPUT); // переключатель комп/магнитола 
    } 

    void loop() 
    { 
    if (
    digitalRead(pctommc)  == HIGH) 
    { 
      if (
    analogRead(0) >= 35 && analogRead(0) <= 45 ) // где 35 мин. , а  45 макс. код нажатия 40 
        
    { 
           
    digitalWrite(button1, HIGH); 
           
    delay(200);   
        }  
          else { 
    digitalWrite(button1, LOW); } 
           
        if (
    analogRead(0) >= 85 && analogRead(0) <= 95 ) // где 85 мин. , а  95 макс. код нажатия 90 
        
    { 
           
    digitalWrite(button2, HIGH); 
           
    delay(200);   
        }  
          else { 
    digitalWrite(button2, LOW); }     
           
        if (
    analogRead(0) >= 15 && analogRead(0) <= 25) 
        { 
           
    digitalWrite(button3, HIGH); 
           
    delay(200);   
        }  
          else { 
    digitalWrite(button3, LOW); } 

        if (
    analogRead(0) >= 155 && analogRead(0) <= 165 ) 
        { 
           
    digitalWrite(button4, HIGH); 
           
    delay(200);   
        }  
          else { 
    digitalWrite(button4, LOW); }       
    } 
       else 
             { 
                
    unsigned int res_dt = analogRead(0); // прочитать данные АЦП 
                 
    bytes[0] = res_dt & 255;          // преобразовать в 2-байта 
                  
    bytes[1] = (res_dt & 768) >> 8; 
                  
    Serial.write( bytes,2); // отправить прочитаное значение компьютеру     
                
    delay(300); // Пауза между нажатиями 
             
    } 
    } 
    Последний раз редактировалось Chip; 17.10.2009 в 00:49.

  5. #5
    Продвинутый
    Регистрация
    08.09.2009
    Возраст
    44
    Сообщений
    236
    Вес репутации
    258

    По умолчанию Re: Управление компом и головой рулевыми кнопками

    [QUOTE=XsanderS;45150]Вопрос: 1. можно ли сделать чтобы они управлялись и сенсорными кнопками и резистивными одновременно? я думаю это возможно. Хотелось бы увидеть прошивку для Arduino чтобы примерно 6 резистивных кнопок управляли 6ю дигитальными выходами.QUOTE]


    А какое максимальное кол-во кнопок, можно подключить по данной схеме??

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

    По умолчанию Re: Управление компом и головой рулевыми кнопками

    Максимальное количество кнопок равно числу цифровых портов минус 1

  7. #7
    Продвинутый
    Регистрация
    08.09.2009
    Возраст
    44
    Сообщений
    236
    Вес репутации
    258

    По умолчанию Re: Управление компом и головой рулевыми кнопками

    Итого 13???

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

    По умолчанию Re: Управление компом и головой рулевыми кнопками

    Верно, 13 и это при условии что не будет связи с компом(D0,D1)
    Последний раз редактировалось Chip; 07.02.2010 в 16:55.

  9. #9
    Продвинутый
    Регистрация
    08.09.2009
    Возраст
    44
    Сообщений
    236
    Вес репутации
    258

    По умолчанию Re: Управление компом и головой рулевыми кнопками

    Не совсем понял на счет связи с компом. Лучше я отдельную тему создам с эскизами.

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

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

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

Ваши права

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