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 (https://www.arduino.cc/en/Main/Software).
Принципова схема та робоче пояснення:
Схема підключена на макетній панелі згідно з принциповою схемою. Однак слід звертати увагу під час підключення світлодіодних клем. Хоча кнопки можуть демонструвати ефект підстрибування, але в цьому випадку це не спричиняє значних помилок, тому цього разу нам не потрібно хвилюватися.
Отримати ШІМ-сигнал від DUE легко; Arduino IDE надає корисні функції, які полегшують труднощі програміста. Якщо ми йдемо на програмування з чистими мікросхемами, нам потрібно налаштувати контролер ATMEGA для ШІМ-сигналу, що непросто; нам потрібно визначити багато регістрів та налаштувань для точного сигналу, проте в Arduino нам не доводиться мати справу з усіма цими речами. Ми вже охопили модуляцію ширини імпульсу за допомогою ATmega32, Arduino Uno та 555 таймерних ІС.
За замовчуванням всі файли заголовків та регістри заздалегідь визначені Arduino IDE, нам просто потрібно їх викликати, і все, ми отримаємо ШІМ-вихід на відповідному штифті. Нам також потрібно викликати певні команди, щоб отримати сигнал ШІМ, це обговорюється нижче:
pinMode (2, OUTPUT) analogWrite (pin, value)
Спочатку нам потрібно вибрати вихідний канал ШІМ або вибрати штифт з 12 штифтів DUE, після цього нам потрібно встановити цей штифт як вихідний. Оскільки ми використовуємо PIN2 як вихід, ми встановимо його як ВИХІД, як показано в першому рядку.
Далі нам потрібно увімкнути функцію ШІМ DUE, викликавши функцію “ analogWrite (pin, value) ”. Тут "pin" представляє номер виводу, де нам потрібен вихід ШІМ. Ми ставимо це як "2", тому на PIN2 ми отримуємо ШІМ-вихід. “Значення” - це значення увімкнення, воно коливається від 0 (завжди вимкнено) до 255 (завжди увімкнено). У цьому просторі ми можемо записати відповідне значення необхідної яскравості світлодіода.
Ми прикріпили пару кнопок до плати DUE для зміни цього значення. Одна кнопка призначена для збільшення значення яскравості, а інша - для зменшення значення яскравості. Коли програмування завершено, ми можемо регулювати яскравість, натискаючи ці кнопки.