Страница 17 из 18 ПерваяПервая ... 71112131415161718 ПоследняяПоследняя
Показано с 161 по 170 из 178
  1. #161
    Новичок
    Регистрация
    29.05.2015
    Сообщений
    1
    Вес репутации
    0

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    Господа, кто нибудь пробывал данную схему снабдить умной лед подсветкой? у самого не хватает цепей нейронов в мозгу, что бы написать скетч. http://www.waitingforfriday.com/inde..._Demonstration тут человек представил даже очень клевый пример. С таким колечком из матового оргстекла думаю эффект должен быть хорошКлац На ардуинке ведь еще есть свободные ноги. Реально?
    Последний раз редактировалось jonikus; 10.06.2015 в 09:54.

  2. #162
    Продвинутый
    Регистрация
    20.12.2011
    Сообщений
    336
    Вес репутации
    227

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    Приветсвую.
    Стоит на первый взгляд простая задача - подключить энкодер к ардуино, обработать сигнал и выдать другой.
    На практике: в авто уже стоит крутилка(энкодер, который не воспринимается новым ГУ) и при вращении влево, вправо выдает определенный код. Энкодер имеет два выхода, логические уровни: 0,24 и 3В.
    Думаю просто подключить напрямую к входам ардуино, наверное аналоговым. Хотя наверное правильнее к цифровым и использовать прерывания, вот только логический уровень 3В наверное мал для единицы.
    Далее нужно определить куда поворачивался энкодер (но это уже скетч, думаю я его осилю сам) и в зависимости от направления провести имитацию нажатия кнопки (звук + или -). В ГУ есть специальные выходы для резистивных кнопок и любые резистивные кнопки можно обучить.

    Вопрос, собственно такой, такая схема имеет право на жизнь?


    На выходы D7, D10 подам HIGH ток пойдет через резистор с опред. номиналом на вход ГУ (номиналы резисторов взяты с рулевых кнопок). Хотя может не на 5В надо сажать, а на землю?
    Ну как-то так, покритикуйте.
    Последний раз редактировалось kadushkin; 02.02.2016 в 01:23.

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

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    вот только логический уровень 3В наверное мал для единицы.
    Лог. 1 начинается от 2в

    Вопрос, собственно такой, такая схема имеет право на жизнь?
    имеет , но лучше такая. Так называемый резистивный ЦАП. Если использовать 3 выхода то можно получить на выходе 8 уровней от 0 до 5в
    Нажмите на изображение для увеличения. 

Название:	ЦАП.gif 
Просмотров:	2529 
Размер:	4.4 Кб 
ID:	18815
    Последний раз редактировалось Chip; 02.02.2016 в 02:26.

  4. #164
    Продвинутый
    Регистрация
    20.12.2011
    Сообщений
    336
    Вес репутации
    227

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    Вот так верно?


    При смене сигнала на энкодере(D2, D3) подключается либо D4(High) через резистор 680ом, либо D5 - 330ом.
    Вот только, правильно ли я провел схемнотехническую имититацию нажатия резистивной кнопки не знаю.

    Код:
    #define VolUp 4
    #define VolDown 5
    #define encoder0PinA  2  
    #define encoder0PinB  3 
    
    
    void setup()   
    {     
      pinMode(encoder0PinA, INPUT);   
      digitalWrite(encoder0PinA, HIGH);     // подключить подтягивающий резистор  
      pinMode(encoder0PinB, INPUT);   
      digitalWrite(encoder0PinB, HIGH);    // подключить подтягивающий резистор 
      
      attachInterrupt(0, doEncoderA, FALLING);  // настроить прерывание interrupt 0 на pin 2  
      attachInterrupt(1, doEncoderB, FALLING);  // настроить прерывание interrupt 0 на pin 3  
      
      pinMode(VolUp, OUTPUT); 
      pinMode(VolDown, OUTPUT); 
      
      Serial.begin (115200);  
    }   
    
    void loop()  
    { 
    //digitalWrite(VolDown , HIGH);  
    }  
    
    // обработка прерывания  
    void doEncoderA()  
    {  
      if(digitalRead(encoder0PinB)==HIGH){Volume(1);}   
    
    }    
    
    // обработка прерывания  
    void doEncoderB()  
    {  
        if(digitalRead(encoder0PinA)==HIGH){Volume(0);}  
     
    }
    void Volume(byte updown) 
    {
         Serial.println(updown);
         
      if (updown==1) {digitalWrite(VolUp , HIGH);}
      else {digitalWrite(VolDown , HIGH);}
    delay(200);
    digitalWrite(VolUp , LOW);
    digitalWrite(VolDown , LOW);
     
    }
    Последний раз редактировалось kadushkin; 05.02.2016 в 23:52.

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

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    Между R2 и R3 тоже резистор нужен

  6. #166
    Продвинутый
    Регистрация
    20.12.2011
    Сообщений
    336
    Вес репутации
    227

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    А зачем? они (R1 и R2) разный номинал у меня имеют.
    И я так понял на D4, D5 нужно HIGH установить по умолчанию.
    А для имитации нажатия резистивной кнопки либо на D4 либо на D5 нужно установить LOW.
    Так?

  7. #167
    Новичок
    Регистрация
    01.08.2016
    Возраст
    35
    Сообщений
    13
    Вес репутации
    106

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    Все это работает только на ардуино с FTDI232R? А как быть с CH340? Для него драйвер не подходит и программа HKey выдает то что девайс нот фаунд, это никак не исправить? Может драйвер есть для CH340 у кого?

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

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    А Вам для чего эта программа? Может получится решить задачу без нее?

  9. #169
    Новичок
    Регистрация
    01.08.2016
    Возраст
    35
    Сообщений
    13
    Вес репутации
    106

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

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

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

    По умолчанию Re: Управление при помощи поворотного энкодера (Rotary Encoder)

    Можно использовать USB->FTDI мост
    К сожалению исходники программы уже утерял
    Последний раз редактировалось Chip; 09.02.2018 в 14:24.

Страница 17 из 18 ПерваяПервая ... 71112131415161718 ПоследняяПоследняя

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

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

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

Метки этой темы

Ваши права

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