Инструменты пользователя

Перевод этой страницы:

Инструменты сайта


Боковая панель

Для чего нужен ОрбиКрафт

Подсистемы конструктора

Инструкции по работе с ОрбиКрафт

Уроки

Лабораторная оснастка

Знакомство с Arduino

Полезная нагрузка на базе Arduino

Обратная связь

Новости

arduino_s_05

5. Аналоговые выводы. Потенциометр

5.1 Аналоговые выводы

Analog In — порты, принимающие аналоговый сигнал от датчиков, работают на вход. Данные порты также можно запрограммировать, как цифровые входы/выходы.

Аналоговый сигнал может меняться во времени, он непрерывен, а цифровой меняется только скачками (два положения 0В или 5В).

Для считывания сигналов с аналоговых вводов используется команда analogRead(pin). Эта команда возвращает значение от 0, при 0В на аналоговом пине, до 1023 при 5В на аналоговом пине.

5.2 Потенциометр

Потенциометр - это переменный резистор, т.е. его сопротивление меняется в зависимости от положения ручки. Крайнее левое положение соответствует минимальному использованию его внутреннего сопротивления, крайнее правое - максимальному.

Вот он выглядит потенциометр в реальности и в Tinkercad. У него 3 вывода. Два крайних - это +5V и GND (не имеет значения какой слева, а какой справа). Средний вывод подключается к аналоговому пину и выдает сигнал от 0 до 1023.

5.3 Считываем показания в монитор порта

5.3.1 Собираем схему с потенциометром

5.3.2 Программа для вывода показаний потенциометра в монитор порта

#define potenciometr A0 //создаем переменную для потенциометра
int potValue;           //создаем переменную для хранения показаний потенциометра
 
void setup(){
  pinMode(potenciometr, INPUT);  //настраиваем пин, к которому подключен потенциометр, как вход
  Serial.begin(9600);            //настраиваем работу с монитором порта
}
 
void loop(){
  potValue = analogRead(potenciometr);   //считываем показания потенциометра и сохраняем в переменную potValue
  Serial.print("Potenciometr value: ");  //выводим в монитор порта фразу "Potenciometr value: "
  Serial.println(potValue);              //выводим в монитор порта значение переменной potValue и ждем 100 миллисекунд
  delay(100);
}

5.4 Изменяем яркость светодиода потенциометром

5.4.1 Собираем схему с потенциометром и светодиодом

5.4.2 Программа для изменения яркости светодиода потенциометром

#define potenciometr A0   //создаем переменную для потенциометра
#define led 3             //создаем переменную для светодиода
int potValue;             //создаем переменную для хранения показаний потенциометра
 
void setup(){
  pinMode(potenciometr, INPUT);   //настраиваем пин, к которому подключен потенциометр, как вход
  pinMode(led, OUTPUT);           //настраиваем пин, к которому подключен светодиод, как выход
  Serial.begin(9600);             //настраиваем работу с монитором порта
}
 
void loop(){
  potValue = analogRead(potenciometr);    //считываем показания потенциометра и сохраняем в переменную potValue
  potValue = potValue/4;                  //делим значение переменной на 4
  analogWrite(led, potValue);             //задаем значение переменной potValue в качестве яркости светодиода
  Serial.print("Potenciometr value: ");   //выводим в монитор порта фразу "Potenciometr value: "
  Serial.println(potValue);               //выводим в монитор порта значение переменной potValue и ждем 100 миллисекунд
  delay(100);
}

Подробнее о analogWrite() можно прочитать здесь http://arduino.ru/Reference/AnalogWrite

Подробнее о analogRead() можно прочитать здесь http://arduino.ru/Reference/AnalogRead


Задания

1. Сделайте аналоговый калькулятор. Соберите схему с платой Arduino и двумя потенциометрами, подключенными в пинам А0 и А1. Запрограммируйте вывод в монитор порта значений, считанных с потенциометров, разделенных на 10 и округленных. Также выведите в монитор порта сумму этих значений.

2. Усложните аналоговый калькулятор. Соберите схему с платой Arduino, двумя потенциометрами, подключенными в пинам А2 и А3, и кнопкой, подключенной к пину 5. Запрограммируйте вывод в монитор порта значений, считанных с потенциометров, разделенных на 10 и округленных. Также выведите в монитор порта результат арифметической операции между этими числами. Выбор одной из четырех арифметических операций должен осуществляться с помощью кнопки.

arduino_s_05.txt · Последние изменения: 2020/05/08 17:26 — golikov

Инструменты страницы