Модуль 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 і проєкт «Розумна лампа»


Контрольні запитання

  1. Що таке ADC і які значення він повертає на Arduino Uno?
  2. Що таке PWM і для чого він використовується?
  3. Як підключити потенціометр до Arduino?
  4. Як за допомогою потенціометра регулювати яскравість світлодіода?

Авторський курс по Arduino для початківців. Використання матеріалів на комерційних сайтах допускається з вказанням джерела.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Отримання даних через UART Arduino Nano

Отримання даних через UART Arduino Nano

Усім користувачам контролерів Arduino відомо, що можна передавати дані через апаратний порт UART кон..

Розумний дім #11: Комунікаційні мережі

Розумний дім #11: Комунікаційні мережі

Розумний дім #11: Комунікаційні мережі Жодна система розумного дому неможлива без надій..

ESP32: Високоточні вимірювання сигналів за допомогою таймерів

ESP32: Високоточні вимірювання сигналів за допомогою таймерів

ESP32: Високоточні вимірювання сигналів за допомогою таймерів ESP32 оснащений потужними апаратним..

Стойка роликова для вісі Х 2шт. з кріпленням

Стойка роликова для вісі Х 2шт. з кріпленням

Монтажна панель з МДФ для організації вісі Х автоматичного лазерного гравера.Отвори під кроковий дви..

167.68грн.

Arduino SIM800 управління реле за вихідним дзвінком

Arduino SIM800 управління реле за вихідним дзвінком

Пропоную вашій увазі приклад простого застосування можливостей SIM800 під час вихідного дзвінка. В р..