Преобразование аналогового сигнала в цифровое (аналоговое считывание последовательного порта) - основы Arduino

Попробуйте наш инструмент устранения неполадок





В этих основах Arduino мы пытаемся понять процедуру реализации кода, в которой внешний аналоговый сигнал подается на аналоговый вход Arduino и преобразуется или преобразуется в соответственно пропорциональное цифровое считывание. Здесь мы используем переменное сопротивление в виде горшка в качестве источника аналогового сигнала.

Аналоговое чтение последовательного порта

В этом примере мы изучаем метод считывания аналогового входа с внешнего устройства, такого как потенциометр, которое представляет собой электромеханическое устройство, предназначенное для реализации переменного сопротивления в цепи посредством ручного управления.



Arduino может использоваться для измерения величины напряжения, выходящего из потенциометра, чтобы считывать и идентифицировать его соответственно изменяющееся сопротивление. Это можно сделать, подав напряжение на аналоговый входной порт Arduino в виде аналогового значения.

Здесь мы увидим, как это выполняется после установления последовательной связи между Arduino и подключенным компьютером.



Требуется оборудование

Плата Arduino

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

Схема работы

Как показано на схеме выше, подключите три выходящих из розетки провода к портам Arduino.

Провод от одного из внешних выводов горшка соединяется с землей или отрицательной линией платы.

Другой свободный крайний внешний вывод подключается к + 5В платы.

Остается только центральный вывод потенциометра, который подключается к аналоговому входу платы Arduino.

При вращении вала электролизера сопротивление между центральным выводом и внешним выводом смещается с более высокого на более низкое и наоборот в зависимости от того, к какой стороне приближается рычаг ползуна.

Например, когда ползунок поворачивается к выводу + 5V, центральный вывод приближается к 5V и стремится получить все значение, когда он касается вывода, назначенного на 5V. Точно так же, когда вал ползуна перемещается к заземляющему проводу, центральный провод стремится достичь нулевого потенциала.

Вышеупомянутое линейно изменяющееся напряжение питания на центральном выводе потенциометра считывается аналоговым входом Arduino для интерпретации его в соответственно изменяющееся сопротивление потенциометра.

Arduino включает в себя схему внутреннего аналого-цифрового преобразователя, которая эффективно интерпретирует указанное выше перемещение потенциометра и преобразует его в числа от 0 до 1023.

Определенное положение над валом горшка приводит к тому, что Arduino переводит пропорциональное число от 0 до 1023, а для конечных значений 5 В и нуля вольт интерпретация, очевидно, равна 0 и 1023.

В упомянутой программе функция настройки должна быть запущена только для инициирования последовательной связи со скоростью 9600 бит данных в секунду на вашей плате Arduino и на компьютере.

Ожидаемая команда имеет вид:

Serial.begin (9600)

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

int sensorValue = analogRead (A0)

В заключение распечатайте эту информацию в окне последовательного порта в виде десятичного значения (DEC). Вы можете использовать команду Serial.println () для реализации этого в последней строке кода:

Serial.println (sensorValue, DEC)

После этого всякий раз, когда Serial Monitor запускается в домене разработки Arduino (это делается нажатием кнопки, которая находится непосредственно справа от кнопки «Загрузить» в заголовке программы).

мы увидим последовательную цепочку цифр от 0 до 1023, соответствующую изменяющемуся вращательному положению вала горшка.

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

Код

/ *
AnalogReadSerial
Считывает аналоговый вход на выводе 0, выводит результат на монитор последовательного порта.
Подсоедините центральный штифт потенциометра к контакту A0, а внешние контакты к + 5 В и заземлению.

Этот пример кода находится в общественном достоянии.
* /

// процедура установки запускается один раз при нажатии кнопки сброса:
void setup () {
// инициализируем последовательную связь со скоростью 9600 бит в секунду:
Serial.begin (9600)
}

// процедура цикла запускается снова и снова бесконечно:
void loop () {
// считываем вход аналогового вывода 0:
int sensorValue = analogRead (A0)
// распечатываем прочитанное вами значение:
Serial.println (sensorValue)
delay (1) // задержка между чтениями для стабильности
}




Предыдущая: Мониторинг состояния коммутатора (цифровое чтение последовательного порта) - основы Arduino Следующая статья: Схема регулируемого стабилизатора напряжения сети от 1,25 до 120 В