Уроки по Arduino: Урок 4

Уроки по Arduino: Урок 4

Урок 4: Умная поилка для домашних животных

План:

1. Сервопривод.

2. Управление сервоприводом.

3. Датчик уровня воды.

 

 

 

Теоретическая часть

 

1. Сервопривод

 Сервопривод (серводвигатель или сервомотор) — это разновидность мотора, для которого можно легко задавать угол поворота оси. Фактически это мотор, имеющий дополнительные элементы для управления, обратную связь и ограниченный угол поворота. В серводвигателе установлен редуктор (набор зубчатых колес), определяющий усилие и скорость вращения оси. Также в сервомоторе присутствует датчик, который определяет положение выходного вала и соответственно угол поворота серводвигателя. На рисунке представлены составляющие части серводвигателя.

Структура сервопривода

Рис 4.1 — Структура сервопривода

 

 

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

Рис 4.2 — Сервопривод

 

 От сервопривода отходят три провода: коричневый — земля, оранжевый — плюс, желтый — сигнальный (подключается к цифровому выходу).

 

2. Управление сервоприводом

 В среде S4A серводвигатель может подключаться только к 8 порту. Для позиционирования сервопривода будем использовать блок «мотор 8 угол».

 Данный блок устанавливает сервопривод на заданный угол. Назовем угол аргументом блока «мотор 8 угол ..». В данном блоке аргумент быть целым числом от 0 до 180.

 

3. Датчик уровня воды

 Позволяет определять уровень воды в емкости, куда он погружен. Внешний вид датчика представлен на рисунке 4.3.

Рис 4.3 — Датчик уровня воды

 Вдоль датчика расположены длинные резистивные полосы. При погружении их в воду их сопротивление уменьшается, что и влияет на выходной сигнал.
Имеет 3 вывода: один подключается к плюсу, второй к земле, третий к аналоговому входу.

 

 

Практическая часть

 1. Вращать сервопривод по- и против часовой стрелки на 180 градусов.

 Шаг 1. Соберем схему.

 

 Шаг 2. Составим программу. Сначала создадим переменную «угол», в которой будет храниться текущее положение серводвигателя. Ее значение будет изменяться сначала от 0 до 180, а затем от 180 до 0.

 

 2. Управлять углом поворота сервопривода с помощью потенциометра.
 Шаг 1. Соберем схему. Добавляем к схеме, собранной в прошлом задании, потенциометр.

 

 Шаг 2. Составим программу. Вычисляем угол поворота потенциометра в зависимости от значения, полученного с потенциометра.  Устанавливаем сервопривод в вычисленный угол.

 3. С использованием сервопривода и датчика уровня воды сделать автоматическую поилку для домашних животных, которая поддерживает воду в миске на определенном уровне.

 Шаг 1. Соберем схему. В ней должны быть подключены сервопривод и датчик уровня воды.

 

 Шаг 2. Установим емкость с водой над поилкой и прикрепим затвор к коромыслу сервопривода таким образом, чтобы при вращении коромысла, затвор отодвигался, и из емкости в поилку лилась вода.
 Шаг 3.
Составим программу. Определяем, при каких углах поворота сервопривода затвор будет закрыт, а при каких открыт. Создаем переменные со значениями этих углов.
 Шаг 4. Задаем начальное состояние затвора — закрытое. Затем выполняем проверку: если уровень воды меньше установленного, мы установили меньше 200 (напомним, что датчик может передать значение от 0 до 1023), открываем затвор. Вода будет поступать в поилку до тех пор, пока уровень не станет больше 1000. Затем затвор закрывается.

 

 

 

 

Перейти к 3-му уроку Перейти ко 5-му уроку Перейти к оглавлению

Центр робототехники "BOTEON".
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: