На платах Arduino кроме цифровых GPIO контактов есть еще и аналоговые входы, давайте научимся с ними работать. Аналого-цифровое преобразование (АЦП) применяется для конвертирования аналоговых сигналов в дискретные. В этом эксперименте мы научимся пользоваться этой возможностью.
Компоненты
- Плата Arduino Uno
- Макетная плата
- USB кабель
- Роторный потенциометр
- Перемычки
АЦП
АЦП, аналого-цифровое преобразование, используется в электронике для преобразования аналоговых сигналов в цифровые. Плата Arduino Uno имеет 10-битные АЦП. Это значит, что разрешение такого АЦП составляет 2^10 = 1024. То есть входное напряжение от 0 до 5 В разбивается на 1024 части. Аналоговый сигнал, попадающий на вход, сравнивается с этими частями и преобразуется в цифровой код от 0 до 1023, как показано на рисунке:
Потенциометр
Потенциометр — это регулируемый делитель напряжения. Представляет собой резистор с подвижным отводным контактом (движком). На рисунке ниже представлен линейный потенциометр и его графическое обозначение на схемах.
Отводной контакт 3 движется между контактами 1 и 2 и меняет напряжение на своём выходе. Если контакт 1 соединить с 0 В, а контакт 2 соединить с 5 В, то напряжение на контакте 3 при движении будет меняться от 0 до 5 В.
Для того чтобы зарегистрировать изменение напряжения на контакте 3 его нужно соединить с аналоговым выводом платы Arduino Uno.
Роторный потенциометр
Функции роторного потенциометра ничем не отличаются от линейного. Отличие только в форме.
Схема
В этом эксперименте мы будем использовать аналоговый вывод A0 для регистрации изменения напряжения на выходе потенциометра.
Соединение компонентов
Напишем скетч, который будет считывать напряжение на входе A0 и передавать его в монитор последовательного порта.
int adcValue;
float voltage;
void setup() {
Serial.begin(115200);
Serial.println("UNO is ready!");
}
void loop() {
adcValue = analogRead(A0);
voltage = adcValue * (5.0 / 1023.0);
Serial.print("convertValue:");
Serial.println(adcValue);
Serial.print("Voltage:");
Serial.println(voltage);
delay(500);
}
Скомпилируйте и загрузите скетч на плату Arduino. Теперь вы можете покрутить ручку потенциометра и увидеть как будут меняться значения АЦП и соответствующее ему напряжение.
Предыдущий урок | В начало | Следующий урок