www.open-tager.ru
http://open-tager.ru/forum/

Проект на ATtiny13
http://open-tager.ru/forum/viewtopic.php?f=5&t=3233
Страница 1 из 8

Автор:  dimka1977 [ 29 янв 2014, 11:56 ]
Заголовок сообщения:  Проект на ATtiny13

Добрый день.
Решил попробовать свои силы в программировании, да и тема Laser Tag как раз вовремя появилась (до нового года даже и не слышал о таком ;)
Цель - прошивка (или несколько) для выполнения функций таггера, пульта, аптечки, боеприпасов, базы и т.п.
Выбор контроллера - ATtiny13 - то что есть под руками. Думаю, легко перенесется на более взрослые.
Конфигурирование - пока основные параметры храню в внутреннем EEPROM. Т.е. для изменения режима работы (несущая частота, кол-во боеприпасов и здоровья и т.п.) при включении необходимо менять содержимое EEPROM.
Протокол - MILES TAG 2.
Пишу на ASM. Причина - ограниченные ресурсы контроллера и знакомство в прошлом с MSC51.
Пока написал имитацию стрельбы в разных режимах, посылку команды.
Когда получится что-то законченное, выложу здесь прошивку (если кому интересно сейчас, добро пожаловать в личку).
Это было вступление, а теперь вопрос к знатокам ;)
Посоветуйте, как с ресурсами tiny13 организовать вывод звука? Прием ИК сигнала еще не писал, а места осталось около 400 байт.
И как посоветуете контролировать точность временных интервалов импульсов при приеме и нужно ли это вообще?
Спасибо заранее.

Автор:  Pingvin [ 29 янв 2014, 12:01 ]
Заголовок сообщения:  Re: Проект на ATtiny13

ATtiny13
8 битный AVR микроконтроллер с 1 КБ внутрисистемно программируемой Flash памяти
Цитата:
Высококачественный низкопотребляющий 8- битный AVR микроконтроллер
Передовая RISC архитектура
- 120 команд, большинство которых выполняется за один тактовый цикл
- 32 8 битных рабочих регистра общего применения
- Полностью статическая архитектура
Энергонезависимая память программ и данных
- 1 КБ внутрисистемно программируемой Flash памяти программы, способной выдержать 10 000 циклов записи/стирания
- 64 байта внутрисистемно программируемой EEPROM памяти данных, способной выдержать 100 000 циклов записи/стирания
- 64 байта встроенной SRAM памяти (статическое ОЗУ)
- Программируемая защита от считывания самопрограммируемой Flash памяти программы и EEPROM памяти данных
Характеристики периферии
- Один 8- разрядный таймер/счетчик с отдельным предделителем и два ШИМ канала
- 4 канальный 10 битный АЦП со встроенным ИОН
- Программируемый сторожевой таймер со встроенным генератором
- Встроенный аналоговый компаратор


Офигеть - Левши! :lol: :lol: :lol:
Удачи!
:)

Автор:  hakmax [ 29 янв 2014, 12:16 ]
Заголовок сообщения:  Re: Проект на ATtiny13

А вы уверены что на ассемблере потом легко перенесете на другой контроллер? Самый дешевый полноценный МК, альтернатива Atmega8 http://kosmodrom.ua/prodlist.php?name=STM32F0.

Автор:  hakmax [ 29 янв 2014, 12:21 ]
Заголовок сообщения:  Re: Проект на ATtiny13

В пользу АВР скажу тоько то что его можно не покупать, для того чтобы просто поиграться, можно использовать Proteus ну а дальше разные виртуальные порты и т.д. Недавно установил Labview - очень мощная штука.

Автор:  Pingvin [ 29 янв 2014, 12:32 ]
Заголовок сообщения:  Re: Проект на ATtiny13

hakmax писал(а):
В пользу АВР скажу тоько то что его можно не покупать, для того чтобы просто поиграться, можно использовать Proteus ну а дальше разные виртуальные порты и т.д. Недавно установил Labview - очень мощная штука.

В пользу лазертаг тоже могу сказать - в него можно даже не играть!
Установил контру на компьютер - и балуйся!
А ещё есть Унреал турнамент - очень мощная штука! :lol: :lol: :lol:
Не обижайтесь! ;) :)
Согласен - наличие эмуляторов только плюс.
Но сама фраза звучит забавно. :)

Автор:  Pacifist [ 29 янв 2014, 12:56 ]
Заголовок сообщения:  Re: Проект на ATtiny13

Pingvin писал(а):
...Согласен - наличие эмуляторов только плюс.

hakmax писал(а):
В пользу АВР скажу тоько то что его можно не покупать, для того чтобы просто поиграться, можно использовать Proteus ну а дальше разные виртуальные порты и т.д. Недавно установил Labview - очень мощная штука.

Эмуляторы - зло. Основная задача эмулятора - помочь студенту сделать курсовую. Никакую реальную инициализацию контроллера ни один эмулятор коректно не делает, я уже молчу про взаимодействие аппаратных модулей.

Я бы рекомендовал Вам собрать плату Аскета - и перейти на С.

Автор:  dimka1977 [ 29 янв 2014, 14:54 ]
Заголовок сообщения:  Re: Проект на ATtiny13

Приветствую.
Попробую ответить всем сразу ;)
Я наблюдаю 2 готовых к реализации проекта оружия на AVR - у Pingvina и у LTagKirov. Прошивку последнего попробовал (так как есть под рукой ATMega328), понравилось.
Поэтому конкурировать с ними не вижу смысла, работа сделана отлично.
Мне показалось, что для начала игры, не хватает остальных устройств - аптечек, мишени и т.п. Так как для реализации этих функций достаточно и 6-и ног у контроллера, то решил слепить самостоятельно. Если хватит ресурсов контроллера, то и таггер получится.
Под более взрослым я имел ввиду любой другой 8-и битный AVR.
Может все таки кто встречал необычные простые способы извлечения звука на пьезике? В наличии прерывание с частотой 36 кГц и вероятно несколько десятков байт памяти. Могу, конечно, пищать с разной частотой, но хотелось бы поинтересней. Конечно, речь идет о звуках выстрела, смены магазина, окончания патронов, попадания.

Автор:  LTagKirov [ 29 янв 2014, 15:20 ]
Заголовок сообщения:  Re: Проект на ATtiny13

dimka1977 писал(а):
В наличии прерывание с частотой 36 кГц и вероятно несколько десятков байт памяти. Конечно, речь идет о звуках выстрела


Генерировать тона (пробовал FM синтез)занимает больше памяти чем работать с wav данными.
Вот вариант выстрела в виде "программного шума", вызываем код с частотой дискретизации.

Код:
if ( SOUND_RAW == snd_current )   {

         //   Проиграть WAV файл из памяти программ "hitraw.h"
            bu = pgm_read_byte(&pSndhit[snd_tpp]);      
         //         bu = pgm_read_byte(0);   // или просто код с любого адреса
            snd_tpp ++;      

            if ((snd_tpp & 0x0200) == 0x0200) {

               // каждый 512 отсчёт (0,06сек) уменьшаем громкость
               // всего есть 8 градаций громкости надо растянуть на 800*5 отсчётов

               sound_volume ++;
            }


            bu  ^= ((snd_tpp & 1) << 7);      // модулируем старший разряд, для громкости
            bu >>= sound_volume;
            OCR2 = bu;            // записать в ОСR2 - вывод звука

         }

Автор:  mail_robot [ 29 янв 2014, 16:58 ]
Заголовок сообщения:  Re: Проект на ATtiny13

толкового звука не получится
опять придете к ISD с такими ресурсами. Я бы правда в сторону атмеги глянул. Однако вопрос напрашивается - к чему тогда изобретать велосипед, если можно вступить в секту Пингвина и принести там куда больше пользы. Аскет ждет свободные руки, жадные до дела. Ему еще много предстоит пройти терний. Но это лучше чем городить чтото еще. Лучше один проект HSL довести до конкретного ума. Больше пользы будет

Автор:  dimka1977 [ 29 янв 2014, 18:10 ]
Заголовок сообщения:  Re: Проект на ATtiny13

Толкового звука и не жду, получить бы "пиу-пиу" ;)
Если ресурсов хватит на таггер, то я применение вижу в детских игрушках, или самоделках. Для интеграции в качественные макеты больше подходят те же перечисленные готовые решения, хотя бы даже из-за реалистичного звука.
Я считаю (но можете поспорить ;), что с точки зрения достаточности для игры, в проектах на ATMega все уже есть. Я не до конца понял, сделали ли готовое беспроводное решение (только для связи макет-повязка, в сборе данных тоже не вижу большого смысла), а в остальном не придраться. Т.е. я готов купить несколько плат Аскета и пользоваться.
Изначально мне не хватает игровых аксессуаров. Я играл то раз, попробовали 3 сценария. От этого и отталкиваюсь.
Проект Аскет считаю отличным, но на С я не писал, попробовал разок вывести строку на дисплей и все. Поэтому сразу помочь не смогу.

Страница 1 из 8 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/