ポテンショメータの出力端子をアナログ入力末端に接続することにより、端子から比例値を読み取り、それを必須値に変換できます。
Урок №5. Как использовать сенсоры с Arduino
これらのセミナーで自宅で勉強するために一連のセミナーを注文できます。
キットの価格は3,200ルーブルです。
セミナーでは、Minibloqプログラミング環境とコンピューターにインストールされたArduinoドライバーが必要です。
ダミーワイヤーパパからダディへ
ベアボーンブレッドボード
以前にArduinoのデジタルピンを見たことがありますが、それらは入り口として真または偽りしか受け入れないことを知っています。
ただし、多くの場合、3つ以上の値(オンとオフ)を持つ信号を処理する必要があります。
この目的のために、Arduino UNOには、着信電圧の読み取りに使用できる6つの比例入力があります。
これらの入力は、ボード上に「アナログイン」としてグループ化され、A0からA5まで番号が付けられています。それらを見つけましょう。
アナログ入力に対処し、操作をテストするには、これらの端子に入る傾向をどのように変更できるかを確認する必要があります。電圧仕切りは、これを行うのに役立ちます。
電圧仕切りは、低電圧で高電圧から高電圧を取得できる単純な回路です。 (図1)
2つの抵抗と入力電圧のみを使用して、入力電圧の一部である出力電圧を作成できます。電圧仕切りは、電子機器の最も基本的な回路の1つです。
ポテンショメータです!
Потенциометр, который, я думаю, вам известен, представляет собой делитель напряжения.
Внутри потенциометра находится резистор и скользящий контакт, который делит резистор на две части и перемещается между ними.
Внешне потенциометр обычно имеет три клеммы: два контакта подключены к клеммам резистора, а третий (центральный) — к скользящему контакту. (Рисунок 3).
Если контакты резистора подключены к источнику напряжения (один к минусу, другой к плюсу), то на центральной клемме потенциометра появится напряжение, зависящее от положения ручки потенциометра.
Эксперимент с потенциометром и мультиметром
Проведите тест с помощью мультиметра и сделайте измерение: переместите ползунок потенциометра в положение «high end», и выходное напряжение будет равно входному. Теперь переместите ползунок в нижнее крайнее положение, и на выходе будет нулевое напряжение. Если мы установим ручку потенциометра в среднее положение, то получим половину входного напряжения.
Теперь подключим потенциометр к одному из аналоговых входов, например, A2, и попробуем считать показания с помощью Arduino. (Рис. 4)
Рис.4 Подключение потенциометра к Arduino Uno
Потенциометр X9C102/103/104 имеет 100 градаций сопротивления между минимумом и максимумом. Это позволяет не вводить коэффициенты для преобразования процентов в импульсы. Например: 10 импульсов INC изменяют значение выходного импеданса тока на 10%.
Подключение потенциометра к Ардуино
В робототехнике различные параметры, такие как объем, мощность, напряжение и т.д., регулируются с помощью переменных резисторов с регулируемыми уровнями сопротивления. Примером такого устройства является потенциометр arduino, который, будучи подключенным к электрической цепи, может использоваться для регулировки параметров. В этой статье мы рассмотрим варианты подключения и примеры скетчей для работы с потенциометром.
Переменный резистор или потенциометр — это электрический прибор, уровень сопротивления которого можно регулировать в определенных пределах. Таким образом, мы можем изменять параметры электрических цепей, гибко адаптируя их к конкретным условиям: например, регулируя чувствительность датчика или громкость громкоговорителя. Потенциометры широко используются в схемах для управления громкостью, напряжением, контрастностью и т.д., благодаря своей простоте и практичности.
В зависимости от конструкции потенциометры делятся на две большие категории: цифровые и аналоговые. Основным компонентом цифрового потенциометра является резистивная лестница, в которой на каждом этапе схемы имеются электронные переключатели. В определенный момент времени замкнут только один электронный переключатель, который устанавливает определенное значение сопротивления. Количество ступеней в лестнице определяет диапазон разрешения потенциометра. Аналоговый потенциометр может изменять свое значение непрерывно, но обычно в более узком диапазоне, а само сопротивление будет иметь большую величину.
В подавляющем большинстве проектов arduino используются цифровые потенциометры. Обычно это интегральные схемы с цифровым указателем, расположенным в центре шкалы.
Подключение потенциометра к платам Ардуино
配線図
Подключение потенциометра к arduino производится в соответствии со схемой, показанной на рисунке:
Для этого три контакта потенциометра должны быть подключены к указанным контактам платы:
- Черный — GND,
- Красный — питание 5 В,
- Красный — от основного кабеля к аналоговому входу A0.
Изменение положения оси подключенного потенциометра изменяет параметр сопротивления, что приводит к изменению значения на нулевой клемме платы arduino. Полученное значение напряжения аналогового импульса считывается в скетч командой analogRead().
Плата Arduino имеет встроенный аналого-цифровой преобразователь, способный считывать напряжение и преобразовывать его в цифровое показание со значением от нуля до 1023. Когда указатель поворачивается до конечного значения в одном из двух возможных направлений, напряжение на клемме равно нулю, поэтому генерируемое напряжение равно 0 В. Когда вал вращается в противоположном направлении, на контакт подается напряжение 5 В, поэтому числовое значение будет равно 1023.
Пример проекта
Примером реализации схемы подключения потенциометра может быть макетная плата с подключенными переменным резистором и светодиодом. Потенциометр будет использоваться для управления уровнем яркости света.
Для выполнения задания вам необходимо подготовить следующие детали:
- 1 плата Arduino Uno
- 1 макетная плата без пайки
- 1 СВЕТОДИОД
- 1 резистор сопротивлением 220 Ом
- 6 проводов «папа-папа
- 1 потенциометр.
Чтобы использовать меньше проводов от макетной платы к контроллеру, подключите светодиод и потенциометр с проводом заземления к длинной минусовой шине.
例
В этом примере важно понять, что яркость светодиода управляется не напряжением, подаваемым потенциометром, а кодом.
Предположим, что сопротивление фоторезистора варьируется от 1 кОм (на свету) до 10 кОм (в полной темноте). Если дополнить схему фиксированным сопротивлением около 10 кОм, то можно получить широкий диапазон изменения выходного напряжения при изменении яркости фоторезистора.
2 Логика работы и схема подключения цифрового потенциометра X9C103 к Arduino
В диапазоне от 0 до максимального значения, с шагом 1/100 от максимального значения, можно регулировать сопротивление на третьем «подвижном» штифте.
Положение «подвижного» штифта контролируется серией отрицательных импульсов. Каждый импульс смещает значение сопротивления на 1 шаг вверх или вниз.
Потенциометр управляется тремя линиями:
Название вывода | 指定 | ノート |
---|---|---|
CS | Номер клавиатуры | НИЗКИЙ — устройство активно |
INC | Изменение выходного сопротивления | Отрицательный импульс |
U/D | Направление изменений | U (вверх), если клемма микросхемы ВЫСОКАЯ, D (вниз), если клемма микросхемы НИЗКАЯ |
Это временная диаграмма сигналов управления:
Временная диаграмма управления для потенциометров X9C102, X9C103, X9C104
Здесь Vw — напряжение на главной клемме.
Давайте соберем схему, как показано на рисунке:
Схема подключения цифрового потенциометра X9C102, X9C103, X9C104 на Arduino
Модуль требует питания +5 В.
4 Проверка работы цифрового потенциометра X9C102/103/104
Используя логический анализатор, проверим, удалась ли временная диаграмма управления потенциометром:
Временная диаграмма управления цифровым потенциометром X9C
Мы видим, что это так. Переведем линию CS в LOW, а также линию U/D в LOW (уменьшая выходной импеданс). Когда INC измерит 100 импульсов, переведите U/D в положение HIGH (изменение сопротивления в большую сторону). Установив INC на нулевое сопротивление, начните измерять желаемое значение (в данном случае 10 импульсов, соответствующих 10% от максимального значения потенциометра).
Потенциометр X9C102/103/104 имеет 100 градаций сопротивления между минимумом и максимумом. Это позволяет не вводить коэффициенты для преобразования процентов в импульсы. Например: 10 импульсов INC изменяют значение выходного импеданса тока на 10%.
Если мы теперь с помощью мультиметра проверим сопротивление между центральной и одной из концевых клемм, мы запишем изменения сопротивления.
Чтобы показать это, я подам 5 вольт между крайними клеммами потенциометра и подключу осциллограф DSO138 к центральной клемме. Приведенные ниже фотографии и видеоролик иллюстрируют результат.
Изменение напряжения с помощью цифрового потенциометра X9C Изменение напряжения с помощью цифрового потенциометра X9C
Вот хорошая статья о типах потенциометров и их конструкции.
Кстати, для экспресс-теста потенциометра X9C103 можно использовать микросхему FTDI (FT2232 или другую) и программу SPI via FTDI. Подключите клемму CS модуля к CS микросхемы FT2232, клемму U/D к клемме DO и запишите необходимое количество байт в режиме SPI. Так, чтобы послать 10 импульсов на потенциометр, вы можете послать 10 байт 0x01 или 5 байт 0x0A (в двоичном виде это 0101) и т.д.
Управление цифровым потенциометром X9C103 с помощью микросхемы FT2232H
Данные с потенциометра будут поступать от 0 до 1023, а на светодиод мы можем подавать напряжение от 0 до 255. Это преобразование легко выполнить с помощью функции map().
Сonstrain()
Мы также можем использовать функцию constrain(). Он принимает три параметра и выдает граничное значение диапазона, если рассматриваемое значение выходит за пределы диапазона.例えば、.
// Эти константы не будут меняться. Они используются для присвоения имен используемым терминалам: const int analogInPin1 = A0; // аналоговый входной контакт, к которому подключен потенциометр const int analogInPin2 = A1; const int analogOutPin = 9; // аналоговый выходной контакт, к которому подключен светодиод int sensorValue1 = 0; // значение, считанное с потенциометра int sensorValue2 = 0; int outputValue = 0; // значение, выводимое на ШИМ (аналоговый выход) void setup() < // initialize serial communications at 9600 bps: Serial.begin(9600); >void loop() < // read the analog in value: sensorValue1 = analogRead(analogInPin1); sensorValue2 = analogRead(analogInPin2); // map it to the range of the analog out: outputValue = map( (sensorValue1+sensorValue2)/2 , 0, 1023, 0, 255); // change the analog out value: analogWrite(analogOutPin, outputValue); // print the results to the Serial Monitor: Serial.print("sensor1 = "); Serial.print(sensorValue1); Serial.print("\t sensor2 = "); Serial.print(sensorValue2); Serial.print("\t output wp-block-image size-large"> Данные с потенциометров на последовательный порт
Внешне потенциометр обычно имеет три клеммы: два контакта подключены к клеммам резистора, а третий (центральный) — к скользящему контакту. (Рисунок 3).
Arduino — Potentiometer
Примечание: Это партнерские ссылки. Если вы приобретаете аксессуары по этим ссылкам, мы можем получить комиссионные без дополнительной оплаты. Цените.
Поворотный потенциометр (также называемый датчиком угла поворота) используется для ручной регулировки значения элемента (например, громкости стерео, яркости лампы, уровня увеличения осциллографа).
Вывод.
Потенциометры обычно имеют три вывода.
Контакты GND и VCC взаимозаменяемы.
Как это работает.
Ось потенциометра вращается от 0° (ближе всего к GND) до верхнего угла, называемого ANGLE_MAX (ближе всего к клемме VCC).
Напряжение на выходной клемме варьируется от напряжения GND до напряжения VCC. Выходное напряжение прямо пропорционально углу поворота вала.
Цена ANGLE_MAX зависит от производителя. На практике значение ANGLE_MAX обычно не представляет интереса, если только не требуется вычислить угол поворота (см. раздел о вариантах использования).
Ардуино-поворотный потенциометр
Клеммы Arduino A0-A5 могут функционировать как аналоговые входы. Аналоговые входные клеммы преобразуют напряжения (от 0v до VCC) в целочисленные значения (от 0 до 1023), называемые значениями АЦП или аналоговыми значениями.
ポテンショメータの出力端子をアナログ入力末端に接続することにより、端子から比例値を読み取り、それを必須値に変換できます。
Цена, которую получает Arduino, не является ни углом, ни тенденцией. Это целочисленное значение в диапазоне 0-1023.
После получения целочисленного значения от терминала аналогового ввода это значение может быть изменено на другое. См. пример использования.
Использовать по назначению.
Масштабирование до контролируемых значений (например, громкость стерео, яркость, скорость двигателя постоянного тока). Это наиболее часто используемый случай.
Диапазон изменений
От. | до | |||
---|---|---|---|---|
Угол. | Пользователь повернулся | от 0° до | →. | ANGLE_MAX |
Тенденция. | От кончика потенциометра | 0V | →. | VCC |
цена АЦП | Arduino читает. | 0 | →. | 1023 |
Другая цена | Преобразование с помощью Arduino | ОЦЕНКА_МИН | →. | VALUE_MAX |