В этом примере показано, как прочитать аналоговый вход на аналоговом выводе 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.