Модуль 4 — Аналогові сигнали (курс для початківців)
Мета модуля: вивчити роботу з аналоговими входами Arduino (ADC), навчитися використовувати ШІМ (PWM) для керування яскравістю світлодіодів, підключити потенціометр і створити проєкт «Регулятор яскравості».
Аналоговий вхід (ADC)
Аналоговий вхід дозволяє вимірювати напругу в діапазоні від 0 до опорної (зазвичай 5 В або 3,3 В для Arduino). Модуль АЦП (ADC — Analog-to-Digital Converter) перетворює напругу на цифрове значення.
- На Arduino Uno, Nano, Mega — розрядність 10 біт, що дає значення від 0 до 1023.
- 0 відповідає 0 В, 1023 — максимально допустимій напрузі (зазвичай 5 В).
- Приклад: 2,5 В на вході дасть приблизно 512.
Аналогові входи позначені як A0, A1, A2....
ШІМ (PWM)
Широтно-імпульсна модуляція (PWM — Pulse Width Modulation) використовується для керування «середньою» напругою на виході, що дозволяє плавно змінювати яскравість світлодіода або швидкість двигуна.
- В Arduino функція
analogWrite()генерує PWM-сигнал. - Значення — від 0 (0% заповнення, завжди LOW) до 255 (100% заповнення, завжди HIGH).
- На Arduino Uno піни з PWM позначені знаком
~(3, 5, 6, 9, 10, 11).
Вимірювання напруги з потенціометра
Потенціометр — це змінний резистор, який можна використовувати як дільник напруги. Повертаючи ручку, ми змінюємо напругу на середньому виводі.
Підключення:
- Один крайній вивід — до
+5V. - Другий крайній вивід — до
GND. - Середній вивід — до аналогового входу Arduino (наприклад,
A0).
Зміна яскравості світлодіода за допомогою PWM
Якщо підключити світлодіод до піна з підтримкою PWM, можна плавно змінювати його яскравість залежно від значення з потенціометра.
Практика
Підключення потенціометра та керування яскравістю
Схема:
- Потенціометр: краї → +5V і GND, середній вивід → A0.
- Світлодіод через резистор 220–330 Ом → пін 9 (PWM) і GND.
const int potPin = A0;
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
int potValue = analogRead(potPin); // 0..1023
int pwmValue = map(potValue, 0, 1023, 0, 255); // масштабуємо
analogWrite(ledPin, pwmValue);
}
Повертаючи ручку потенціометра, ви змінюєте коефіцієнт заповнення PWM, а отже — і яскравість світлодіода.
Проєкт: «Регулятор яскравості»
Завдання: створити пристрій, який дозволяє плавно регулювати яскравість світлодіода.
Що потрібно: Arduino Uno/Nano, потенціометр 10 кОм, світлодіод, резистор 220–330 Ом, макетна плата, дроти.
Схема підключення: така ж, як у прикладі вище.
Код з плавною зміною яскравості
const int potPin = A0;
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
int potValue = analogRead(potPin);
int pwmValue = map(potValue, 0, 1023, 0, 255);
analogWrite(ledPin, pwmValue);
delay(10); // невелика затримка для плавності
}
Типові помилки
- Підключення світлодіода без резистора — може згоріти.
- Використання піна без підтримки PWM — яскравість не змінюється.
- Неправильне підключення потенціометра — значення не змінюються.
Що далі
У наступному модулі ми познайомимося з Модулем 5 — Датчики та модулі: DHT11, LDR і проєкт «Розумна лампа»
Контрольні запитання
- Що таке ADC і які значення він повертає на Arduino Uno?
- Що таке PWM і для чого він використовується?
- Як підключити потенціометр до Arduino?
- Як за допомогою потенціометра регулювати яскравість світлодіода?
Авторський курс по Arduino для початківців. Використання матеріалів на комерційних сайтах допускається з вказанням джерела.





