Введение
Когда дети болеют, у родителей не всегда есть возможность находиться с ними рядом из-за работы. Но очень важно, чтобы дети принимали лекарства вовремя и не забывали про них. Поэтому родителям приходится постоянно звонить и напоминать о приёме лекарств. Но даже это не всегда позволяет проконтролировать процесс до конца, так как ребёнок может отвлечься и все равно забыть выпить нужную таблетку или сироп. Когда я сам заболел и попал в такую ситуацию, мне в голову пришла идея: почему бы не создать такого робота, который бы не только напоминал, но и подавал ребёнку лекарства, пока родители на работе.
Гипотеза: можно создать робота-помощника, который будет напоминать о приёме лекарств и подавать их в нужный момент на базе конструктора LEGO и умной колонки Яндекс.
Цель моего проекта - из конструктора LEGO и умной колонки Яндекс создать действующую модель робота-помощника.
Для этого я решил проанализировать, какие механизмы лучше всего подойдут для такого устройства и с помощью них собирать своего робота.
Задачи:
Спроектировать робота-помощника.
Сконструировать модель робота-помощника.
Освоить навыки работы с паяльником.
Создать из конструктора LEGO и умной колонки Яндекс действующую модель робота-помощника
Запрограммировать робота-помощника.
Протестировать работу робота -помощника.
Освоить программирование сценариев в приложении «Умный дом с Алисой».
Создать презентацию.
В данной работе я буду использовать следующие методы исследования:
сбор информации;
анализ полученных сведений;
эксперимент;
обобщение.
Практическая значимость проекта заключается в том, что после ознакомления с данным проектом, многие захотят приобрести такое изобретение и облегчить уход за болеющими детьми и пожилыми людьми.
Основная часть
Проектирование робота-помощника
Я решил собирать своего робота на базе конструктора LEGO и умной колонки Яндекс. По моим представлениям, это должна быть платформа с выдвигающимся ящиком, в который родители будут заранее закладывать необходимые лекарства в нужную ячейку, а умная колонка будет напоминать ребёнку принять лекарства и давать команду двигателю на открытие ящика.
Выбор механизмов.
Для открытия ящика необходимо поступательно-толкательное движение. А двигатель даёт нам только вращательное движение. Таким образом мне нужно преобразовать вращательное движение в поступательное.
Я стал искать статьи в интернете, чтобы понять, с помощью каких механизмов можно это сделать, и узнал, что для преобразования вращательного движения в поступательное используют следующие механизмы:
- Винтовой механизм (рис. 1).
Состоит из винта и гайки. Если винт закреплён, то при его вращении гайка движется по нему. И наоборот, если гайка неподвижно закреплена, то винт, вращаясь, ввинчивается в гайку, перемещаясь в осевом направлении. [1]
Рис.1
- Реечный механизм (рис. 2).
Состоит из зубчатого колеса и прямолинейной зубчатой рейки. При вращении зубчатого колеса зубчатая рейка начинает двигаться в горизонтальной плоскости. [1]
Рис.2
- Кулачковый механизм (рис. 3). Ведущим звеном является кулачок, а ведомым — штанга, рычаг, толкатель. Характер движения штанги (направление и величина хода) зависит от формы и устройства кулачка. [1]
Рис.3
Проанализировав источники, я понял, что винтовой механизм мне не подходит, так как ограничен длиной винта. С кулачковым механизмом выдвинуть ящик на необходимую длину тоже не получится, поскольку величина хода штанги зависит от размера кулачка.
Поэтому я решил использовать в конструкции моего робота реечный механизм. Он позволяет подобрать нужную длину, на которую может выдвинуться ящик, за счёт длины зубчатой рейки.
Поскольку ящик должен не просто открываться и закрываться, но делать это плавно, чтобы лекарство не расплескалось в движении, ещё необходима понижающая зубчатая передача.
- Зубчатая передача (рис. 4) – это механизм передачи движения, при этом усилие от одного элемента к другому передаётся с помощью зубьев. Понижающая передача – передача, при которой понижается скорость, но повышается тяга.
Рис. 4
Ведомое зубчатое колесо имеет больший размер, поэтому оно делает только часть оборота, в то время как ведущее зубчатое колесо успевает сделать один полный оборот.[2]
Таким образом двигатель LEGO будет вращать зубчатое колесо с понижающей передачей, которая, в свою очередь, приведёт в движение зубчатую рейку, плавно толкающую ящик.
1 .2. Интеграция умной колонки Яндекс и двигателя LEGO
При проектировании робота передо мной встала ещё одна задача - как подключить умную колонку к управлению моим роботом? Задача оказалась для меня сложной, и я обратился за консультацией к эксперту - моему папе - инженеру-проектировщику систем «Умный дом». Он посоветовал мне использовать реле сухого контакта (рис. 5), чтобы заменить механическое
нажатие кнопки запуска двигателя на электронное.Рис.5
Для этого мне потребуется присоединить реле к пульту запуска двигателя с помощью проводов, которые необходимо припаять с помощью паяльника. Питание робота-помощника будет осуществляться с помощью пауэрбанка, что даст ему возможность работать автономно без электрической розетки. Таким образом умная колонка будет с помощью реле сухого контакта давать двигателю команду начинать вращение в нужном направлении.
С помощью приложения Яндекс «Умный дом с Алисой» на смартфоне я создам сценарии для умной колонки: задам время, на которое будет замыкаться сухой контакт, чтобы ящик выдвигался на нужную длину. Время замыкания я подберу опытным путём. В итоге у меня должно получиться четыре сценария.
Родители с помощью голосового помощника дадут колонке следующие команды:
«Открой ящик» - ящик откроется полностью (сценарий №1), чтобы положить лекарства, которые ребёнку нужно принимать утром и днём;
«Закрой ящик» - ящик полностью закроется (сценарий №2);
«Создай напоминание на 9.00: прими лекарства» (время условное)
«Создай напоминание на 13.00: прими лекарства» (время условное)
В приложении «Умный дом» на смартфоне родитель задаст время выполнения для сценариев №3 и №4, которое будет соответствовать утреннему и дневному напоминанию приёма лекарств.
Практическая часть
Конструирование модели робота-помощника
Благодаря проведённым исследованиям я пришёл к выводу, что при сборке модели моего робота-помощника из конструктора LEGO я буду использовать реечный механизм и зубчатую понижающую передачу.
2.1 Сборка платформы и ящика
Д ля создания основания робота я взял пластины 16х16. На них в местах перемещения ящика я установил гладкие пластины, чтобы механизм двигался свободно (рис.6). Затем собрал из блоков разного размера квадратный ящик и установил в нём перегородки, чтобы получились ячейки. Рис.6
2.2 Сборка механизмов
К ящику я добавил зубчатую рейку, которая будет толкать его (рис.7). Затем собрал понижающую зубчатую передачу и установил её вместе с двигателем на платформу. После этого я решил проверить работу механизма и выдвигается ли ящик. Запустил двигатель с помощью пульта дистанционного управления (ДУ). Ведущее зубчатое колесо начало вращать ведомое зубчатое колесо в понижающей передаче, и зубчатая рейка стала двигаться. Но скорость движения рейки Рис.7
оказалась слишком высокой: ящик открывался так быстро, что не смог остановиться в нужном месте. Механизм стал вырывать детали из корпуса.
Опытным путём я пришёл к выводу, что понижающая передача для уменьшения скорости движения ящика мне не подходит. Для более плавного хода з убчатой рейки я решил попробовать червячную передачу. Червячная передача (зубчато-винтовая передача) –механическая передача, осуществляющаяся зацеплением вращающегося винта «червяка» и соединённого с ним червячного зубчатого колеса (рис.8). Собрав механизм и установив его с двигателем на платформу, я убедился, что скорость открывания ящика и его фиксация меня устраивает. Затем на основание Рис. 8
платформы я установил бокс, в который будет задвигаться ящик.
2.3 Подключение и тестирование реле сухого контакта
С помощью пульта ДУ я проверил работу механизма и выдвижения ящика, теперь необходимо подключить реле сухого контакта к кнопкам ДУ для электронного управления двигателем.
С помощью паяльника я припаял провода к реле и кнопкам ДУ (рис.9). Затем приступил к проверке, как открывается ящик с помощью сухих контактов. Для этого я подключил реле к пауэрбанку. На реле есть кнопки запуска сухих контактов. Кнопка контакта №1 замыкает сухой контакт на реле и соответствующую кнопку на пульте ДУ. Нажав её, я подал двигателю команду вращаться, и ящик выдвинулся. При нажатии на реле кнопки контакта №2 ящик задвинулся обратно.
Теперь нужно подобрать время, необходимое Рис.9
для открытия и закрытия ящика. В ящике у меня две ячейки, следовательно, нужно чтобы двигатель вращался столько времени, пока ящик не откроется на половину. Опытным путём я подобрал время замыкания для контакта №1 - 3 секунды. Именно за это время ящик отрылся на половину. После второго замыкания контакта №1 двигатель снова вращался 3 секунды и ящик открылся полностью. Соответственно для закрытия ящика нужно, чтобы контакт №2 был замкнут 6 секунд: за это время двигатель будет вращаться в обратном направлении и закроет ящик полностью. Тестирование работы электронных кнопок прошло успешно: я смог открыть и закрыть ящик.
2.4 Размещение пауэрбанка и умной колонки
Д ля установки паурбанка на платформе собрал отдельный отсек из блоков лего. Умную колонку я решил поместить в бокс с крышкой и разместить её над ящиком (рис.10).
2.5 Питание элементов робота
Питание двигателя осуществляется от встроенного аккумулятора, питание Рис.10
пульта ДУ от двух элементов питания типа ААА, питание реле и колонки Яндекс - от пауэрбанка. Поэтому работа робота-помощника не привязана к сети электропитания и безопасна для детей любого возраста. Заряжать все устройства родители должны заранее (например, ночью).
2.6 Программирование: создание сценариев
Для соединения моего робота с умной колонкой необходимо создать сценарии:
1) для открытия и закрытия ящика по голосовой команде, чтобы родители могли разложить лекарства в ячейки;
2) для срабатывания открытия/закрытия ящика по таймеру.
Я буду программировать с помощью приложения на смартфоне «Умный дом с Алисой» [4]. Сначала я добавил в дом новое устройство - реле сухого контакта. После чего в приложении стали доступны для дистанционного управления «Контакт №1» и «Контакт №2». Во вкладке «Сценарии» я запрограммировал работу реле по нужным мне сценариям:
Сценарий №1 (см. Приложение): Полное открытие ящика для загрузки лекарств в обе ячейки.
Голосовая команда: «Алиса, открой ящик» приводит к действию: «Запустить контакт №1». Двигатель будет вращаться 3 секунды в сторону открытия ящика и ящик откроется только на половину.
Чтобы открыть ящик полностью, нужно дать команду контакту №1 ещё раз. Для этого создаём ещё одно действие: «Запустить контакт №1».
Затем я запустил сценарий для проверки: ящик открылся по команде только на половину, второе открытие не произошло. Поэтому я скорректировал сценарий: между действиями «Запустить контакт №1» поставил задержку в 2 секунды. Снова проверил работу сценария: запустил сценарий голосовой командой и ящик открылся полностью.
Сценарий №2 (см. Приложение): Полное закрытие ящика, чтобы задвинуть ящик с вложенными лекарствами.
Голосовая команда: «Алиса, закрой ящик» приводит к действию: «Запустить контакт №2». Двигатель будет вращаться 6 секунд в сторону закрытия ящика и ящик полностью закроется.
Я проверил работу сценария: по команде «Алиса, открой ящик» ящик открылся полностью, по команде «Алиса, закрой ящик» ящик закрывался в течение 6 секунд и закрылся полностью. Сценарий работает успешно.
Изначально я предполагал, что сценариев у меня будет четыре, но в процессе программирования выяснил, что открытие ящика по таймеру можно заложить в один сценарий, установив задержку между действиями.
Сценарий №3 (см. Приложение): открытие ячеек в заданное время.
Условие: «Первое время срабатывания контакта №1 - 9.00 ежедневно» (время условное) приводит к действию: «Запустить контакт №1». Ящик должен открыться на одну ячейку.
С помощью действия «Задержка» задал время открытия второй ячейки. Например, вторую ячейку нужно открыть в 13.00 (время условное), соответственно величиной задержки будет разница между 9.00 и 13.00, это 4 часа. Я создал действие «Задержка 4 часа», а затем действие «Запустить контакт №1». В заданное время должна выдвинуться вторая ячейка ящика. При таком сценарии я смог исключить создание сценария №4 и оптимизировать работу сценариев. Проверка сценария №3 прошла успешно: нужные ячейки ящика выдвигались в заданное время.
После создания сценариев нужно задать напоминания о приёме лекарств с помощью умной колонки. Просим колонку установить напоминание №1: «Алиса, напомни принять лекарства в 9.00 (время условное) ежедневно» и напоминание №2: «Алиса, напомни принять лекарства в 13.00 (время условное) ежедневно». Теперь робот-помощник готов к тестированию.
2.7 Тестирование робота-помощника
Для тестирования робота в сценарии №3 я изменил время задержки открытия второй ячейки на 10 секунд, чтобы не ждать 4 часа.
По голосовой команде «Алиса, открой ящик» ящик открылся полностью, для теста можно положить витаминки в ячейку №1 (утро) и ячейку №2 (день).
Затем по команде «Алиса, закрой ящик» ящик полностью закрылся.
В сценарии №3 («Будь здоров») установил время открытия первой ячейки на 1 минуту больше текущего времени. Сохранил сценарий и вышел из приложения.
Через 1 минуту Алиса дала команду «Запустить контакт №1», ящик открылся на половину (двигатель вращался в течении трёх секунд), взял витаминку из ящика. Ещё через10 секунд ящик открыл вторую ячейку (двигатель вращался в течении 3х секунд) и я забрал вторую витаминку. Ящик остался полностью открытым.
Теперь в открытый ящик можно вложить новую порцию лекарств. По команде «Алиса, закрой ящик» ящик полностью закрылся.
Мой робот-помощник успешно прошёл испытания и готов к работе.
Заключение
В результате проделанной работы я узнал, как преобразовать вращательные движения двигателя в толкательные. На практике понял, что для плавных поступательных движений больше подходит червячная, а не зубчатая понижающая передача. Освоил навыки работы с паяльником.
Я создал из конструктора LEGO и умной колонки Яндекс действующую модель робота-помощника, которая работает по заданному сценарию. В процессе я освоил программирование сценариев в приложении «Умный дом с Алисой».
В ходе работы я пришёл к выводу, что такое изобретение будет полезно не только для родителей болеющих детей, но и для ухода за пожилыми людьми, которые тоже забывают принимать свои таблетки. Для этих целей можно увеличить ящик ещё на одну ячейку и внести соответствующие правки в сценарий, чтобы робот напоминал о приёме лекарств и вечером.
Таким образом, гипотеза подтвердилась, цель и задачи выполнены.
Список литературы и источники
https://dist.cpk-tatneft.ru - Механизмы, преобразующие движение: реечный, винтовой, кривошипно-шатунный, эксцентриковый и кулачковый. Механизмы для бесступенчатого регулирования частоты вращения
https://skatovaeu.wixsite.com - Учебно-методический комплекс Робототехника с LEGOWeDo 2.0
Isogawa Y. - The LEGO Technic Idea Book, vol. 1. Simple Machines - 2011
https://alice.yandex.ru - Сценарии в Умном доме Яндекса
Приложение