Бесплатная техническая библиотека ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ Arduino. Подключение простейших датчиков. Энциклопедия радиоэлектроники и электротехники Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору Рассмотренный в предыдущей части обзора встроенный АЦП микроконтроллера позволяет легко подключать к плате Arduino различные аналоговые датчики, которые преобразуют измеряемые физические параметры в электрическое напряжение. Примером простейшего аналогового датчика может служить переменный резистор, подключенный к плате, как показано на рис. 1. Он может быть любого типа, например СП3-33-32 (рис. 2). Номинал резистора на схеме указан ориентировочно и может быть как меньше, так и больше. Однако следует помнить, что чем меньше сопротивление переменного резистора, тем больший ток он потребляет от источника питания микроконтроллера. А при сопротивлении источника сигнала (в данном случае переменного резистора) более 10 кОм АЦП микроконтроллера работает с большими ошибками. Учтите, что сопротивление переменного резистора как источника сигнала зависит от положения его движка. Оно равно нулю в его крайних положениях и максимально (равно четверти номинального сопротивления) в среднем положении.
Удобно использовать переменный резистор, когда требуется изменять параметр плавно, а не ступенями (дискретно). В качестве примера рассмотрим работу приведенной в табл. 1 программы, которая изменяет яркость свечения светодиода в зависимости от положения движка переменного резистора. Строка U = U/4 необходима в программе для того, чтобы преобразовать возвращаемое АЦП десятиразрядное двоичное число в восьмиразрядное, принимаемое в качестве второго операнда функцией analogWrite(). В рассматриваемом случае это делается делением исходного числа на четыре, что эквивалентно отбрасыванию двух младших двоичных разрядов. Таблица 1 Переменный резистор соответствующей конструкции может служить датчиком угла поворота или линейного перемещения. Аналогично ему можно подключать многие радиоэлементы: фоторезисторы, терморезисторы, фотодиоды, фототранзисторы. Одним словом, приборы, электрическое сопротивление которых зависит от тех или иных факторов окружающей среды. На рис. 3 изображена схема подключения к Arduino фоторезистора. При изменении освещенности меняется его электрическое сопротивление и соответственно напряжение на аналоговом входе платы Arduino. Указанный на схеме фоторезистор ФСК-1 можно заменить любым другим, например СФ2-1.
В табл. 2 приведена программа, превращающая плату Arduino с подключенным к ней фоторезистором в простейший измеритель освещенности. Работая, она периодически измеряет падение напряжения на резисторе, включенном последовательно с фоторезистором, и передает результат в условных единицах через последовательный порт на компьютер. На экране отладочного терминала Arduino они будут отображены, как показано на рис. 4. Как видим, в определенный момент измеренное напряжение резко уменьшилось. Это произошло, когда ярко освещенный фотодиод был затенен непрозрачным экраном. Таблица 2
Чтобы получать значения освещенности в люксах (стандартных единицах системы СИ), нужно умножать полученные результаты на поправочный коэффициент, но подобрать его придется экспериментально, причем индивидуально для каждого фоторезистора. Для этого потребуется образцовый люксметр. Фототранзистор [1] или фотодиод (рис. 5) подключают к Arduino подобным образом. Используя несколько светочувствительных приборов, можно сконструировать простейшую систему зрения для робота [2]. Можно и на новом техническом уровне реализовать многие известные широкому кругу радиолюбителей классические конструкции - кибернетическую модель ночной бабочки [3, c. 134-151] или модель танка, который движется на свет [4, c. 331, 332].
Аналогично фоторезистору подключают к Arduino терморезистор (рис. 6), который меняет свое электрическое сопротивление в зависимости от температуры. Вместо указанного на схеме терморезистора ММТ-4, основное достоинство которого - герметичный корпус, можно использовать практически любой другой, например, ММТ-1 или импортный.
После соответствующей калибровки [5, с. 231-255] подобный прибор можно применять для измерения температуры во всевозможных домашних метеостанциях, термостатах и тому подобных конструкциях [6]. Известно, что почти все светодиоды могут служить не только источниками света, но и его приемниками - фотодиодами. Дело в том, что кристалл светодиода находится в прозрачном корпусе и поэтому его p-n переход доступен для света от внешних источников. К тому же корпус светодиода, как правило, имеет форму линзы, которая фокусирует внешнее излучение на этом переходе. Под его влиянием изменяется, например, обратное сопротивление p-n перехода. Подключив светодиод к плате Arduino по схеме, изображенной на рис. 7, можно использовать один и тот же светодиод и по прямому назначению, и как фотодатчик [7]. Программа, иллюстрирующая такой режим, приведена в табл. 3. Ее идея состоит в том, что сначала на p-n переход светодиода подают обратное напряжение, заряжая его емкость. Затем катод светодиода изолируют, конфигурируя как вход вывод Arduino, к которому он подключен. После этого программа измеряет зависящую от внешней освещенности продолжительность разрядки емкости p-n перехода светодиода его собственным обратным током до уровня логического нуля.
Таблица 3 В приведенной программе переменная t описана как unsigned int - целое число без знака. Переменная такого типа, в отличие от обычной int, принимающей значения от -32768 до +32767, не использует свой старший двоичный разряд для хранения знака и может принимать значения от 0 до 65535. Подсчет времени разрядки программа выполняет в цикле while(digitalRead (K)!=0)t++. Этот цикл выполняется, всякий раз увеличивая значение t на единицу, пока истинно заключенное в скобки условие, т. е. пока напряжение на катоде светодиода не опустилось до низкого логического уровня. Иногда требуется, чтобы робот не просто получал информацию об освещенности поверхности, по которой движется, но и мог определить ее цвет. Реализуют датчик цвета подстилающей поверхности, освещая ее поочередно светодиодами разного цвета свечения и сравнивая с помощью фотодиода уровни отраженных от нее при разном освещении сигналов [8]. Схема соединения элементов датчика цвета с платой Arduino показана на рис. 8, а обслуживающая его программа - в табл. 4.
Таблица 4 Процедура измерения принимаемых фотодиодом при разном освещении поверхности сигналов повторяется многократно, а получаемые результаты накапливаются, чтобы исключить случайные ошибки. Затем программа выбирает наибольшее из накопленных значений. Это позволяет грубо судить о цвете поверхности. Для более точного определения цвета необходимо усложнить обработку результатов, учитывая не только наибольший из них, но и его соотношение с меньшими. Необходим также учет реальной яркости светодиодов разного цвета свечения, а также спектральной характеристики примененного фотодиода. Пример конструкции датчика цвета из четырех светодиодов и фотодиода показан на рис. 9. Оптические оси светодиодов и фотодиода должны сходиться в одной точке на исследуемой поверхности, а сами приборы расположены максимально близко к ней, чтобы свести к минимуму влияние посторонней засветки.
Собранный датчик требует тщательной индивидуальной калибровки на поверхностях разного цвета. Она сводится к подборке коэффициентов, на которые следует умножать перед сравнением результаты измерения, полученные при разном освещении. Оснащенный таким датчиком робот можно научить выполнять интересные алгоритмы движения. Например, он сможет передвигаться по рабочему полю одного цвета, не нарушая границ "запретных" зон, выкрашенных в другой цвет. Рассмотренные в статье программы можно найти с ftp://ftp.radio.ru/pub/2016/10/asensors.zip. Литература
Автор: Д. Лекомцев Смотрите другие статьи раздела Радиолюбителю-конструктору. Читайте и пишите полезные комментарии к этой статье. Последние новости науки и техники, новинки электроники: Использование Apple Vision Pro во время операций
16.03.2024 Хранение углерода в Северное море
16.03.2024 Выращены мини-органы из амниотической жидкости человека
15.03.2024
Другие интересные новости: ▪ Температура воздуха в Арктике достигла максимума ▪ Магнитная система охлаждения на сплавах с памятью формы ▪ Многовековой лотос прорастает Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки: ▪ раздел сайта Технологии радиолюбителя. Подборка статей ▪ статья Павлик Морозов. Крылатое выражение ▪ статья Как на Международной космической станции озвучивают смену капитана? Подробный ответ ▪ статья Аэросани Триумф. Личный транспорт ▪ статья Автомат управления лестничным освещением. Энциклопедия радиоэлектроники и электротехники
Оставьте свой комментарий к этой статье: All languages of this page Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте www.diagram.com.ua |