Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Arduino. Подключение простейших датчиков. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору

Комментарии к статье Комментарии к статье

Рассмотренный в предыдущей части обзора встроенный АЦП микроконтроллера позволяет легко подключать к плате Arduino различные аналоговые датчики, которые преобразуют измеряемые физические параметры в электрическое напряжение.

Примером простейшего аналогового датчика может служить переменный резистор, подключенный к плате, как показано на рис. 1. Он может быть любого типа, например СП3-33-32 (рис. 2). Номинал резистора на схеме указан ориентировочно и может быть как меньше, так и больше. Однако следует помнить, что чем меньше сопротивление переменного резистора, тем больший ток он потребляет от источника питания микроконтроллера. А при сопротивлении источника сигнала (в данном случае переменного резистора) более 10 кОм АЦП микроконтроллера работает с большими ошибками. Учтите, что сопротивление переменного резистора как источника сигнала зависит от положения его движка. Оно равно нулю в его крайних положениях и максимально (равно четверти номинального сопротивления) в среднем положении.

Arduino. Подключение простейших датчиков
Рис. 1. Схема подключения переменного резистора к плате

Arduino. Подключение простейших датчиков
Рис. 2. СП3-33-32

Удобно использовать переменный резистор, когда требуется изменять параметр плавно, а не ступенями (дискретно). В качестве примера рассмотрим работу приведенной в табл. 1 программы, которая изменяет яркость свечения светодиода в зависимости от положения движка переменного резистора. Строка U = U/4 необходима в программе для того, чтобы преобразовать возвращаемое АЦП десятиразрядное двоичное число в восьмиразрядное, принимаемое в качестве второго операнда функцией analogWrite(). В рассматриваемом случае это делается делением исходного числа на четыре, что эквивалентно отбрасыванию двух младших двоичных разрядов.

Таблица 1

Arduino. Подключение простейших датчиков

Переменный резистор соответствующей конструкции может служить датчиком угла поворота или линейного перемещения. Аналогично ему можно подключать многие радиоэлементы: фоторезисторы, терморезисторы, фотодиоды, фототранзисторы. Одним словом, приборы, электрическое сопротивление которых зависит от тех или иных факторов окружающей среды.

На рис. 3 изображена схема подключения к Arduino фоторезистора. При изменении освещенности меняется его электрическое сопротивление и соответственно напряжение на аналоговом входе платы Arduino. Указанный на схеме фоторезистор ФСК-1 можно заменить любым другим, например СФ2-1.

Arduino. Подключение простейших датчиков
Рис. 3. Схема подключения к Arduino фоторезистора

В табл. 2 приведена программа, превращающая плату Arduino с подключенным к ней фоторезистором в простейший измеритель освещенности. Работая, она периодически измеряет падение напряжения на резисторе, включенном последовательно с фоторезистором, и передает результат в условных единицах через последовательный порт на компьютер. На экране отладочного терминала Arduino они будут отображены, как показано на рис. 4. Как видим, в определенный момент измеренное напряжение резко уменьшилось. Это произошло, когда ярко освещенный фотодиод был затенен непрозрачным экраном.

Таблица 2

Arduino. Подключение простейших датчиков

Arduino. Подключение простейших датчиков
Рис. 4. Изображение на экране отладочного терминала Arduino

Чтобы получать значения освещенности в люксах (стандартных единицах системы СИ), нужно умножать полученные результаты на поправочный коэффициент, но подобрать его придется экспериментально, причем индивидуально для каждого фоторезистора. Для этого потребуется образцовый люксметр.

Фототранзистор [1] или фотодиод (рис. 5) подключают к Arduino подобным образом. Используя несколько светочувствительных приборов, можно сконструировать простейшую систему зрения для робота [2]. Можно и на новом техническом уровне реализовать многие известные широкому кругу радиолюбителей классические конструкции - кибернетическую модель ночной бабочки [3, c. 134-151] или модель танка, который движется на свет [4, c. 331, 332].

Arduino. Подключение простейших датчиков
Рис. 5. Схема подключения фотодиода к Arduino

Аналогично фоторезистору подключают к Arduino терморезистор (рис. 6), который меняет свое электрическое сопротивление в зависимости от температуры. Вместо указанного на схеме терморезистора ММТ-4, основное достоинство которого - герметичный корпус, можно использовать практически любой другой, например, ММТ-1 или импортный.

Arduino. Подключение простейших датчиков
Рис. 6. Схема подключения терморезистора к Arduino

После соответствующей калибровки [5, с. 231-255] подобный прибор можно применять для измерения температуры во всевозможных домашних метеостанциях, термостатах и тому подобных конструкциях [6].

Известно, что почти все светодиоды могут служить не только источниками света, но и его приемниками - фотодиодами. Дело в том, что кристалл светодиода находится в прозрачном корпусе и поэтому его p-n переход доступен для света от внешних источников. К тому же корпус светодиода, как правило, имеет форму линзы, которая фокусирует внешнее излучение на этом переходе. Под его влиянием изменяется, например, обратное сопротивление p-n перехода.

Подключив светодиод к плате Arduino по схеме, изображенной на рис. 7, можно использовать один и тот же светодиод и по прямому назначению, и как фотодатчик [7]. Программа, иллюстрирующая такой режим, приведена в табл. 3. Ее идея состоит в том, что сначала на p-n переход светодиода подают обратное напряжение, заряжая его емкость. Затем катод светодиода изолируют, конфигурируя как вход вывод Arduino, к которому он подключен. После этого программа измеряет зависящую от внешней освещенности продолжительность разрядки емкости p-n перехода светодиода его собственным обратным током до уровня логического нуля.

Arduino. Подключение простейших датчиков
Рис. 7. Схема подключения светодиода к плате Arduino

Таблица 3

Arduino. Подключение простейших датчиков

В приведенной программе переменная t описана как unsigned int - целое число без знака. Переменная такого типа, в отличие от обычной int, принимающей значения от -32768 до +32767, не использует свой старший двоичный разряд для хранения знака и может принимать значения от 0 до 65535.

Подсчет времени разрядки программа выполняет в цикле while(digitalRead (K)!=0)t++. Этот цикл выполняется, всякий раз увеличивая значение t на единицу, пока истинно заключенное в скобки условие, т. е. пока напряжение на катоде светодиода не опустилось до низкого логического уровня.

Иногда требуется, чтобы робот не просто получал информацию об освещенности поверхности, по которой движется, но и мог определить ее цвет. Реализуют датчик цвета подстилающей поверхности, освещая ее поочередно светодиодами разного цвета свечения и сравнивая с помощью фотодиода уровни отраженных от нее при разном освещении сигналов [8]. Схема соединения элементов датчика цвета с платой Arduino показана на рис. 8, а обслуживающая его программа - в табл. 4.

Arduino. Подключение простейших датчиков
Рис. 8. Схема соединения элементов датчика цвета с платой Arduino

Таблица 4

Arduino. Подключение простейших датчиков

Процедура измерения принимаемых фотодиодом при разном освещении поверхности сигналов повторяется многократно, а получаемые результаты накапливаются, чтобы исключить случайные ошибки. Затем программа выбирает наибольшее из накопленных значений. Это позволяет грубо судить о цвете поверхности. Для более точного определения цвета необходимо усложнить обработку результатов, учитывая не только наибольший из них, но и его соотношение с меньшими. Необходим также учет реальной яркости светодиодов разного цвета свечения, а также спектральной характеристики примененного фотодиода.

Пример конструкции датчика цвета из четырех светодиодов и фотодиода показан на рис. 9. Оптические оси светодиодов и фотодиода должны сходиться в одной точке на исследуемой поверхности, а сами приборы расположены максимально близко к ней, чтобы свести к минимуму влияние посторонней засветки.

Arduino. Подключение простейших датчиков
Рис. 9. Пример конструкции датчика цвета из четырех светодиодов и фотодиода

Собранный датчик требует тщательной индивидуальной калибровки на поверхностях разного цвета. Она сводится к подборке коэффициентов, на которые следует умножать перед сравнением результаты измерения, полученные при разном освещении. Оснащенный таким датчиком робот можно научить выполнять интересные алгоритмы движения. Например, он сможет передвигаться по рабочему полю одного цвета, не нарушая границ "запретных" зон, выкрашенных в другой цвет.

Рассмотренные в статье программы можно найти с ftp://ftp.radio.ru/pub/2016/10/asensors.zip.

Литература

  1. Холостов К. Огород на подоконнике. - Левша, 2014, № 11, с. 12-14.
  2. Холостов К. Не удивляйтесь: робот - это просто. - Левша, 2012, № 11, с. 12-14.
  3. Отряшенков Ю. М. Юный кибернетик. - М.: Детская литература, 1978.
  4. Борисов В. Г. Юный радиолюбитель. - М.: Радио и связь, 1992.
  5. Ревич Ю. Занимательная электроника. - СПБ.: БХВ-Петербург, 2007.
  6. Холостов К. Регулируем температуру. - Левша, 2013, № 8, с. 12-14; № 9, с. 12-14.
  7. Практическое программирование Arduino/CraftDuino - Сенсор на светодиоде. - URL: robocraft.ru/blog/arduino/70.html.
  8. Самодельный датчик цвета. - URL: robocraft.ru/blog/sensor/395.html.

Автор: Д. Лекомцев

Смотрите другие статьи раздела Радиолюбителю-конструктору.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Экраны влияют на детей неравномерно в разном возрасте 01.08.2026

Планшеты и смартфоны давно стали привычной частью повседневной жизни даже самых маленьких детей. Родители часто используют гаджеты, чтобы успокоить малыша или занять его на время, однако ученые все чаще задаются вопросом, как экранное время сказывается на развитии мозга и будущей способности к обучению. Новое исследование показывает, что значение имеет не только продолжительность просмотра, но и возраст, в котором ребенок проводит время перед экраном. Ученые наблюдали детей от рождения до 8 лет. Оказалось, что больше всего экраны влияют на мозг в два периода - в раннем младенческом возрасте и перед поступлением в школу. У детей, много времени проводивших перед экранами в эти возрастные точки, в 9 лет были несколько хуже успехи в обучении, а в 10,5 лет хуже работала рабочая память - способность удерживать и обрабатывать информацию здесь и сейчас. Исследователи из Франции и Сингапура проанализировали данные 502 детей и выделили два ключевых этапа. У младенцев мозг развивается очень ...>>

Умные жилеты, спасающие от жары 01.08.2026

Летняя жара в больших городах все чаще становится серьезным испытанием для людей, работающих на открытом воздухе. Мусорщики, строители и другие специалисты вынуждены проводить часы под палящим солнцем, рискуя перегревом. Китайские инженеры предложили практичное решение - специальные охлаждающие жилеты, которые помогают снизить ощущаемую температуру примерно на 10 градусов. Пока мир страдает от сильной жары, китайские инженеры разработали "умные" жилеты с климат-контролем. Жилеты с кондиционированием почти не отличаются от обычной рабочей одежды. Главное отличие - в системе охлаждения. В городе Нанкин в жилет вмонтированы два вентилятора, работающих от портативных аккумуляторов. Одного заряда хватает на 3-4 часа непрерывной работы. В Чанчжоу решили разместить в карманах охлаждающие элементы с материалом, который при нагревании переходит из твердого состояния в жидкое, активно поглощая тепло. Это поддерживает комфортную температуру в течение 2,5-4 часов. Такие жилеты выглядят почти ...>>

Летающие ветротурбины 3 МВт вышли в серию 31.07.2026

Традиционные ветряные электростанции зависят от силы и стабильности ветра у поверхности земли, где воздушные потоки часто бывают слабыми и порывистыми. На больших высотах ветер обычно сильнее и постояннее, поэтому инженеры уже давно рассматривают возможность подъема турбин в воздух. Китайская компания сделала важный шаг в этом направлении, перейдя от испытаний к мелкосерийному производству. Компания Beijing Linyi Yunchuan Energy Technology запустила мелкосерийное производство летающей ветротурбины S2000, а в провинции Чжэцзян возводят отдельный завод по производству материалов для оболочки аппарата. У компании уже есть предварительные договоренности с прибрежными городами и горными регионами, которые рассматривают возможность использования этой технологии для удовлетворения собственных энергетических потребностей. Прототип, который полгода назад только что поднялся в небо над Сычуанем, теперь превращается в целую отрасль. Идея S2000 проста: вместо того чтобы устанавливать ветряну ...>>

Случайная новость из Архива

Ученые знают, как увеличить производительность компьютеров на 20% 17.02.2012

В представленной недавно статье исследователи университета штата Северная Каролина описывают способ, при помощи которого можно добиться в среднем увеличения производительности компьютеров на 21,4%. Речь идёт о чипах типа AMD APU, то есть решениях, объединяющих CPU и GPU на одном кристалле. Это исследование было профинансировано Национальным научным фондом и AMD. В результате статья почти не касается вопроса о том, как новый подход может увеличить производительность чипов Intel, которые также имеют интегрированную графику.

Адъюнкт-профессор доктор Хойхан Чжоу (Huihang Zhou) отмечает, что гибридные процессоры позволяют производителям уменьшать производственные издержки и увеличивать энергоэффективность, однако до сих пор CPU и GPU почти не пересекаются и работают над своими собственными задачами. Он добавляет, что они редко взаимодействуют для исполнения любой предложенной программы, так что не столь эффективны, как могли бы быть, и именно эту проблему исследователи постарались решить.

"Наш подход заключается в исполнении ядрами GPU вычислительных функций, а ядрами CPU - осуществление предварительной выборки необходимых GPU данных из основной памяти. Это более эффективно, так как позволяет CPU и GPU делать то, что каждый из них умеет лучше всего. GPU хороши для осуществления расчётов, а CPU - для принятия решений и гибкого извлечения данных", - отмечает доктор Чжоу.

В целом, как видно, речь идёт о GPGPU-вычислениях, однако исследователи отмечают, что до интеграции ядер CPU и GPU на едином кристалле их подход не был возможен. Будем надеяться, что AMD и её партнёры действительно начнут более эффективно использовать мощности ускоренных процессоров, применяя высокопараллельную мощь графики в более широком спектре задач.
Пока технология описана лишь в качестве краткого обзора, о полностью доклад будет прочитан 27 февраля на Международном симпозиуме по вопросам высокопроизводительных компьютерных архитектур в Новом Орлеане.

Другие интересные новости:

▪ Космическая электростанция

▪ Голограмму можно потрогать

▪ Противоугонная система на велосипеде

▪ Микроробот со щеткой

▪ Автомобильные UFS-накопители 256 Гбайт от Samsung

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Радиоэлектроника и электротехника. Подборка статей

▪ статья Мотоцикл. История изобретения и производства

▪ статья Какой камень, по убеждению древних греков, предохраняет человека от опьянения? Подробный ответ

▪ статья Киви. Легенды, выращивание, способы применения

▪ статья Пассивный кроссовер для пищалки Power Amper NEO-20. Энциклопедия радиоэлектроники и электротехники

▪ статья Пробник для прозвонки монтажа. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026