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

Тема

«Компьютерный питомец Slam»

Исполнитель: 

ученик 8 «В» класса МАОУ СОШ № 117

Пехташев Данил Владиславович

Научный руководитель:

Наталия Викторовна 

Кормильцев Александр Сергеевич

Должность: Специалист 1 категории по работе с детьми "НПО автоматики

Екатеринбург, 2018

Содержание

Введение. 3

1. Чем может управлять Arduino. 4

1.1. Общение с Arduino.

2. Создание приложения. 5

2.1. Анализ и выбор идей. 5

2.2. Материалы, инструменты, оборудование. 6

2.3. Последовательность выполнения работы.. 7

2.4. Алгоритм работы программы.. 9

Заключение. 10

Список литературы.. 10

Введение

Сейчас в мире людей, увлечённых техникой, наблюдается настоящая «ардуиномания». Этому маленькому загадочному устройству посвящены тысячи статей, сотни блогов и форумов. Овладев этим средством программирования можно создавать умные гаджеты и системы автоматизации. Начиная от простых устройств, отображающих значения датчиков, и заканчивая системами умного дома или ЧПУ станками. Это является основным направлением развития техники в современном мире. Актуальность моей работысостоит в том, что владение этим средством программирования является неотъемлемой частью современного мира, а также может лечь в основу будущей профессии.

Проблема данной работы: как при помощи системы программирования создавать объект и игру.

Объект исследования: аппаратно-программная платформа Arduino.

Предмет исследования: создание игры с использованием платформы Arduino.

Гипотеза – средствами аппаратно-программной платформы Arduino создается игровое приложение.

Цель проекта: создать игровое приложение, управляемое пользователем, средствами аппаратно-программной платформы Arduino.

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

  • 1.Изучить литературу по возможностям аппаратно-программной платформы Arduino.
  • 2.Разработать алгоритм приложения.
  • 3.Создать игровое приложение средствами платформы Arduino.

Методы исследования:

  • -Поиск информации в специальной литературе, Интернет-ресурсах
  • -Эксперимент
  • -Анализ и синтез данных

Этапы исследования:

  • 1.Изучение способов создания игры
  • 2.Разработка алгоритма
  • 3.Написание программы по созданному алгоритму
  • 4.Создание аппаратно-программного комплекса
  • 5.Апробация приложения

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

Данный проект можно использовать для управления объектами средствами аппаратно-программной платформы.

1. Чем может управлять Arduino

кнопки,

светодиоды,

микрофоны и динамики,

электродвигатели и сервоприводы,

ЖК дисплеи,

считыватели радиометок (RFID и NFC),

ультразвуковые и лазерные дальномеры,

bluetooth, WiFi и Ethernet модули,

считыватели SD карт,

GPS и GSM модули...

А также десятки различных датчиков:

освещённости,

магнитного поля,

гироскопы и акселерометры,

датчики дыма и состава воздуха,

температуры и влажности и многое, многое другое.

1.1. Общение с Arduino

Как же процессор узнаёт, что именно ему следует делать? Вы должны рассказать ему это. Существует язык для общения с микроконтроллером, упрощённый и адаптированный специально для Arduino. Освоить этот язык совсем не сложно при желании и определённой настойчивости, даже если вы никогда раньше не программировали.

Написание сообщений для Arduino называется программирование. И для упрощения этого процесса разработана специальная программная среда - Arduino IDE. В её состав включены десятки примеров хороших, работающих программ. Изучив их, вы очень быстро многое узнаете о языке общения с Arduino.

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

2. Создание игры

2.1. Анализ и выбор идей

В зимние каникулы я посетили зимнюю инженерно-конструкторскую школу «СовТех» от физико-математического лицея №31 города Челябинска и МБУ «Отдых» города Магнитогорска в поселке Абзаково. Там я и познакомился с новой для меня платформой. Мой научный руководитель поставил перед мной цель: создать продукт, который я мог бы использовать в дальнейшем. При работе я столкнулись с некоторыми трудностями.

В этой программе есть много плюсов и минусов.

Плюсы:

  • -Понятный язык программирования (упрощенный C++)
  • -Написанный код выводится и обрабатывается в микроконтроллере (на Arduino)
  • -Есть возможность питать, программировать и обмениваться сообщениями с Arduino при помощи одного USB кабеля

Минусы:

  • -Пустой проект Arduino занимает 466 байт на Arduino UNO и 666 байт на Arduino Mega2560.
  • -Библиотеки Arduino просты в освоении, но на этом их плюсы заканчиваются. К примеру, вы можете всю жизнь формировать задержки с помощью delay-функций и не иметь ни малейшего представления, как работает таймер на микроконтроллере — из таких минусов состоят все библиотеки Arduino. Ведь таймер и другая периферия в микроконтроллере реализованы так, чтоб компенсировать его однопоточность прерываниями. А люди тратят процессорное время на декрементацию неиспользуемой переменной.
  • -Также Arduino "скрывает" такие важные аспекты архитектуры микроконтроллеров как регистры, прерывания и таймеры. Для меня эта программа очень легка в плане программирования и своего интерфейса. Arduino для меня был первый язык программирования который я познал.

2.2. Материалы, инструменты, оборудование

Мой проект был создан на Arduino UNO . Arduino имеет- 19 обычных ножек,3 GND разъема, ножку 5V, 3,3V, ножку VIN и ножку AREF.

Еще Arduino имеет кнопку reset и два входа питания, через один из них можно еще загрузить программу.

2.3. Последовательность выполнения работы

После ознакомления я преступил к начальному заданию запустить часы (рис. 4).

Рисунок 4

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

Следующее что я сделал, это начал подключать к Arduino стилус от приставки PSP2 . При подключении стилуса я столкнулись с одной проблемой, что для некоторых вещей для подключения нужно скачивать определённую библиотеку.

Рисунок 5

После я подключил сам экран от Nokia5110 (к которому тоже нужна библиотека). И вывел на него первый мой объект. Им был квадратик который мог перемещаться по всему экрану (рис. 6). Для меня это была маленькая победа на пути к огромному счастью.

Рисунок 6

После этого я начал разрабатывать и походу придумывать смысл игры, и что она будет из себя представлять. Я решили создать игру TAMAGOTCHI . Персонажем моей игры стал slam. Следующим шагом я поменяли рисунок и загрузил слизня вместо квадратика. Он так же мог передвигаться и исчезать и я ему по ходу разработки добавили способность махать ручками (рис. 7).

Рисунок 7

Далее я подключил 4 кнопки:

  • 1.Слайм становится злым.
  • 2.Слайм начинает потихоньку плавиться и возрождаться обратно.
  • 3.Слайм здоровается с пользователем игры.
  • 4.Кнопка reset (перезапуск игры).

Все эти действия сопровождаются плавной анимацией.

  • 1.Злость
  • 2.Плавление
  • 3.Приветствие.
  • 4.Reset

Следующим шагом я распечатал корпус для нашей игры. Печать была произведена на 3D принтере Wanhao i3.

2.4. Алгоритм работы программы

Если при управлении slaim выходит за границы экрана, то изображение очищается и отрисовывается в положении (0, 0)

Заключение

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

В процессе работы над проектом я выполнил задачи:

  • 1.Изучить литературу по возможностям аппаратно-программной платформы Arduino.
  • 2.Разработать алгоритм приложения.
  • 3.Реализовать алгоритм средствами платформы Arduino.

При выполнении этого проекта мы пришли к выводам:

  • -аппаратно-программные средства платформы Arduinoимеют широкие возможности для создания приложений, поддерживающих пользовательский интерфейс.

Мой проект можно использовать в качестве иллюстрации возможностей аппаратно-программной платформы Arduino на начальном этапе изучения. Я планирую дорабатывать проект, сделав его картриджной приставкой за счет считывания данных с внешних носителей.

Эта сфера деятельности достаточно молода, но очень быстро развивается и имеет большие перспективы в будущем.

Список литературы

  • 1.Блум Джереми. Изучаем Arduino: инструменты и методы технического волшебства: Пер. с англ. — СПб.: БХВ-Петербург, 2015.
  • 2.Монк С. Программируем Arduino. Профессиональная работа со скетчами. — СПб.: Питер, 2017.
  • 3.Петин В. А.Arduinoи RaspberryPiв проектах InternetofThings. — СПб.: БХВ-Петербург, 2016. (Электроника)
  • 4.Петин В. А. Проекты с использованием контроллера Arduino. — СПб.: БХВ-Петербург, 2014. (Электроника)
  • 5.Петин В. А., Биняковский А. А. Практическая энциклопедия Arduino. - М.: ДМК, Пресс, 2017.
  • 6.https://ru.wikipedia.org/wiki/Arduino
  • 7.https://www.kakprosto.ru/kak-920473-chto-takoe-arduino-i-chto-s-nim-mozhno-sdelat
Подписка на новости
Контакты

Адрес: г. Екатеринбург, ул. Мамина-Сибиряка 145, к. 1119 (на карте)

Тел.: +7 (343) 355-93-88

info@cosmoport.club