Давайте розберемося, що ховається за абревіатурою ШІМ, як це працює, для чого потрібно і як ми можемо використовувати її в роботі з Arduino.

ШИМ сигнал

Вам знадобиться

  • – Arduino;
  • – світлодіод;
  • – резистор опором 200 Ом;
  • – комп’ютер.

Інструкція

1. Цифрові висновки Arduino можуть видавати тільки два значення: логічний 0 (LOW, низький рівень) і логічну 1 (HIGH, високий). На те вони і цифрові. Але є у Ардуїнов “особливі” висновки, які позначаються PWM. Їх іноді позначають хвилястою рисою “~” або обводять кружечками або ще як-то виділяють серед інших. PWM розшифровується як “Pulse-width modulation” або широтно-імпульсна модуляція, ШІМ.Широтно-імпульсно модульований сигнал – це імпульсний сигнал постійної частоти, але змінної шпаруватості (співвідношення тривалості імпульсу і періоду його проходження). З-за того, що більшість фізичних процесів у природі мають деяку інерцію, то різкі перепади напруги від 1 до 0 будуть згладжуватися, приймаючи деяке середнє значення. З допомогою завдання шпаруватості можна змінювати середня напруга на виході ШІМ. Якщо шпаруватість дорівнює 100%, то весь час на цифровому виході Arduino буде напруга логічна “1” або 5 вольт. Якщо задати шпаруватість 50%, то половину часу на виході буде логічна “1”, а половину – логічний “0”, і середня напруга буде дорівнювати 2,5 вольтів. Ну і так далі.У програмі шпаруватість задається не у відсотках, а числом від 0 до 255. Наприклад, команда “analogWrite(10, 64)” скаже мікроконтролеру подати на цифровий PWM вихід №10 сигнал зі шпаруватістю 25%.Висновки Arduino з функцією широтно-імпульсної модуляції працюють на частоті близько 500 Гц. Отже, період проходження імпульсів – близько 2 мілісекунд, що і відміряють зелені вертикальні штрихи на малюнку.Виходить, що ми можемо зімітувати аналоговий сигнал на цифровому виході! Цікаво, правда?!Як же ми це можемо використовувати? Застосувань маса! Наприклад, це управління яскравістю світлодіода, управління швидкістю обертання двигуна, керування струмом транзистора, витяг звуку з пьезоизлучателя…

Понятие широтно-импульсной модуляции

2. Давайте розглянемо самий базовий приклад – управління яскравістю світлодіода з допомогою ШІМ. Зберемо класичну схему.

Схема для демонстрации ШИМ в Arduino

3. Відкриємо з прикладів скетч “Fade”: Файл -> Зразки -> 01.Basics -> Fade.

Открываем образец для демонстрации ШИМ в Arduino

4. Трохи змінимо його та завантажимо в пам’ять Arduino.

Скетч для демонстрации ШИМ

5. Включаємо харчування. Світлодіод плавно збільшує яскравість, а потім плавно зменшує. Ми зімітували аналоговий сигнал на цифровому виході з допомогою широтно-імпульсної модуляції.

ШИМ + Arduino в действии

НАПИСАТИ ВІДПОВІДЬ

Please enter your comment!
Please enter your name here