Искусственный интеллект создает новогоднее настроение

XIX Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Искусственный интеллект создает новогоднее настроение

Садртдинов Р.Р. 1
1МБОУ СОШ с.Асяново имени Ш.Бабича МР Дюртюлинский район Республики Башкортостан
Шайхразиев И.А. 1
1МБОУ СОШ с.Асяново имени Ш.Бабича МР Дюртюлинский район Республики Башкортостан
Автор работы награжден дипломом победителя I степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

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

Актуальность: любознательному человеку всегда интересно знать, как что устроено, а сделать самому – вдвойне интересно. Сейчас ИИ в области досуга слабо развит и любое его развитие является небольшим, но шажком.

   Актуальностью  проекта  является и то, что Arduino  создает программы  следующего поколения, которые расширяют возможности учащихся в процессе обучения в средней школе, и ВУЗе и помогают нам развиваться.

Цель проекта: Сконструировать устройство на микроконтроллере семейства Ардуино для красочного оформления новогоднего праздника.

Задачи проекта:

Продолжить изучение основ программирования на платформе Arduino IDE.

Собрать схему, подключить модули друг к другу и к контроллеру.

Скорректировать скетч (программу) в среде Arduino IDE под свои параметры и загрузить ее в контроллер.

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

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

Устройство состоит из двух частей – самодельной матрицы, собранной из гирлянды со адресуемыми светодиодами WS2812B и блока управления в лице платы Wemos D1 mini с микроконтроллером ESP8266, а ещё из блока питания и мобильного устройства, для управления. Также имеются резистор, во избежание перегорания первого пикселя, и конденсатор, для увеличения стабильности работы. Схема устройства приведена на Рис 1.

Wemos D1 Mini – плата на базе микроконтроллера ESP8266. Работа с этой платой практически ничем не отличается от других Arduino – совместимых плат, большинство Arduino библиотек будут работать на этом микроконтроллере. Главное отличие самого микроконтроллера – наличие встроенного беспроводного интерфейса WiFi, более быстрое вычислительное ядро и огромный объём памяти, что позволяет создавать более тяжёлые и сложные проекты с выходом в Интернет. [2].

Адресная светодиодная лента (Рис. , вершина эволюции лент. Представляет собой ленту из адресных диодов, один такой светодиод состоит из RGB светодиода и контроллера. Да, внутри светодиода уже находится контроллер с тремя транзисторными выходами! Внутри каждого! Благодаря такой начинке у нас есть возможность управлять цветом (то бишь яркостью r g b) любого светодиода в ленте и создавать потрясающие эффекты. Адресная лента может иметь 3-4 контакта для подключения (Ошибка: источник перекрёстной ссылки не найден), два из них всегда питание (5V и GND например), и остальные (один или два) – логические, для управления.

Лента “умная” и управляется по специальному цифровому протоколу. Это означает, что если просто воткнуть в ленту питание не произойдет ровным счётом ничего, то есть проверить ленту без управляющего контроллера нельзя. Если вы потрогаете цифровой вход ленты, то скорее всего несколько светодиодов загорятся случайными цветами, потому что вы вносите случайные помехи, которые воспринимаются контроллерами диодов как команды. Для управления лентой используются готовые контроллеры, но гораздо интереснее рулить лентой вручную, используя, например, платформу ардуино, для чего ленту нужно правильно подключить. [2].

Команды в ленте передаются от диода к диоду, паровозиком. У ленты есть начало и конец, направление движение команд на некоторых моделях указано стрелочками. Для примера рассмотрим ws2812b, у нее три контакта. Два на питание, а вот третий в начале ленты называется DI (digital input), а в конце – DO (digital output). Лента принимает команды в контакт DI! Контакт DO нужен для подключения дополнительных кусков ленты или соединения матриц. (Рис. 3). [2].

Для своего устройства вместо ленты я использовал гирлянду из адресных светодиодов (Рис. 4). Принцип работы гирлянды точно такой же, но расстояние между светодиодами больше, 10 см. Две гирлянды по 10 м каждый (200 светодиодов) собрал в виде матрицы шириной 20 и высотой 10 светодиодов. Т.е. получился экран на 10*20 пикселей. Гирлянды соединяются последовательно, «зигзагом». (Рис. 5)

Определившись со схемой и матрицей, встал вопрос прошивки. Прошивку я выбрал от vvip-68, изменив под себя.

Открываем среду разработки Arduino IDE (Рис. 6) для редактирования скетча проекта. Переходим на вкладку a_def_hard.h - все параметры, описывающие устройство и поддерживаемый устройством функционал сосредоточен здесь. [1].

Так как я выбрал плату на базе микроконтроллера ESP8266 - Wemos da mini - в пункте меню "Инструменты" устанавливаю параметры как это указано на Рис. 7.

Значение параметра "Порт" выбираем в соответствии с тем, какой порт получил подключенный к USB микроконтроллер в компьютере. После того, как я выбрал настройки компиляции для моей платы - редактирую настройки скетча, чтобы они соответствовали собранному устройству как на Рис. 8.

HOST_NAME - строка задает то, под каким именем устройство будет видно в локальной сети.
A_DEF_DEVC - здесь ставлю 0. Все параметры устройства описываются в этом файле ниже. A_DEF_PASS - поставьте здесь 0. Все параметры подключений описываются в этом файле ниже.

Так как я планирую использовать сервис получения погоды с сервиса OpenWeatherMap – получаю  ключ API доступа к погодной информации на сервере.

WEATHER_API_KEY - вставляю сюда ключ API получения погоды с OpenWeatherMap.

Я выбрал вариант ESP8266 'DEVICE_VARIANT 0.

Размеры и подключение матрицы. Рассмотрим назначение параметров подробнее.

Параметр WIDTH - указываю ширину матрицы - 20

Параметр HEIGHT - указываю высоту матрицы - 10

Схема, поясняющая тип матрицы, угол подключения и направление из угла на Рис. 9.

Параметр USE_WEATHER определяет будет ли устройство получать информацию о текущей погоде с одного из погодных серверов - Яндекс.Погода или OpenWeatherMap
USE_WEATHER 0 - получение информации о погоде отключено
USE_WEATHER 1 - получение информации о погоде включено

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

Следующий блок - подключение компонентов к пинам микроконтроллера

Параметр LED_PIN указывает к какому пину платы микроконтроллера подключен управляющий вход матрицы

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

После успешной загрузки устройство либо подключится к локальной сети, если соответствующие параметры были указаны в скетче, либо создаст точку доступа с адресом 192.168.4.1

Для дальнейшей настройки параметров соединения с сетью и режимов работы устройства -устанавливаю на смартфон приложение WiFiPanel.apk из папки Androud проекта, подключаю телефон к сети или созданной точке доступа и продолжаю выполнение настройки устройства в приложении. (Рис. 10). [1].

Практическая часть и реализация

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

Ссылка на видео: https://disk.yandex.ru/i/D91C5ZpAHYdGGA

Но все таки мне пришлось демонтировать гирлянды от окна, т.к я решил сделать мобильный макет. Тем более праздник Новый год уже прошел.

Корпус я решил делать из древесноволокнистой плиты, пластика и матового стекла в лицевой стороне. Так устройство будет выглядит более презентабельно.

Начал сборку устройства я с матрицы. За её основу я взял древесноволокнистую плиту размером 1050*550 мм и гирлянду с адресуемыми светодиодами. После я разметил положение светодиодов. Семь раз отмерив линейкой и один раз подумав головой, я начал сверлить отверстия, всего 400 штук. Через них я пропустил 20 метровую гирлянду. На эту матрицу на саморезах прикрепил деревянные бруски. Далее на болтах я прикрепил матовое оргстекло к матрице. (Рис. 12) После чего, с другой стороны я закрыл таким же куском ДВП. (Для матрицы и задней крышки использовал б/у куски ДВП, уже покрашенные в белый цвет). Для доступа к контроллеру я проделал окно и сбоку приспособил кнопку. Закрыл все открытые места пластиком.

Фотография готового изделия на Рис. 13.

Ссылка на видео: https://disk.yandex.ru/i/eD_4YbhVrAdf3g

Ссылка на презентацию: https://disk.yandex.ru/i/F5YNy3nNKHaMpw

Возможности устройства

Более 40 крутых эффектов с поддержкой отображения часов или текста бегущей строки поверх эффектов; 4 интерактивные игры: Лабиринт, Змейка, Тетрис, Арканоид (в программе-компаньоне "WiFiPlayer"); отправка картинки со смартфона на матрицу (в программе-компаньоне "WiFiPlayer"); рисование на матрице (в программе-компаньоне "WiFiPlayer"); редактирование и создание картинок пользователя пригодных для загрузки на матрицу в утилите "JinxFramer".

Регулировка яркости эффектов относительно яркости часов или текста бегущей строки, отображаемых поверх эффектов; возможность задания до 36 разных текстовых строк, задание порядка их "воспроизведения" a также параметров отображения; поддержка текста бегущей строки с отображением оставшегося до события времени; текст бегущей строки может отображаться различными цветами внутри одной строки

Настройка скорости и вариаций отображения для каждого эффекта со смартфона; создание кадров для эффекта "Анимация" в утилите "JinxFramer" для последующего экспорта кода, пригодного для включения в скетч проекта.

Работа системы как в локальной сети, так и в режиме “точки доступа”; система получает точное время из Интернета

Управление кнопкой: смена режима, настройка яркости, вкл/выкл, отображение текущего IP адреса устройства

Режим будильник-рассвет: менеджер будильников на неделю в приложении

Отображение текущего времени на матрице поверх эффектов

Отображение текстовых сообщений на матрице поверх эффектов

Установка текущего времени со смартфона вручную, если не удалось подключиться к серверу времени NTP

Настройки сетевого подключения (SSID и пароль, статический IP) задаются в программе и сохраняются в EEPROM

Отображение текущего IP адреса устройства на матрице в режиме бегущей строки

Получение текущей температуры воздуха и погоды с сервера Яндекс.Погода или OpenWeatherMap. Полученные данные могут отображаться в бегущей строке или в режиме отображения времени вместе с часами Код региона (города) указывается в настройках в программе на смартфоне.

Возможность управления из любой точки планеты через подключение к MQTT-серверу из приложения на смартфоне или с использованием ассистентов умного дома (Яндекс Алиса, Google Ассистент и т.д.). [1].

Экономическое обоснование

Аналогов данного устройства в продаже нет! В интернете есть информация об оформлении новогодних окон такими гирляндами несколькими радиолюбителями.

Проект обошелся в 4280 рублей, из них: гирлянда светодиодная WS2812B 10 м (2шт) – 1640р, оргстекло матовое 1050*530*3мм – 1600р.+200р. доставка, микроконтроллер WeMos D1 Mini(ESP8266) – 213р. блок питания(5V, 3A) – 334р, кнопка электрическая – 60р, резистор 220 Ом – 3р, болты М4830 16 шт. – 50 р, уголок пластиковый 6200мм – 180р.

Заключение

Таким образом, я собрал устройство, создающее новогоднее настроение и

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

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

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

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

Список использованной литературы

https://github.com/vvip-68/GyverPanelWiFi - прошивка и FAQ

https://alexgyver.ru/gyvermatrixbt/ - общий обзор проекта

Приложение

Рис 1. Схема устройства

Рис. 2. Адресная светодиодная лента

Рис. 3. Контакты ленты

Рис. 4. Адресная светодиодная гирлянда

Рис. 5. Соединение гирлянд

Рис. 6. Arduino IDE

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

Рис. 8. Настройки скетча

Рис. 9. Настройка типа подключения гирлянды

Рис. 10. Настройки устройства в приложении

Рис. 11. Монтаж гирлянды на окно

Рис. 12. Монтаж корпуса устройства

Рис. 13. Готовое изделие

Просмотров работы: 497