Цей світлодіодний диммер - це схема ШІМ (модуляція ширини імпульсу) на основі Arduino Uno, розроблена для отримання змінної напруги над постійною напругою. Метод ШІМ пояснюється нижче. Перш ніж ми почнемо будувати схему світлодіодного диммера потужністю 1 Вт, спочатку розглянемо просту схему, як показано на малюнку нижче.
Тепер, якщо перемикач на малюнку постійно закривається протягом певного періоду, тоді лампочка буде постійно ввімкнюватися протягом цього часу. Якщо перемикач закритий на 8 мс і відкритий на 2 мс протягом циклу 10 мс, то лампочка ввімкнеться лише через 8 мс. Тепер середній термінал протягом 10 мс = час увімкнення / (час увімкнення + час вимкнення), це називається робочим циклом і становить 80% (8 / (8 + 2)), тому середнє значення вихідна напруга складе 80% від напруги акумулятора.
У другому випадку перемикач зачиняється на 5 мс і розмикається на 5 мс протягом 10 мс, тому середня напруга на клеммі на виході складе 50% від напруги акумулятора. Скажімо, якщо напруга акумулятора дорівнює 5 В, а робочий цикл - 50%, тож середня напруга на висновку буде 2,5 В.
У третьому випадку робочий цикл становить 20%, а середня напруга на клем - 20% напруги акумулятора.
Тепер, як ця техніка використовується у цьому світлодіодному регуляторі яскравості? Це пояснюється у наступному розділі цього посібника.
Як показано на малюнку, Arduino UNO має 6PWM-каналів, тому ми можемо отримати ШІМ (змінну напругу) на будь-якому з цих шести контактів. У цьому розділі ми будемо використовувати PIN3 як вихід ШІМ.
Необхідні компоненти
Апаратне забезпечення: ARDUINO UNO, блок живлення (5 В), конденсатор 100 мкФ, світлодіод, кнопки (дві штуки), резистор 10 кОм (дві штуки).
Програмне забезпечення: arduino IDE
Принципова схема та пояснення
Схема підключена на макетній панелі відповідно до принципової схеми. Однак слід звертати увагу під час підключення світлодіодних клем. Хоча кнопки в цьому випадку відображають ефект підстрибування, це не викликає значних помилок, тому нам цього разу не потрібно хвилюватися.
ШІМ від UNO досить простий. Хоча налаштування контролера ATMEGA для ШІМ-сигналу непросте, нам потрібно визначити багато регістрів та налаштувань для точного сигналу, проте в ARDUINO нам не доводиться мати справу з усіма цими речами.
За замовчуванням усі файли заголовків та регістри заздалегідь визначені ARDUINO IDE, нам просто потрібно викликати їх, і все, ми отримаємо ШІМ-вихід на відповідному штифті.
Тепер, щоб отримати вихід ШІМ на відповідному штифті, нам потрібно попрацювати над двома речами:
|
Спочатку нам потрібно вибрати вихідний штир ШІМ із шести контактів, після цього нам потрібно встановити цей штифт як вихідний.
Далі нам потрібно увімкнути функцію ШІМ UNO, викликавши функцію “analogWrite (pin, value)”. Тут 'pin' представляє номер контакту, де нам потрібен вихід ШІМ, ми ставимо його як '3'. Отже, на PIN3 ми отримуємо ШІМ-вихід. Значення - робочий цикл включення, між 0 (завжди вимкнено) та 255 (завжди увімкнено). Ми збираємося збільшувати та зменшувати це число натисканням кнопки.
Використання ШІМ-контактів в Arduino Uno пояснюється в коді С, наведеному нижче.