Arduino имеет в себе некоторое количество портов (Количество зависит от версии Ардиуны) с Аналого-цифровым преобразователем (АЦП).
Эта функция дает нам возможность преобразовывать входящий сигнал 0-5 В. в дискретные значения 0-1024.
Например :
2 Вольта. преобразуем в дискреты (1025/5)*2 = 410 дискрет.
Получается если мы подадим на аналоговый вход Ардуины 2 вольта, Ардуина пересчитает их и даст нам значение АЦП =~410.
С помощью потенциометра мы можем получать любое напряжение от 0 до 5 вольт. Попробуем вывести эти показания да текстовый дисплей.
На дисплей будет выводиться сперва количество дискрет, а потом пересчитываться в напряжение.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int PotenciometrPin = A0; // select the input pin for the potentiometer
int Value=0;
float Value_volt=0;
LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей
void setup()
{
lcd.init();
lcd.backlight();// Включаем подсветку дисплея
lcd.print("iarduino.ru");
lcd.setCursor(4, 1);
lcd.print("Potenciometr");
delay(1000);
}
void loop()
{
lcd.setCursor(0, 1);
lcd.print(" - ____V ");
// Устанавливаем курсор на вторую строку и нулевой символ.
lcd.setCursor(0, 1);
// Выводим на экран значение с аналогового входа (от 0 до 1024 пропорционально от 0 В. до 5 В.)
Value = analogRead(PotenciometrPin);
lcd.print(Value);
lcd.setCursor(7, 1);
Value_volt=(float)5/1025*Value;
lcd.print(Value_volt);
delay(300);
}
Фото:
Видео:

Обсуждение