Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | |||
products:laboratory_iot_с:exp14 [2024/11/14 14:48] – [Программный код эксперимента] labuser30 | products:laboratory_iot_с:exp14 [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ===== Эксперимент 14. Измерение напряжения ===== | ||
- | |||
- | В предыдущей статье мы узнали о том что такое аналого- цифровой преобразователь. Микроконтроллер, | ||
- | |||
- | ==== Подключение переменного резистора ==== | ||
- | На плате конструктора установлен переменный резистор. | ||
- | Переменный резистор состоит из полукруглой пластины, | ||
- | покрытой веществом, | ||
- | и скользящего контакта с ручкой. У переменного резистора | ||
- | три вывода — по концам пластины и скользящий контакт. | ||
- | Сопротивление меняется в зависимости от длины отрезка | ||
- | резистивной пластины от ее начала до скользящего контакта. Чем | ||
- | больше этот путь, тем выше сопротивление. | ||
- | |||
- | {{ : | ||
- | // | ||
- | |||
- | Переменный резистор можно представить как схему из двух резисторов | ||
- | {{ : | ||
- | |||
- | ==== Делитель напряжения ==== | ||
- | С помощью переменного резистора будем получать аналоговый сигнал. | ||
- | Используем широко распространенную схему резисторного | ||
- | делителя напряжения. Резисторный делитель — это два | ||
- | последовательных участка цепи, называемых плечами, | ||
- | напряжений на которых равна напряжению питания. Плечо между | ||
- | минусом питания и средней точкой называют нижним, | ||
- | верхним. | ||
- | |||
- | {{ : | ||
- | |||
- | Резисторный делитель используется для деления напряжения. | ||
- | Например, | ||
- | сопротивления, | ||
- | половине напряжения питания. Такой делитель делит напряжение | ||
- | на 2. | ||
- | |||
- | Подключим нижнее плечо с земле, а верхнее к напряжению питания. Тогда при вращении ручки переменного резистора на его средней точки напряжение будет изменяться от 0 до напряжения питания (3,3в в нашем конструкторе). Подключим среднюю точку ко входу аналого- цифрового преобразователя и будем измерять напряжение на ней. | ||
- | |||
- | ==== Схема эксперимента ==== | ||
- | {{ : | ||
- | // | ||
- | |||
- | {{ : | ||
- | // | ||
- | |||
- | ==== Программный код эксперимента ==== | ||
- | <file arduino Exp14.ino[enable_line_numbers=" | ||
- | #define ACD_PIN A0 | ||
- | |||
- | int value = 0; | ||
- | |||
- | void setup() { | ||
- | Serial.begin(9600); | ||
- | } | ||
- | |||
- | void loop() { | ||
- | value = analogRead(ACD_PIN); | ||
- | Serial.println(value); | ||
- | delay(200); | ||
- | } | ||
- | </ | ||
- | |||
- | В строке 1 мы задаем псевдоним '' | ||
- | |||
- | <code arduino [enable_line_numbers=" | ||
- | #define ACD_PIN A0 | ||
- | </ | ||
- | |||
- | В строке 3 мы объявляем переменную '' | ||
- | от -32 768 до 32 767. | ||
- | |||
- | <code arduino [enable_line_numbers=" | ||
- | int value = 0; | ||
- | </ | ||
- | |||
- | В строке 6 мы с помощью функции '' | ||
- | |||
- | <code arduino [enable_line_numbers=" | ||
- | Serial.begin(9600); | ||
- | </ | ||
- | |||
- | В цикле просим АЦП оцифровать текущее напряжение на его входе cпомощью функции '' | ||
- | <code arduino [enable_line_numbers=" | ||
- | value = analogRead(ACD_PIN); | ||
- | </ | ||
- | |||
- | После чего с помощью функции '' | ||
- | <code arduino [enable_line_numbers=" | ||
- | Serial.println(value); | ||
- | </ | ||
- | Чтобы увидеть " | ||
- | |||
- | Задержка в строке 13 нужна для того, чтобы сообщения микроконтроллера не " | ||
- | <code arduino [enable_line_numbers=" | ||
- | delay(200); | ||
- | </ | ||
- | Попробуй изменить значение задержки и посмотреть как изменится скорость вывода сообщений в монитор порта. | ||
- | |||
- | В принципе наша программа может обойтись без переменной '' | ||
- | |||
- | <code arduino> | ||
- | Serial.println(analogRead(ACD_PIN)); | ||
- | delay(200) | ||
- | </ | ||
- | |||
- | |||
- | <WRAP center round info 60%> | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | </ | ||
- | ==== Дополнительное задание ==== | ||
- | <WRAP center round tip 60%> | ||
- | * Если наш АЦП при напряжении 0 вольт возвращает результат 0, а при 3.3 вольт — 1023, то какой результат преобразования будет при напряжении 1.65? А если напряжение 1 вольт ровно? | ||
- | * Какое напряжение соответствует значению 785? | ||
- | </ | ||