Все уроки /

Урок №5. Как использовать сенсоры с Arduino

Подходит для: Набор 1 Набор 2

К данным урокам для домашнего изучения можно заказать учебный набор.

Стоимость набора 3 200 руб.

Заказать набор

Для занятия необходима установленная на компьютерах среда программирования miniBloq и драйвера для Arduino.

Макетные провода папа-папа

Мин. 10 шт 

 

Контроллер Arduino UNO

1 шт

Светодиод

1 шт

Беспаечная макетная плата

1 шт

Резистор 10 кОм

1 шт

Резистор 220 Ом

1 шт

Потенциометр 1 шт   Фоторезистор или терморезистор 1 шт

Добрый день, ребята. 

Ранее мы в вами познакомились с цифровыми пинами Arduino и знаем, что они могут принимать на вход только Да (True) или Нет (False).

Но часто вознкает необходимость обрабатывать сигналы, которые имеют больше чем два (включено и выключено) значения. 

Для этого на Arduino Uno имеется 6 аналоговых входов, с помощью которых можно считывать входящее напряжение.

Эти входы объединены на плате в группу «Analog In» и пронумерованы от A0 до A5. Давайте их найдем.

 

Для того, чтобы продолжить разбираться с аналоговыми входами и протестировать их работу мы должны придумать, как мы можем менять напряжение на входе этих пинов. В этом нам помогает делитель напряжения.

Делитель напряжения — это простая схема, которая позволяет получить из высокого напряжения пониженное. (Рис.1)

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

Рис.1 Делитель напряжения

Как рассчитать делитель напряжения?

Расчет делителя напряжения предполагает, что нам известно, по крайней мере, три величины из приведенной выше схемы: входное напряжение и сопротивление обоих резисторов. Зная эти величины, мы можем рассчитать выходное напряжение.

Рис.2 Формула расчета выходного напряжения

 

Это же потенциометр!

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

Изнутри потенциометр представляет собой резистор и скользящий контакт, который делит резистор на две части и передвигается между этими двумя частями. 

С внешней стороны, как правило, у потенциометра имеется три вывода: два контакта подсоединены к выводам резистора, в то время как третий (центральный) подключен к скользящему контакту. (Рис.3)

Рис.3 Схема потенциометра

Если контакты резистора подключить к источнику напряжения (один к минусу, другой к плюсу), то центральный вывод потенциометра будет выдавать напряжение, зависящее от положения ручки потенциометра.

Эксперимент с потенциометром и мультиметром

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

 

Подключение потенциометра к Arduino

Теперь давайте подключим потенциометр к одному из аналоговых входов, например, А2 и попробуем считать показания с помощью Arduino. (Рис. 4)

Рис.4 Подключение потенциометра к Arduino Uno

 

Важно

Показания входного напряжения от 0 до 5 В на аналоговом входе преобразуются в программе miniBloq в значения от 0 до 100. 

 

Увидеть значения, которые передает нам аналоговый вход, мы можем с помощью блока терминал. (Рис.5)

Рис.5 Блок терминал

 

Блок терминал отображает на экране компьютера передданные в него значения.

Давайте напишем следующую программу (Рис.6).

Эта программа раз в секунду отправляет данные с аналогового входа А2 (sensor2) в терминал.

Рис.6 Вывод показаний аналогового входа в терминал

 

Для того, чтобы увидеть значения, необходимо открыть окно терминала (Рис.7)

Рис.7 Окно терминала

 

Теперь попробуйте повертеть ручку потенциометра. Значения должны меняться.

 

Светильник с регулируемой яркостью

Теперь предлагаю вам направить ваши знания в полезное русло.

Сделаем светильник с регулируемой яркостью. Для этого модифицируем наше устройство, добавив светодиод.

Так как яркость светодиода должна регулироваться, мы можем подключать его не ко всем пинам.

 

А к каким?

 

Конечно, только к тем, которые поддерживают ШИМ. (3, 5, 6, 9, 10, 11). Я выберу пин №5 и не забуду про резистор на 220 ом (Рис.8)

Рис.8 Светильник с регулируемой яркостью

 

Добавим в нашу программу с потенциометром блок, который будет направлять значения потенциометра в пин №5 на светодиод. (Рис.9)

Рис.9 Программа устройства «Светильник с регулируемой яркостью»

Подключаем сенсор

Другое применение делителя напряжения — это снятие показаний с датчиков. 

Существует множество компонентов, которые меняют своё сопротивление в зависимости от внешних условий.

Так, термисторы меняют сопротивление от нуля до определённого значения в зависимости от температуры, фоторезисторы меняют сопротивление в зависимости от интенсивности попадающего на них света и т.д.

 

Если в схеме делителя напряжения заменить R1 или R2 на один из таких компонентов, напряжение на выходе (Vout) будет меняться в зависимости от внешних условий, влияющих на датчик. 

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

 

Допустим, сопротивление фоторезистора изменяется от 1 кОм (при освещении) и до 10 кОм (при полной темноте). Если мы дополним схему постоянным сопротивлением примерно 10 кОм, то мы можем получить широкий диапазон изменения выходного напряжения при изменении освещенности фоторезистора.

Давайте соберем следующую схему. (Рис.10)


Рис.10 Замена потенциометра на резистивный делитель напряжения с фоторезистором.

 

Теперь ваша программа, которая выводит значения нашего датчика в терминал.

Законспектируйте показания датчика при: 

  • плохом освещении, 

  • ярком освещении.

 

Измените программу, добавив условный оператор так, чтобы она включала светодиод, если в комнате темно и выключала его, если в комнате светло. (Рис.11)

 

Рис. 11. Вариант программы устройства «Умный светильник»


Дополнительно

Заменив фоторезистор на термистор, мы получим пожарную сигнализацию.

Самостоятельно проанализируйте показания датчика в терминале и отредактируйте порог, при котором будет загораться светодиод.

 

Задание для самостоятельного исполнения

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

Контакты наших кружков робототехники


Робототехника в Долгопрудном

г. Долгопрудный
пр. Ракетостроителей д3к1
1-й подъезд

+7 (495) 66-99-701

edu@dollab.ru

Робототехника в Лобне

г. Лобня
Ул. Крупской, 24
ТЦ Олимп. 3-й этаж, каб. №24

+7 (495) 66-99-701

edu@dollab.ru

Робототехника в Химках

г. Химки
Ул. Лавочкина, 25
Магазин «Буратино»

Робототехника в Некрасовском

г.п. Некрасовский
Ул. Заводская, 44
ДК «Керамик»

Робототехника в Дмитрове

г. Дмитров
Профессиональная улица, 26к1
ТЦ «ЛарАн»



ИНДИВИДУАЛЬНЫЙ ПРЕДПРИНИМАТЕЛЬ БОЛАШЕВ ВЛАДИСЛАВ ВЛАДИМИРОВИЧ
141800, РОССИЯ, ОБЛ МОСКОВСКАЯ, Р-Н ДМИТРОВСКИЙ, Г ДМИТРОВ, УЛ ПАРКОВАЯ, 27
ИНН 500711091721
ОГРН 311500701300014