Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:aruno:exp8 [2020/05/28 13:21] – alexnik | products:aruno:exp8 [2020/08/28 11:48] (текущий) – alexnik | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Эксперимент 8. Диммер ===== | ===== Эксперимент 8. Диммер ===== | ||
- | Среди | + | Диммер — электронное устройство, |
+ | Регулировку яркости светодиода будем производить при помощи переменного резистора, | ||
+ | покрытой веществом, | ||
+ | и скользящего контакта с ручкой. У переменного резистора | ||
+ | три | ||
+ | Сопротивление меняется в зависимости от длины отрезка | ||
+ | резистивной пластины от ее начала до скользящего контакта. Чем | ||
+ | больше этот путь, тем | ||
+ | |||
+ | {{ : | ||
+ | // | ||
+ | |||
+ | Переменный резистор можно представить как схему из двух резисторов | ||
+ | {{ : | ||
+ | |||
+ | ==== Делитель напряжения ==== | ||
+ | С помощью переменного резистора будем получать аналоговый | ||
+ | Используем широко распространенную схему резисторного | ||
+ | делителя напряжения. Резисторный делитель — это два | ||
+ | последовательных участка цепи, называемых плечами, | ||
+ | напряжений | ||
+ | минусом питания и средней точкой называют нижним, | ||
+ | верхним. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Резисторный делитель используется для деления напряжения. | ||
+ | Например, | ||
+ | сопротивления, | ||
+ | половине напряжения питания. Такой делитель делит напряжение | ||
+ | на 2. | ||
+ | Подключим нижнее плечо с земле, а верхнее к напряжению питания. Тогда при вращении ручки переменного резистора на его средней точки напряжение будет изменяться от 0 до 5 в. Подключим среднюю точку ко входу аналого- цифрового преобразователя (на контроллере это A0...A5) и будем измерять напряжение на ней. | ||
+ | <WRAP center round tip 60%> | ||
+ | Микроконтроллеры Atmega, содержат шестиканальный [[theory: | ||
+ | </ | ||
+ | |||
+ | ==== Схема эксперимента ==== | ||
+ | {{ : | ||
+ | // | ||
+ | |||
+ | {{ : | ||
+ | // | ||
+ | |||
+ | ==== Программный код эксперимента ==== | ||
+ | |||
+ | <file cpp Exp8[enable_line_numbers=" | ||
+ | const int analogPin = A0;//константа с номером пина для переменного резистора | ||
+ | const int ledPin = 3;// | ||
+ | int inputValue = 0;// | ||
+ | int outputValue = 0;// | ||
+ | |||
+ | void setup() { | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Давайте посмотрим, как все работает.\\ | ||
+ | в **строке 10** считываем аналоговый сигнал с пина к которому подключен переменный резистор и записываем его в переменную **inputValue**\\ | ||
+ | '' | ||
+ | в **строке 11** с помощью функции **map()** конвертируем сигнал записанный в переменную **inputValue** из диапазона 0-1023 (аналогового сигнала) в диапазон 0-255 (ШИМ сигнала) и записываем его в переменную **outputValue**\\ | ||
+ | '' | ||
+ | и в **строке 12** формируем ШИМ сигнал | ||
+ | '' | ||
+ | |||
+ | |||
+ | ==== Дополнительное задание ==== | ||
+ | <WRAP center round tip 60%> | ||
+ | * Сейчас, | ||
+ | * Как добиться того же результата изменяя схему устройства, | ||
+ | </ | ||