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); }
Фото:
Видео:
Обсуждение