Учебники

Arduino — чтение аналогового напряжения

В этом примере показано, как прочитать аналоговый вход на аналоговом выводе 0. Вход преобразуется из analogRead () в напряжение и распечатывается на последовательный монитор программного обеспечения Arduino (IDE).

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

Вам понадобятся следующие компоненты —

  • 1 × макет
  • 1 × Arduino Uno R3
  • Переменный резистор 1 × 5К (потенциометр)
  • 2 × джемпер

Процедура

Следуйте электрической схеме и подключите компоненты на макете, как показано на рисунке ниже.

Аналоговый макет

Потенциометр

Потенциометр (или горшок) — это простой электромеханический преобразователь. Он преобразует вращательное или линейное движение от оператора ввода в изменение сопротивления. Это изменение (или может быть) используется для управления чем-либо от объема системы Hi-Fi до направления огромного контейнеровоза.

Как мы знаем, сосуд изначально был известен как реостат (по сути, переменный проволочный резистор). Разнообразие доступных горшков теперь удивительно, и начинающему (в частности) может быть очень трудно определить, какой тип подходит для данной задачи. Несколько разных типов горшков, которые могут быть использованы для одной и той же задачи, усложняют работу.

Потенциометр

На изображении слева показан стандартный схематический символ горшка. Изображение справа — потенциометр.

эскиз

Откройте программное обеспечение Arduino IDE на своем компьютере. Кодирование на языке Arduino будет контролировать вашу схему. Откройте новый файл эскиза, нажав Новый.

эскиз

Arduino Code

/*
   ReadAnalogVoltage
   Reads an analog input on pin 0, converts it to voltage, 
   and prints the result to the serial monitor.
   Graphical representation is available using serial plotter (Tools > Serial Plotter menu)
   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
*/

// the setup routine runs once when you press reset:

void setup() {
   // initialize serial communication at 9600 bits per second:
   Serial.begin(9600);
}

// the loop routine runs over and over again forever:

void loop() {
   // read the input on analog pin 0:
   int sensorValue = analogRead(A0);
   // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
   float voltage = sensorValue * (5.0 / 1023.0);
   // print out the value you read:
   Serial.println(voltage);
}

Код для заметки

В приведенной ниже программе или наброске первое, что вы делаете в функции настройки, — начинаете последовательную связь со скоростью 9600 бит / с между вашей платой и компьютером по линии —

Serial.begin(9600);

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

int sensorValue = analogRead(A0);

Чтобы изменить значения от 0-1023 до диапазона, соответствующего напряжению, вывод которого выводит вывод, необходимо создать еще одну переменную с плавающей точкой и выполнить небольшой расчет. Чтобы масштабировать числа от 0,0 до 5,0, разделите 5,0 на 1023,0 и умножьте это на sensorValue —

float voltage= sensorValue * (5.0 / 1023.0);

Наконец, вам нужно распечатать эту информацию в вашем серийном окне. Вы можете сделать это с помощью команды Serial.println () в вашей последней строке кода —

Serial.println(voltage)

Теперь откройте Serial Monitor в Arduino IDE, щелкнув значок с правой стороны верхней зеленой панели или нажав Ctrl + Shift + M.

Серийный монитор

Результат

Вы увидите устойчивый поток чисел в диапазоне от 0,0 до 5,0. Когда вы поворачиваете горшок, значения будут меняться в соответствии с напряжением на выводе A0.