Ничего не найдено :(
    В гостях у Самоделкина! » С сайтов » Спец » Игра «Охота на уток» на Ардуино + пистолет

    Игра «Охота на уток» на Ардуино + пистолет



    Подростки 90-х прекрасно помнят такие игровые приставки, как Dendy и Sega. Как правило, в комплекте с приставками были два игровых джойстика, и этого было достаточно для большинства игр. Но были игры, для которых требовалось особенное оборудование, в частности - пистолет. Из этого пистолета нужно было стрелять по, например, уткам на экране телевизора. При попадании в утку засчитывалось очко.
    Именно подобный пистолет + игру и решил сделать мастер.

    Инструменты и материалы:
    -Arduino UNO;
    -Фотоэлемент;
    -Микропереключатель;
    -Два резистора по 10 кОм;
    -Провода;
    -Картон;
    -Соломка для коктейля;
    -Черная изолента;
    -Небольшой кусочек пластилина;
    -Клей;

    Шаг первый: принцип работы
    Тогда мало кто понимал, как работает это устройство. Некоторые говорили, что пистолет стреляет лазером, другие - светом, были и такие, кто утверждал, что от пистолета "поломается экран".

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

    Именно по такому принципу и будет реализована данная самоделка. Правда мастер будет использовать Ардуино, и устройство адаптировано для ЖК-монитора компьютера.

    Шаг второй: ствол
    Сначала мастер изготавливает ствол пистолета. Для ствола он использует соломинку для коктейля. Свет не должен проникать сквозь стенки соломинки, и он оборачивает ее черной изолентой. Соломинка для питья должна быть длинной и узкой, но достаточной для размещения внутри фотоэлемента.

    К ножкам фотоэлемента нужно припаять провода, а сам фотоэлемент закрепить внутри соломинки с помощью пластилина.
    Подключается он к аналоговом входе A2 Arduino. Чем длиннее провод - тем лучше, легче будет протестировать настройку.
    Кнопка подключается к цифровом входе 2 Arduino. Это будет спусковая скоба пистолета.



    Шаг третий: код
    Дальше нужно загрузить код в Arduino:

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

    Фрагмент BAM_DELAY - важен. Она дает игре время для переключения между пользовательским видом игры с деревьями, кустами и утками и режимом обнаружения выстрела с полностью черным фоном и одним белым прямоугольником.

    Настройка
    Для настройки открываем Serial Monitor (Ctrl + Shift + M) и устанавливаем скорость передачи данных 115200. При нажатии на кнопку на мониторе должно отобразиться
    bam!
    2

    Дальше наводим пистолет на белый участок экрана и снова нажимаем кнопку. Теперь должно отобразиться что-то вроде:
    bam!
    56

    В последнем тесте наводим пистолет на черный участок экрана и нажимаем курок. Должно отобразиться:
    bam!
    0

    Эти тесты позволяют убедиться, что кнопка работает нормально, а фотоэлемент может различать белые и черные участки на экране. Если у белого недостаточно высокое значение - можно попробовать увеличить яркость монитора.

    Шаг четвертый: игра
    Игру можно использовать ту, которую создал мастер или написать свою.
    При создании игры нужно учитывать следующие факторы:
    -фоновое изображение, которое должно быть нарисовано за передним планом и утками
    -изображение переднего плана должно быть нарисовано над утками. У него должен быть альфа-канал (пустое пространство, прозрачность), чтобы можно было видеть уток за деревьями.
    -должна быть живая утка, в которую игроку придется стрелять
    -должна быть мертвая утка, если игрок добился успеха
    -должна быть собака без утки
    -должна быть собака с уткой
    Игра «Охота на уток» на Ардуино + пистолет


    Дальше нужно установить библиотеки pyserial и pygame
    PS > pip install pyserial
    PS > pip install pygame

    Сохраните код ниже в файле game.py:

    При необходимости нужно заменить строку «COM3» на имя последовательного интерфейса, используемого Arduino на платформе пользователя.
    Дальше можно запустить игру, используя:
    python game.py

    Это простая игра, которая будет показывать по одной утке за раз, и реагировать на ввод из последовательного порта. Когда он получит какой-то сигнал от пистолета - он отобразит черный фон с белым прямоугольником в том месте, где находилась утка.
    Из предыдущего сеанса настройки нужно убедиться, что константа 20 подходит для фотоэлемента.
    На этом шаге можно убедиться, что все работает хорошо и в игру можно играть.



    Шаг пятый: пистолет
    Для реалистичности и удобства нужен пистолет. Его можно сделать самостоятельно, как мастер, или приспособить игрушечный для этих целей.



    Шаг шестой: окончательный результат
    По словам мастера, игра вполне рабочая, хотя есть и отличия от оригинала. В оригинальной игре был режим одновременной стрельбы по двум птицам. Этого можно добиться несколькими способами - можно попробовать запустить несколько раундов с отображением белых прямоугольников, по одному для каждой птицы. Или это могут быть два фотоэлемента, покрытые цветными фильтрами, или более сложный датчик освещенности. В этом случае можно отобразить красный прямоугольник для одной птицы и синий прямоугольник для другой.
    Один пистолет можно использовать для разных игр по схожему принципу. Конечно, формы самих пистолетов могут усилить ощущения от игры. Оружие также можно оснастить тактильным откликом, чтобы сделать опыт стрельбу более правдоподобной.

    Также можно установить датчик наклона, который можно было использовать для «перезарядки» пушки. Например, можно ограничить количество выстрелов до 8. Чтобы перезарядить пистолет, игрок должен направить его вниз (датчик наклона зафиксирует это событие), а затем выстрелить снова.

    На видео можно посмотреть небольшой фрагмент игры.

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Светодиодная атмосферная лампа. ОГОНЬ/ВОДА

    Системный монитор с передачей данных по Bluetooth

    8.5
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    6.5
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    9.5
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 8.17 из 10 (голосов: 2 / История оценок)

    Добавить комментарий

    1 комментарий
    Korolev

    должна быть живая утка, в которую игроку придется стрелять

    Реально живая? Типа взял соломинку потолще и в лес, на кабанов! scratch 

    Привет, Гость!


    Зарегистрируйтесь

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

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии