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

Обмен информацией между контроллерами Arduino Nano по Ethernet

Двухсторонняя связь модулями ENC28J60 между контроллерами Arduino Я покажу здесь решение, казалос..

Видео уроки Arduino

Видео уроки Arduino

Курс уроков Arduino будет полезен любому исследователю окружающего мира ..

Watchdog и Arduino Uno

Watchdog и Arduino Uno

Зачем нужен watchdog (сторожевой таймер)? Сторожевые таймеры используются, чтобы исключить пзавис..

Arduino Nano 3.0

Arduino Nano 3.0

Миниатюрная плата контроллера из линейки Aduino на базе микропроцессора ATMEGA328P-AU (это тот же ко..

179.44грн.

Пушка Гауса

Пушка Гауса

Подключаем к контроллеру Arduino, stm32, Raspberry PI пушку Гауса через электропускателиА если ещё с..