В
Программирование плк для начинающих этом уроке
Телефон мы рассмотрим работу
Программирование stm32 на ассемблере Arduino с
Приставка к мультиметру для измерения esr энкодером (который
Телефон служит для
Драйвер для led своими руками преобразования угла по
Программирование плк для начинающих ворота в эл. сигнал). С
Телефон энкодера мы получаем 2
Программирование stm32 на ассемблере сигнала (А и
Телефон В),
Приставка к мультиметру для измерения esr которые противоположны по фазе. В
Телефон данном
Телефон уроке мы
Драйвер для led своими руками будем использовать энкодер фирмы
Программирование плк для начинающих SparkFun COM-09117,
Телефон который имеет 12
Программирование stm32 на ассемблере положений на
Приставка к мультиметру для измерения esr один оборот
Телефон (каждое положение
Драйвер для led своими руками 30°). На приведенной
Программирование плк для начинающих ниже диаграмме вы можете
Телефон видеть, как зависят выход
Программирование stm32 на ассемблере А и В
Телефон друг
Приставка к мультиметру для измерения esr от друга при вращении энкодера
Телефон по
Телефон часовой или
Драйвер для led своими руками против часовой стрелки.
Каждый
Программирование плк для начинающих раз, когда
Телефон сигнал А переходит
Программирование stm32 на ассемблере от положительного
Приставка к мультиметру для измерения esr уровня к
Телефон нулю, мы
Драйвер для led своими руками считываем значение
Программирование плк для начинающих выхода В. Если В в
Телефон этот момент находится в
Программирование stm32 на ассемблере положительном состоянии, значит
Телефон энкодер
Приставка к мультиметру для измерения esr вращается по часовой стрелке, если
Телефон В
Телефон нуль, то
Драйвер для led своими руками энкодер вращается против часовой
Программирование плк для начинающих стрелки. Считывая
Телефон оба выхода, мы
Программирование stm32 на ассемблере при помощи
Приставка к мультиметру для измерения esr МК можем
Телефон определить направление
Драйвер для led своими руками вращения, и при
Программирование плк для начинающих помощи подсчета импульсов с
Телефон А выхода - угол
Программирование stm32 на ассемблере поворота. Конечно можно
Телефон пойти
Приставка к мультиметру для измерения esr еще дальше и при помощи
Телефон вычисления
Телефон частоты, можно
Драйвер для led своими руками определить насколько быстро происходит
Программирование плк для начинающих вращение энкодера.
Телефон Как вы видите,
Программирование stm32 на ассемблере энкодер имеет
Приставка к мультиметру для измерения esr много преимуществ
Телефон по
Драйвер для led своими руками сравнению с обычным потенциометром.
Программирование плк для начинающих Используя энкодер мы будем
Телефон управлять яркостью LED светодиода
Программирование stm32 на ассемблере при помощи ШИМ
Телефон выхода.
Приставка к мультиметру для измерения esr Для считывания данных энкодера мы
Телефон будем
Телефон использовать простейший
Драйвер для led своими руками метод, основанный на программных
Программирование плк для начинающих таймерах, которые
Телефон мы
изучали в Программирование stm32 на ассемблере третьем уроке.
Приставка к мультиметру для измерения esr Как было
Телефон сказано выше,
Драйвер для led своими руками мы будем использовать
Программирование плк для начинающих энкодер sparkfun. Первое, что
Телефон необходимо сделать, это определить
Программирование stm32 на ассемблере как часто нам
Телефон нужно
Приставка к мультиметру для измерения esr обращаться к выходам энкодера для
Телефон считывания
Телефон значений. Итак,
Драйвер для led своими руками представим себе, что в
Программирование плк для начинающих лучшем случае,
Телефон мы можем повернуть
Программирование stm32 на ассемблере ручку энкодера
Приставка к мультиметру для измерения esr на 180°
Телефон за 1/10
Драйвер для led своими руками сек, т.е.
Программирование плк для начинающих это будет 6 импульсов
Телефон за 1/10 сек или
Программирование stm32 на ассемблере 60 импульсов в
Телефон секунду.
Приставка к мультиметру для измерения esr В реальности быстрее вращать не
Телефон сможе
Телефон те. Т.к.
Драйвер для led своими руками нам необходимо отслеживать все
Программирование плк для начинающих полупериоды, то
Телефон частота должна быть
Программирование stm32 на ассемблере минимум 120
Приставка к мультиметру для измерения esr Герц. Для
Телефон полной уверенности,
Драйвер для led своими руками давайте примем 200
Программирование плк для начинающих Гц. (Примечание: т.к.
Телефон у нас механический энкодер,
Программирование stm32 на ассемблере то возможен дребезг
Телефон конт
Приставка к мультиметру для измерения esr актов, а низкая частота позволяет отфильтровывать
Телефон дребезг).
Телефон По сигналам
Драйвер для led своими руками программного таймера нам необходимо
Программирование плк для начинающих постоянно сравнивать
Телефон текущее значение выход
Программирование stm32 на ассемблере а А энкодера
Приставка к мультиметру для измерения esr с предыдущим
Телефон значением. Если
Драйвер для led своими руками состояние изменилось от
Программирование плк для начинающих положительного к нулю, то
Телефон мы проверяем значение
Программирование stm32 на ассемблере выхода В и смотрим
Телефон положительное
Приставка к мультиметру для измерения esr оно или нет. В зависимости
Телефон от
Телефон полученного результата
Драйвер для led своими руками мы увеличиваем или уменьшаем
Программирование плк для начинающих счетчик значения
Телефон яркости светодиода.
Программа
Программирование stm32 на ассемблере для данного
Приставка к мультиметру для измерения esr урока приведена
Телефон ниже. Она
Драйвер для led своими руками построена на базе
Программирование плк для начинающих предыдущего урока Fade, где
Телефон использовалась функция
millis() для
Программирование stm32 на ассемблере задания временных интервалов.
Телефон Временной
Приставка к мультиметру для измерения esr интервал у нас будет 5
Телефон мс
Телефон (200 Гц)
Драйвер для led своими руками /*
** Энкодер
** Программирование плк для начинающих Для управлением Телефон яркостью LED используется Программирование stm32 на ассемблере энкодер Sparkfun
Приставка к мультиметру для измерения esr */
int Телефон brightness = Драйвер для led своими руками 120; // яркость Программирование плк для начинающих LED, начинаем с половины
Телефон int fadeAmount = 10; Программирование stm32 на ассемблере // шаг изменения Телефон яркости Приставка к мультиметру для измерения esr LED
unsigned long currentTime;
unsigned Телефон long Телефон loopTime;
const Драйвер для led своими руками int pin_A = 12; Программирование плк для начинающих // pin Телефон 12
const int Программирование stm32 на ассемблере pin_B = Приставка к мультиметру для измерения esr 11; // Телефон pin 11
Драйвер для led своими руками unsigned char encoder_A;
Программирование плк для начинающих unsigned char encoder_B;
unsigned Телефон char encoder_A_prev=0;
void setup() Программирование stm32 на ассемблере {
// declare Телефон pin Приставка к мультиметру для измерения esr 9 to be an output:
Телефон pinMode(9, Телефон OUTPUT); // Драйвер для led своими руками устанавливаем pin 9 как Программирование плк для начинающих выход
pinMode(pin_A, Телефон INPUT);
pinMode(pin_B, INPUT);
Программирование stm32 на ассемблере currentTime = Приставка к мультиметру для измерения esr millis();
loopTime Телефон = currentTime;
Драйвер для led своими руками }
void loop() Программирование плк для начинающих {
currentTime = millis();
Телефон if(currentTime >= (loopTime + Программирование stm32 на ассемблере 5)){ // проверяем Телефон каждые Приставка к мультиметру для измерения esr 5мс (200 Гц)
encoder_A = Телефон digitalRead(pin_A); Телефон // считываем Драйвер для led своими руками состояние выхода А энкодера
Программирование плк для начинающих encoder_B = Телефон digitalRead(pin_B); // считываем Программирование stm32 на ассемблере состояние выходПриставка к мультиметру для измерения esr а А энкодера
Телефон if((!encoder_A) && (encoder_A_prev)){ // Программирование плк для начинающих если состояние изменилось с Телефон положительного к нулю
if(encoder_B) Программирование stm32 на ассемблере {
// Телефон Приставка к мультиметру для измерения esr выход В в полож. сост., значит вращение Телефон по Телефон часовой стрелке
Драйвер для led своими руками // увеличиваем яркость, не Программирование плк для начинающих более чем Телефон до 255
if(brightness Программирование stm32 на ассемблере + fadeAmount <= 255) Телефон brightness += Драйвер для led своими руками fadeAmount;
}
else Программирование плк для начинающих {
// Телефон выход В в 0 сост., значит Программирование stm32 на ассемблере вращение против часовой Телефон стрелки
Приставка к мультиметру для измерения esr // уменьшаем яркость, но не Телефон ниже Телефон 0
if(brightness Драйвер для led своими руками - fadeAmount >= 0) Программирование плк для начинающих brightness -= Телефон fadeAmount;
}
}
Программирование stm32 на ассемблере encoder_A_prev = Приставка к мультиметру для измерения esr encoder_A; // Телефон сохраняем знДрайвер для led своими руками ачение А для следующего Программирование плк для начинающих цикла
analogWrite(9, brightness); // Телефон устанавливаем яркость на 9 Программирование stm32 на ассемблере ножку
loopTime = Телефон currentTime;
Приставка к мультиметру для измерения esr }
}
Источник:
Драйвер для led своими руками http://www.hobbytronics.co.uk/