Измерение напряжения
В этой статье рассказывается как считать значение с аналогового входа 0, преобразовать значение из analogRead() в напряжение и вывести его на экран.
Аппаратное обеспечение:
- плата Arduino
- переменный резистор
Электрическая цепь:
Соедините анод (длинный вывод) вашего светодиода с цифровым выводом 9 Arduino через резистор 220 Ом. Соедините катод (короткий вывод) с землей (GND) Arduino. 
Соедините потенциометр и ваш Arduino тремя проводами. Первым соедините «землю»(GND) Arduino и один из крайних выводов потенциометра. Вторым соедините +5 вольт Arduino и второй крайний вывод потенциометра. Третьим соедините аналоговый вход 0 и средний вывод потенциометра.
Поворачивая ручку потенциометра вы меняете сопротивление между центральным и боковыми выводами потенциометра. Это изменяет напряжение на центральном выводе. Если сопротивление между центральным выводом и выводом, подсоединенным к 5 вольтам уменьшить до нуля (сопротивление между центральным выводом и выводом подсоединенным к «земле» станет 10 кОм), то напряжение на центральном выводе будет около 5 вольт. Если повернуть ручку до конца в другую сторону, то напряжение на центральном выводе упадет до нуля. Это напряжение и есть аналоговое напряжение, которое считывается со входа.
Arduino содержит в себе цепь, которая называется аналогово-цифровым преобразователем, который считывает значение напряжения и преобразует его в число от 0 до 1023. Когда ручка повернута до упора в одну сторону, но вход подается 0 вольт, и преобразованное значение будет 0. Если ручку повернуть до конца в другую сторону, то на входе будет уже 5 вольт и преобразованное значение будет 1023. В промежуточных положениях функция analogRead() будет возвращать числа от 0 до 1023, пропорционально напряжению, которое подается на вход.
Схема:

Код:
Первое, что необходимо сделать в функции установки, это установить последовательное соединение на скорости 9600 бит за секунду между вашим Arduino и ПК с помощью следующей команды:
Serial.begin(9600);
Далее, в основном цикле кода вам нужно инициализировать переменную для хранения значения преобразования (значения будут изменятся от 0 до 1023, потому лучше всего выбрать тип данных int ):
int sensorValue = analogRead(A0);
Для того чтобы наблюдать на экране значения напряжения от 0 до 5 вольт, а не значения преобразования от 0 до 1023, вам нужно создать еще одну переменную, типа float, и выполнить несложные математические преобразования. Для получения «шкалы» от 0 до 5 вольт нужно разделить 5.0 на 1023.0 и умножить на значение sensorValue:
float voltage= sensorValue * (5.0 / 1023.0);
Для вывода значений на экран вам нужно воспользоватся функцией Serial.println():
Serial.println(voltage)
Теперь, открыв Serial Monitor в вашей среде Arduino, вы можете наблюдать последовательность значений от 0.0 до 5.0. Если вы повернете ручку потенциометра, значения будут менятся, отображая значения напряжения на входе А0.
Полный текст программы:
/*
Измерениенапряжения
Читаем значение на аналоговом входе 0, преобразуем в напряжение, выводим на экран.
*/
// Функцияустановки
void setup() {
// создаемпоследовательноесоединениесоскоростью 9600 бит/с:
Serial.begin(9600);
}
// основнойцикл:
void loop() {
// читаемзначениенааналоговомвходе 0:
int sensorValue = analogRead(A0);
// преобразуемсчитанноезначение (котороеменяетсяот 0 до 1023) внапряжение (0 – 5В):
float voltage = sensorValue * (5.0 / 1023.0);
// выводимполученноезначениенаэкран:
Serial.println(voltage);
}
Собирайте arduino своими руками - полный каталог плат
