Arduino Due - это плата на базе контроллера ARM, разработанная для инженеров-электронщиков и любителей. Архитектура ARM очень влияет на современную электронику, мы используем ее повсюду, например, в наших мобильных телефонах, iPod, компьютерах и т. Д. Если кто-то хочет проектировать промышленные системы, это необходимо для контроллеров ARM. Контроллеры ARM очень важны из-за их гибкости.
Мы уже рассмотрели основы Arduino Due в разделе «Начало работы с Arduino Due». Теперь в этом уроке мы собираемся настроить яркость светодиода, используя сигнал ШИМ, генерируемый DUE. Сигнал DUE PWM (широтно-импульсная модуляция) обеспечивает переменное напряжение по сравнению с постоянным источником питания.
Широтно-импульсная модуляция:
На приведенном выше рисунке, если переключатель постоянно замкнут в течение определенного периода времени, светодиод будет постоянно гореть в это время. Если переключатель замкнут на полсекунды и разомкнут в течение следующих полсекунды, то светодиод будет гореть только в первой половине секунды. Теперь пропорция, в которой светодиод горит в течение всего времени, называется рабочим циклом и может быть рассчитана следующим образом:
Рабочий цикл = время включения / (время включения + время выключения)
Рабочий цикл = (0,5 / (0,5 + 0,5)) = 50%
Таким образом, среднее выходное напряжение будет составлять 50% от напряжения батареи.
Это происходит в течение одной секунды, и мы можем видеть, что светодиод выключен на полсекунды, а светодиод горит в течение другой половины секунды. Если частота включения и выключения увеличилась с «1 в секунду» до «50 в секунду». Человеческий глаз не может уловить эту частоту включения и выключения. Для нормального глаза светодиод будет виден как светящийся с половинной яркостью. Таким образом, при дальнейшем сокращении времени включения светодиод становится намного светлее.
Мы запрограммируем DUE для получения ШИМ и подключим светодиод, чтобы показать его работу.
В DUE имеется 12 каналов ШИМ (вывод 2 - вывод 13), и мы можем использовать любой из них или все. В этом случае мы будем придерживаться одного сигнала ШИМ на PIN2.
Составные части:
- Arduino Due
- Источник питания (5В)
- СВЕТОДИОД
- Пуговицы (две штуки),
- Резистор 1 кОм (две штуки), резистор 220 Ом
И Arduino IDE - Arduino Nightly Software (https://www.arduino.cc/en/Main/Software).
Принципиальная схема и рабочее объяснение:
Схема подключается на макетной плате согласно принципиальной схеме. Однако при подключении светодиодных клемм необходимо соблюдать осторожность. Хотя кнопки могут показывать эффект подпрыгивания, но в этом случае это не вызывает серьезных ошибок, поэтому на этот раз нам не о чем беспокоиться.
Получить сигнал ШИМ от DUE легко; Arduino IDE предоставляет полезные функции, которые упрощают работу программиста. Если мы идем на программирование голого чипа, нам нужно настроить контроллер ATMEGA для сигнала PWM, что непросто; мы должны определить множество регистров и настроек для точного сигнала, однако в Arduino нам не нужно иметь дело со всеми этими вещами. Мы уже рассмотрели широтно-импульсную модуляцию с помощью ATmega32, Arduino Uno и микросхемы таймера 555.
По умолчанию все файлы заголовков и регистры предопределены Arduino IDE, нам просто нужно их вызвать, и все, у нас будет выход PWM на соответствующем выводе. Нам также необходимо вызвать определенные команды, чтобы получить сигнал ШИМ, они обсуждаются ниже:
pinMode (2, ВЫХОД) analogWrite (вывод, значение)
Сначала нам нужно выбрать выходной канал ШИМ или выбрать вывод из 12 выводов DUE, после этого нам нужно установить этот вывод как вывод. Поскольку мы используем PIN2 в качестве вывода, мы установим его как ВЫХОД, как показано в первой строке.
Затем нам нужно включить функцию PWM DUE, вызвав функцию « analogWrite (pin, value) ». Здесь «пин» представляет номер пина, на котором нам нужен вывод ШИМ. Мы указываем это как «2», поэтому на PIN2 мы получаем вывод ШИМ. «Value» - это значение включения, оно варьируется от 0 (всегда выключено) до 255 (всегда включено). Мы можем записать в этом поле соответствующее значение для необходимой яркости светодиода.
Мы прикрепили пару кнопок к плате DUE для изменения этого значения. Одна кнопка предназначена для увеличения значения яркости, а другая - для уменьшения значения яркости. После завершения программирования, мы можем отрегулировать яркость, нажимая эти кнопки.