суббота, 31 октября 2015 г.

EV3 TV Gun

Помните световой пистолет на Nes и игру Hogan's Alley? Нет? Может быть помните хотя бы стрельбу по уткам в Duck Hunt на Dendy? В нашем новом EV3-проекте мы тоже будем стрелять по экрану из пистолета! 
Проект собран на основе домашней версии набора EV3 #31313, имеет открытый исходный код и отличную инструкцию по сборке. Для прицеливания используется анализ отклонения от ИК-маяка, который нужно положить перед экраном, углы на цели - подобрать в зависимости от диагонали вашего экрана и расстояния до него. Программа для блока EV3 написана на языке LEGO EV3-G, программа для компьютера - на Processing (для ее работы требуется скачать Processing 3).  



Инструкция по сборке в двух вариантах:
PDF - для просмотра используйте Adobe Acrobat Reader 
LXF - для просмотра используйте LEGO Digital Designer 

В проекте используется две программы:

EV3TVGun.ev3 закачивается на блок. Блок нужно связать с компьютером по Bluetooth и в переменной PC указать Bluetooth-имя компьютера. При необходимости скорректируйте углы прицеливания в соответствующих блоках условий.

Папка EV3TVGun содержит программу на языке Processing (третьей версии, скачать Processing можно здесь). Ее нужно поместить в Вашу папку со скетчами (обычно в Documents\Processing\).
В коде программы при необходимости исправьте в строке 30 com-порт
  String portName = Serial.list()[1];
1 - это НЕ 1-й com-порт, а номер второго по счету com-порта в системе, т.е. первый активный имеет номер 0, второй 1 и т.д.  

Инструкция и программы к проекту доступны по ссылке

среда, 28 октября 2015 г.

EV3 Doom

В этот раз мы устроим на EV3 самый настоящий экшен. Кто-то еще наверное помнит первые части культовой игры Doom, с ее элегантными пикселами, пеповторимыми звуками шотгана и ураганной музыкой? Давайте построим шотган из LEGO, свяжем его с реальностью с помощью гироскопа и пойдем бродить по темным закоулкам лабиринтов, отстреливая монстров! Пара видов оружия, монстры, ключи, двери, аптечки и патроны - все как полагается. Звуки оружия, рев монстров, и прочие звуковые эффекты и сэмплы - прямиком из первой части Doom. Радости добавляет оптический прицел, светящийся красным при наведении на недобрых обитателей лабиринтов. Наша новая EV3-игра кроме открытого исходного кода может похвастаться еще и редактором уровней - в обычном "Блокноте", без программирования, можно создать свой уровень, загрузить его на блок и игра его подхватит!



В архиве по ссылке в конце статьи вы найдете исходники нашей игры EV3 Doom.
Программа распространяется "как есть", при желании Вы можете дополнить ее и улучшить, при этом ссылка на авторов обязательна. Код содержит большое количество блоков и среда EV3-G даже на компьютере с 8Гб памяти начинает работать крайне медленно и нестабильно, в связи с этим принято решение прекратить разработку и пока играть в то, что получилось. На самом деле еще планировался 3D-режим (он даже уже прорисован, но среда его не тянет, не хватает памяти, см. папку 3d, может кто-то сможет добавить этот режим в игру) и полные ситуационные голосовые подсказки (для возможности игры на слух, без экрана, в стиле "Вы в коридоре, проходы ведут налево и вперед, слева от вас ключ а где-то впереди воет монстр"). Памяти хватило только на голосовые подсказки по лабиринту и монстрам. Расположение ключей, дверей и аптечек не озвучиваются, только взаимодействие с ними. Добавляйте, выкладывайте - поиграем.

Пушку Вы можете построить на свой вкус, подключение датчиков:
1 - гироскоп (ориентирован в плоскости пола)
2 - кнопка выстрела
3 - кнопка движения
4 - цветосветовой датчик (для подсветки прицела)

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

Рекомендации по изготовления собственных уровней без программирования, используя всего лишь "Блокнот" вы найдете в архиве с исходниками программы. https://yadi.sk/d/YfrspyaYjomJW



EV3 Игра "Жизнь" Карандаша и Самоделкина

Сегодня мы соберем и запрограммируем клеточный автомат под названием "Игра Жизнь" используя платформу LEGO Mindstorms EV3. Игра́ «Жизнь» (англ. Conway's Game of Life) придумана английским математиком Джоном Конвеем в 1970 году. Место действия этой игры — «вселенная» — это размеченная на клетки поверхность или плоскость. В нашей EV3-версии поле ограничено и верхняя граница поля «соединена» с нижней, а левая граница — с правой, что представляет собой эмуляцию поверхности тора, но на экране поле отображается в виде равномерной сетки. Каждая клетка на этой поверхности может находиться в двух состояниях: быть «живой» или быть «мёртвой» (пустой). Клетка имеет восемь соседей (окружающих клеток).
Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам:
1) в пустой (мёртвой) клетке, рядом с которой ровно три живые клетки, зарождается жизнь;
2) если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае (если соседей меньше двух или больше трёх) клетка умирает («от одиночества» или «от перенаселённости»)
Игра прекращается, если на поле не останется ни одной «живой» клетки, если при очередном шаге ни одна из клеток не меняет своего состояния (складывается стабильная конфигурация) или если конфигурация на очередном шаге в точности (без сдвигов и поворотов) повторит себя же на одном из более ранних шагов (складывается периодическая конфигурация).
Эти простые правила приводят к огромному разнообразию форм, которые могут возникнуть в игре.
Игрок не принимает прямого участия в игре, а лишь расставляет или генерирует начальную конфигурацию «живых» клеток, которые затем взаимодействуют согласно правилам уже без его участия (он является наблюдателем).
Алгоритм «смены поколения» последовательно просматривает все ячейки решетки и для каждой ячейки подсчитывает соседей, определяя судьбу каждой клетки (не изменится, умрет, родится).
Вскоре после опубликования правил, было обнаружено несколько интересных шаблонов (вариантов расстановки живых клеток в первом поколении), в частности планер (глайдер). Некоторые такие фигуры остаются неизменными во всех последующих поколениях, состояние других периодически повторяется, в некоторых случаях со смещением всей фигуры.



Инструкция по сборке и программа к проекту EV3 "Игра Жизнь" (Game Of Life)

Прикрепленное изображение

Азбука науки 2015

Команда "Карандаш и Самоделкин" на фестивале "Азбука науки 2015" в СГАУ с проектами "Робот-Муха. Тренажер пространственного воображения" и "Волшебная лампа. Тренажер памяти".


EV3 Internet Radio Receiver

ev3dev - операционная система для LEGO Mindstorms EV3 и Raspberry Pi 1/2. Загружается с MicroSD карты (двойная загрузка), оставляя без изменений прошивку LEGO-блока. Поддерживает массу USB-устройств и позволяет устанавливать Linux-программы из репозитория. Можно программировать EV3 на языках C++, Python и Lua.
В данном проекте мы установили на ev3dev mp3-проигрыватель mp123 и, подключив WiFi-адаптер, слушаем интернет радио на блоке EV3.



Самое популярное