Лазертаг с использованием " Ардуино"
- Войдите на сайт для отправки комментариев
Пт, 04/11/2011 - 00:51
В сети появляются схемы сборок устройств лазертага вот и я подумал а может тоже такое собрать с пайкой и боркой проблем нет а вот с программированием у меня пока хромает. может кто отзовется совместными усилиями собрать своими руками.
Народ как можно осущесвить для ик приемника программу для принятия с разных излучателей так чтобы приемник понимал какой в него попал тоесть определение ID
Каждый ик диод должен передавать свою последовательность сигналов.
А на 328 нано сколько таких ID можно сделать?
С учетом что сигнал должен длиться примерно 16мс
А при чем тут 328 нано? Вы бы еще спросили "сколько таких ID может обслужить трех-вольтовая батарейка".
Это зависит от того какой протокол-кодировку передачи ID вы придумаете и реализуете. Сделаете одно-битый - будет вам два передатчика. Сделаете 8-ми битный - 256.
Погуглите-посмотрите как пульты инфакрасные работают. Как они шлют код нажатой клавиши. Кодировка NEC,RC5,SONY и т.п. Ну и возьмите либо готовый (тогда, кстати тестить приемник сможете обычной ДУ-шкой), либо "подпилите его под себя".
"А при чем тут 328 нано?"
Вы бы еще спросили "сколько таких ID может обслужить трех-вольтовая батарейка".
Это зависит от того какой протокол-кодировку передачи ID вы придумаете и реализуете. Сделаете одно-битый - будет вам два передатчика. Сделаете 8-ми битный - 256.
Погуглите-посмотрите как пульты инфакрасные работают. Как они шлют код нажатой клавиши. Кодировка NEC,RC5,SONY и т.п. Ну и возьмите либо готовый (тогда, кстати тестить приемник сможете обычной ДУ-шкой), либо "подпилите его под себя".
"А при чем тут 328 нано?"- на базе этого хочу сделать.
а за название протоколов благодарю. бум колупаться дальше хотя мне кажется есть смысл делать свой протокол вот только как начать ума не приложу.
>"А при чем тут 328 нано?"- на базе этого хочу сделать.
Да я понял. Просто я имел ввиду что это не имеет отношения к заданному вопросу (сколько ID может быть). Любой камень успеет обработать такие вещи. Хоть тинька. Это как спрашивать можно ли по этому телефону говорить, кроме русского, еще и по немецкий и английски. Тут зависит не от телефона,а от вашего знания этих языков.
>мне кажется есть смысл делать свой протокол вот только как начать ума не приложу
Дык а в чем сложность. Как сами с собой "договоритесь" так и будет. Вот пример протокола, для 16-ти возможных ID-шек (все цифры взяты от балды, просто мне так захотелось). :
Ну значит приемник этого протокола будет:
Вот такой протокол. Позволит обрабатывать 16-ть ID-шек. Причем сможет распознать, если один бит будет принять "неправильно". Практически каждый параметр протокола можно менять, подбирать приемлемые значения опытным путем. Можно добавить "бит повтора", что бы различать "нажали курок и держим" и "очень быстро нажимаем курок" и т.д. и т.п. все что потребуется.
Вплоть до "каким боеприпасом в нас выстрелили". Кстати, в коммерческих лазертагах я такой "фишки", не видел. Можно сделать "виды патронов". И засчитывать за них разный "урон", разный звук попадания и т.п.. Тогда можно смело говорить что "делал сам не от нищебродства, а от того что мое лучше" ;)
Частично понял кроме написания кода а точнне как начать примерно а что то теряюсь я. особенно в том как сделать чтобы он (мк) работал и на прием и отдачу сигнала одновременно
еще вопрос по поводу хранения и воспроизведения звуковых файлов.
Частично понял кроме написания кода а точнне как начать примерно а что то теряюсь я. особенно в том как сделать чтобы он (мк) работал и на прием и отдачу сигнала одновременно
Повесить приемник и передатчик на разные ноги МК. Приемник также заводить на прерывание и обрабатывать его.
еще вопрос по поводу хранения и воспроизведения звуковых файлов.
Хранить удобно на жестком диске, воспросводить, например, умеет WinAmp
Я имею в виду звуковые файлы на мк или епроме хранить или mikroSD хранить и при выстреле и попадании проигрывался определенный звук
Как вариант, можно воспользоваться чем-то вроде этого:
www.sparkfun.com/products/9736
omnicorpdetroit.com/blog/wp-content/uploads/2011/05/Lasertag-Source-Code.pdf
Вот нашел вариант будем пробовать.
ну как успехи? тоже задался целью сделать таггер для лазертага, сначала приклядывался к пустым стандартным мк, но друг рассказал про ардуино....с паянием проблемы) к программированию ближе душа лежит, расскажите про свои наработки
Если интересует сборка лазертага - советую использовать стандратный открытый протокол. Майлс. Скажу сразу - игра начинает быть интересной с количества играющих от 10 человек, а собирать 10 таггеров - удовольствие долгое. Рано или поздно все равно придется закупать либо компоненты, либо макеты для интеграции, хотя большинство плюет уже после 2-го таггера и покупает готовый. Вот тогда то совместимость пригодится. Вот сайт, посвященный самостоятельной сборке лазертага. Если сочтете спамом - такова жизнь. Спамить не хотел.
мне интересен таггер именно с мк из ардуино, реально ли, пробовал ли кто-либо, а этот сайт я уже перечитал=)
Пока проект встал в стадии тупика из за нехватки времени если кто то разберет код я буду рад или хотяб переведет что бы понятно было что к чему очень гуд будет, для меня нет проблем сделать платки и собрать их только если делать самому гораздо дешевле выходит. А если брать за протокол Маелс то там косяков много со свето чуствительностью тоже думал собрать но на форумах понял что там гемора много а тут можно сказать честно собрал ибо код все равно ковырять под себя нужно
http://www.instructables.com/id/Duino-Tagger/?ALLSTEPS
пробовал этот скетч на уно и нано, выдает ошибки, пенял порты, пробовал примеры из комментов, нормально ничего не работает(
давно уже читаю ваши статьи, все грамотно и логично, только почему то последнее впемя не видно вас.
а по теме.
не могли бы вы наглядно показать
Почему обязательно привязывать ID в сигнале. Ведь не важно кто в кого попал. Например длительность выстрела выбрать 5000 мксек. Таким образом подсчитать длительность непрерывного сигнала (с учетом погрешности конечно 4950-5050 мксек). Думаю так будет проще. Звуки зашить в массиве 8 бит 8000 Hz. 25 Кб (примерно 3 сек). Звук выводить через ШИМ. (Звук: выстрела, перезаряд, попадание, конец игры, воскрешение).
Звук выводить через ШИМ. (Звук: выстрела, перезаряд, попадание, конец игры, воскрешение).
Можете подробней описать идею вывода звука через ШИМ?
ID нужо для определения свой чужой,
хотя я сам хард кор предпочитаю
Почему обязательно привязывать ID в сигнале. Ведь не важно кто в кого попал.
ну как-же
сценарии разные бывают,
в каких-то есть дружественный огонь, в каких-то нет, в каких-то один тип оружия, в каких-то несколько разных с разным поражающим эффектом, есть специальные "гранаты", аптечки и прочее и прочее...
Это с травматами что ли! Ну да двухдюймовые синяки, поломанные ребра!!!!!!!!!!!
Лазертаг больше интересен для детей.
хотя я сам хард кор предпочитаю
Это с травматами что ли! Ну да двухдюймовые синяки, поломанные ребра!!!!!!!!!!!
Лазертаг больше интересен для детей.
ID нужо для определения свой чужой,
Несколько раз играл со своими детьми на оборудовании Полигон 64(3 жизни, 3х30 патроны, может ранить свой и чужой) захват флага, оборона-нападение, колесо. Мне показалось что не повлияло на ход игры, даже прикольней.
Звук выводить через ШИМ. (Звук: выстрела, перезаряд, попадание, конец игры, воскрешение).
Можете подробней описать идею вывода звука через ШИМ?
Настраиваем ШИМ (например пин 11) на частоту кварца(выше качество звука). Свободный таймер настраиваем на частоту 8 кГц с прерыванием. В прерывании с частотой 8 кГц в регистр OCR2A помещаем значение из массива. В массиве значения из WAV файла.
А кто-нибудь практически собирал самодельный лазертаг. Или все в теории?
ID нужо для определения свой чужой,
Несколько раз играл со своими детьми на оборудовании Полигон 64(3 жизни, 3х30 патроны, может ранить свой и чужой) захват флага, оборона-нападение, колесо. Мне показалось что не повлияло на ход игры, даже прикольней.
Согласен так более реалистичнее, на данный момент все стоит пока другим проектом заморочился дособирываю 3д принтер на моторах от принтеров, остается сделать подачу прутка в печатающую головку, без этого пробовал настраивал вроде все норм работает
еще бы хотелось рисунки на нем рисовать
Я так понял что ветка загнулась. Никто этим не занимается!!!!!
Народ. Привет, никто так ничего дельного то не сделал?
Привет. Прогу написал. Без определения ID. Попадание если ИК сигнал 5000 мкс. Звуки зашиты в ардуину. Звук выстрела, ранения, рекошет, перезарядка, Game Over. На макетке вроде все работает. Стрелял сам в себя(режим самоубийство, можно откл.). Сигнал принимает и выстрел посылает. Звук воспроизводит. Времени нет собрать в ствол и проверить на улице (на практике).
Я все это сделал тоже, ток звук через плеер вывел. Все гуд, но вот проблема, на солнце не работает( ловит помехи)
У меня была проблема с tsop. Привезли мне наши местные торгаши. Я их с дуру 10 шт. купил. Тоже собрал 2 тагера в помещении все норм. А на солнце болты. Эти тсопы при попадании на них солнца запирались и на вых 2.5 вольта. Думал ну может один, а они все такие.
У меня по другому, все нормально, но при выстреле у меня код, к примеру, 1234, а солнце добавляет своё ИК излучение и получается примерно 857733097 как то так
Код майлес?
Неа, сам нарисовал. Вечером скетч кину
Неужели единомышленника нашёл! А в помещении все норм.
В любых условиях работает, кроме открытого солнца
ну, в общем, как обещал. мои скетчи. кто что скажет, поправит?
передатчик
приемник
А для чего радио передатчик.? Повязка на радио?
да
есть какие мысли? я с посылкой не очень разобрался, идет 1234, 32. вот эти 32, я так понял биты передаваемые, зачем они?
Т.е. посылка отправляется библиотекой IRremote?
ну да
На какой частоте в библиотеке модулируется ИК сигнал?
irsend.enableIROut(36); строчку надо добавить
Строка означает 36 kHz?