Re: Управление при помощи поворотного энкодера (Rotary Encoder)
Господа, кто нибудь пробывал данную схему снабдить умной лед подсветкой? у самого не хватает цепей нейронов в мозгу, что бы написать скетч. http://www.waitingforfriday.com/inde..._Demonstration тут человек представил даже очень клевый пример. С таким колечком из матового оргстекла думаю эффект должен быть хорошКлац На ардуинке ведь еще есть свободные ноги. Реально?
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
Приветсвую.
Стоит на первый взгляд простая задача - подключить энкодер к ардуино, обработать сигнал и выдать другой.
На практике: в авто уже стоит крутилка(энкодер, который не воспринимается новым ГУ) и при вращении влево, вправо выдает определенный код. Энкодер имеет два выхода, логические уровни: 0,24 и 3В.
Думаю просто подключить напрямую к входам ардуино, наверное аналоговым. Хотя наверное правильнее к цифровым и использовать прерывания, вот только логический уровень 3В наверное мал для единицы.
Далее нужно определить куда поворачивался энкодер (но это уже скетч, думаю я его осилю сам) и в зависимости от направления провести имитацию нажатия кнопки (звук + или -). В ГУ есть специальные выходы для резистивных кнопок и любые резистивные кнопки можно обучить.
Вопрос, собственно такой, такая схема имеет право на жизнь?
http://big-e.ru/images/4х4_arduino/nano_autolight.png
На выходы D7, D10 подам HIGH ток пойдет через резистор с опред. номиналом на вход ГУ (номиналы резисторов взяты с рулевых кнопок). Хотя может не на 5В надо сажать, а на землю?
Ну как-то так, покритикуйте.
Вложений: 1
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
Цитата:
вот только логический уровень 3В наверное мал для единицы.
Лог. 1 начинается от 2в
Цитата:
Вопрос, собственно такой, такая схема имеет право на жизнь?
имеет , но лучше такая. Так называемый резистивный ЦАП. Если использовать 3 выхода то можно получить на выходе 8 уровней от 0 до 5в
Вложение 18815
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
Вот так верно?
http://big-e.ru/images/4%D1%854_ardu...autolight1.png
При смене сигнала на энкодере(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);
}
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
Между R2 и R3 тоже резистор нужен
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
А зачем? они (R1 и R2) разный номинал у меня имеют.
И я так понял на D4, D5 нужно HIGH установить по умолчанию.
А для имитации нажатия резистивной кнопки либо на D4 либо на D5 нужно установить LOW.
Так?
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
Все это работает только на ардуино с FTDI232R? А как быть с CH340? Для него драйвер не подходит и программа HKey выдает то что девайс нот фаунд, это никак не исправить? Может драйвер есть для CH340 у кого?
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
А Вам для чего эта программа? Может получится решить задачу без нее?
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
Да вот хотел к энкодеру штатному подключился, чтоб громкостью управлять. Скетч залил, подпаялся к энкодеру (пока на макетке), кондеры-мондеры, все дела, чтоб дребезг исключить... Вообщем в порт выводит символы при повороте влево или вправо (смотрел через патти и ардуиновский терминал), все норм, но вот згвоздка сейчас вся в программе, которая будет слушать порт и уже непосредственно регулировать громкость в системе. А хоткей только с фтдай, как я понял, работает, а у меня Ардуино нано 3.0 на CH340... Вот и думаю то ли другую ардуину заказать, то ли что... Вот...
Re: Управление при помощи поворотного энкодера (Rotary Encoder)
Можно использовать USB->FTDI мост
К сожалению исходники программы уже утерял