Модуль 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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Стабилитроны: принцип работы, характеристики и применение в электронике

Стабилитроны: принцип работы, характеристики и применение в электронике

Стабилитрон: что это и как он работает Стабилитрон (англ. Zener diode) — это полупр..

Модуль MicroSD карты памяти

Модуль MicroSD карты памяти

Модуль карточки памяти с интерфейсом SPI. Предназначен для сохранения различных данных контроллера: ..

38.02грн.

Инфракрасный датчик движения HC-SR505

Инфракрасный датчик движения HC-SR505

Миниатюрный экономичный датчик движения.Напряжение питания 4,5 ... 20 ВТок покоя < 60 мкАВыходные..

76.78грн.

NRF24L01+PA+LNA модуль 2,4 ГГц SMD с разъёмом IPEX, 18×14 мм

NRF24L01+PA+LNA модуль 2,4 ГГц SMD с разъёмом IPEX, 18×14 мм

NRF24L01+PA+LNA модуль 2,4 ГГц (SMD) с разъёмом IPEX (u.FL), 18×14 мм ..

109.98грн.

BMS плата защиты 3х литий-ионных аккумуляторов 10А

BMS плата защиты 3х литий-ионных аккумуляторов 10А

Модуль защиты батареи трех литий-ионных аккумуляторовНапряжение отсечки при заряде 4,25 ... 4,3..

114.46грн.