В предыдущей статье мы использовали условный оператор и научили Arduino реагировать на внешние события.
Сегодня разберем:
- Считывание данных с помощью аналогового порта
- Преобразование аналогового сигнала в цифровой вид
- Научимся управлять яркостью светодиода
- Узнаем, что такое ШИМ
Для начала, подключим к Arduino потенциометр
При вращении ручки потенциометра на центральном контакте будет изменяться напряжение, которое мы будем считывать Arduino через порт A0.
Для считывания данных из аналогового порта применяется блок:
С помощью этого блока мы получаем число от 0 до 1023, где 0-соответствует 0В, а 1023-5В
Чтобы увидеть, как меняется уровень напряжения, подключим к этому же порту осциллограф:
Время нужно установить 1ms
Теперь, вращая ручку мы можем увидеть как меняется уровень напряжения.
Теперь, подключим светодиод к порту 3.
В Arduino только порты 3,5,6,9,10 и 11 могут плавно изменять яркость светодиода.
Т.к. цифровые порты не могу плавно менять уровень напряжения, как это было в потенциометре, яркость светодиода меняется за счет частых включений-выключений порта. Т.е. светодиод не горит постоянно, а часто мигает. Чем больше время горения, тем ярче он выглядит.
Значения, передаваемые в порт должны находиться в диапазоне от 0 до 255, поэтому нам нужно выполнить преобразование.
Для этого используем блок "сопоставить"
И, наконец, помещаем это блок внутрь другого, который управляет портом 3. Получаем:
Готово!. Можно тестировать!
Также посмотрите видео со сборкой это несложной схемы:
Подписывайтесь на канал, пишите в комментариях, какие вопросы вам хотелось бы рассмотреть!
До скорых встреч!