Главная chevron_right Уроки chevron_right Встроенные примеры chevron_right Основы chevron_right Analog Read Serial: чтение аналогового сигнала и вывод в монитор порта

Analog Read Serial: чтение аналогового сигнала и вывод в монитор порта

Подключите потенциометр к Arduino, считайте аналоговый сигнал с помощью analogRead и выводите значения в Serial Monitor в реальном времени.

В этом уроке вы научитесь считывать аналоговый сигнал из реального мира с помощью потенциометра. Потенциометр — простое механическое устройство, которое изменяет своё сопротивление при повороте ручки. Подав напряжение через потенциометр на аналоговый вход платы, можно измерить это сопротивление как числовое значение. В примере мы установим связь между Arduino и компьютером через Serial-порт и будем наблюдать показания потенциометра в реальном времени.

Необходимые компоненты

  • Потенциометр 10 кОм

Схема подключения

Потенциометр имеет три вывода. Подключите их следующим образом:

  • Один крайний вывод — к GND (земля).
  • Другой крайний вывод — к 5V.
  • Средний вывод (движок, он же «вайпер») — к аналоговому пину A0.

Схема подключения потенциометра к плате Arduino UNO на макетной плате

Когда вы поворачиваете ручку потенциометра, сопротивление между средним выводом и крайними меняется. Это изменяет напряжение на пине A0:

  • Ручка повёрнута в сторону 5V → напряжение на A0 близко к 5 В.
  • Ручка повёрнута в сторону GND → напряжение на A0 близко к 0 В.

Именно это аналоговое напряжение мы и будем считывать.

Как работает АЦП

Внутри платы Arduino есть схема, которая называется аналого-цифровой преобразователь (ADC). Она измеряет напряжение на аналоговом входе и преобразует его в целое число от 0 до 1023:

  • 0 В → значение 0
  • 5 В → значение 1023
  • Любое промежуточное напряжение → пропорциональное число

Функция analogRead() возвращает именно это число. Разрешение такого преобразователя — 10 бит (2¹⁰ = 1024 уровня), что даёт достаточную точность для большинства задач.

Принципиальная схема

Принципиальная схема подключения потенциометра к аналоговому входу A0 платы Arduino UNO

Код

В функции setup() мы инициализируем Serial-соединение на скорости 9600 бод:

Serial.begin(9600);

В основном цикле loop() объявляем переменную типа int, которая будет хранить значение от 0 до 1023 — диапазон как раз укладывается в этот тип:

int sensorValue = analogRead(A0);

Затем выводим полученное значение в Serial Monitor с помощью Serial.println():

Serial.println(sensorValue);

Как проверить результат

Откройте Serial Monitor в Arduino IDE — нажмите значок лупы в правом верхнем углу или используйте сочетание клавиш Ctrl+Shift+M. Убедитесь, что скорость порта в мониторе выставлена на 9600 baud.

Вы увидите непрерывный поток чисел от 0 до 1023. При повороте ручки потенциометра значения будут меняться почти мгновенно.

Типичные ошибки и советы

  • Значение всегда 0 или 1023. Проверьте, не перепутаны ли крайние выводы потенциометра с GND и 5V. Если оба крайних провода висят в воздухе — показания будут непредсказуемыми.
  • Значения «прыгают» даже в покое. Небольшой шум — это норма для аналогового сигнала. Если шум мешает, можно усреднять несколько показаний подряд в коде.
  • Serial Monitor показывает «кракозябры». Скорость в мониторе не совпадает со скоростью в Serial.begin(). Выставьте 9600 baud в обоих местах.
  • Не видите данных вовсе. Убедитесь, что выбран правильный COM-порт и плата загружена без ошибок.

Где это пригодится

Чтение аналогового сигнала — фундаментальная техника для работы с датчиками: температуры, освещённости, давления, влажности, джойстиками и многими другими устройствами, которые выдают переменное напряжение. Освоив этот пример, вы сможете подключить к Arduino практически любой аналоговый датчик.

Дополнительные материалы

Больше базовых уроков вы найдёте в разделе built-in examples.

Подробное описание всех функций языка Arduino доступно в language reference.