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

Проект - умная аптечка (релиз)
http://www.open-tager.ru/forum/viewtopic.php?f=14&t=2198
Страница 1 из 6

Автор:  mail_robot [ 26 окт 2013, 15:14 ]
Заголовок сообщения:  Проект - умная аптечка (релиз)

Ну начнем чтоли потихоньку...
(все ссылки и инфа в первых двух постах содержат все фиксы из темы и являются последними актуальными)

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

Итак идея.

Сотворить девайс, который мог бы:
1. Работать как обычная аптечка. Типа подбежал - нажал - убежал.
2. Как аптечка с фиксированным количеством респаунов и возможностью работать медиком/патронами.

Ну с первым все понятно, такое уже есть и наверняка у всех клубов в избыточном количестве. Со вторым чуть посложнее. Надо новую железку изобретать. Да такую, чтобы она могла максимально просто конфигурироваться на поле минимумом органов управления, которые будут торчать на корпусе аптечки.

Ну я посидел подумал. Неделю наверное думал. И за 4 вечера сотворил такую штуковину. И что же она умеет? Ну в общем то все вышеперечисленное.
В сердечке у нее бьется PIC16F886 который ставится штатно во все LW таггеры и имеется в небольших количествах в запасе у многих клубов. К нему прицеплен 3-х значный 7-сегментный светодиодный индикатор, 3 кнопки, ключик IRFD110 с ИК диодом на конце (классика) и джампер/переключатель режима обычная аптечка/умная аптечка. Ну и стабилизатор питания конечно на КРЕНКе обычной.

В начале игры мы имеем выключенную аптечку, которая находится (включено джампером или переключателем) в режиме умной аптечки. Включаем питание. Если до этого уже играли, на экран выводится значение количества респаунов от прошлой игры. Если при включении аптечки зажать кнопку "Новая игра", то мы перейдем в режим программирования респаунов. Двумя дополнительными кнопками работаем как + и -. При этом на экране отображается число респаунов. Меняются только десятки и сотни. Единички ковырять там по понятным причинам смысла нет. Максимальное число респов - 990. Минимальное - 10.
Как только число на экранчике нас удовлетворяет, мы жмем еще раз кнопку "Новая игра" и аптечка радостно переходит в активный режим и теперь по нажатию на кнопку "Новая игра" будет респать всех подбегающих и минусовать число на экранчике до нуля соответственно. Как только стукнет нолик, респать она перестанет. НО. Она не перестанет работать как медик/патроны. Те кнопки которые были +/- соответственно дают либо здоровье (если ты жив), либо патроны. Причем здоровья дает только 1/4 по каждому нажатию, патроны пополняет на всю катушку. Соответственно чтобы пополнить здоровье полностью, надо нажать медика 3 раза (одна то жизнь у нас таки осталась наверное)
Пополнить здоровье и патроны можно в любой момент игры, жизнь при этом аптечка не минусует. (ну это понятно, тыж живой подбежал)

Закончили играть. Выключили/включили аптечку (ключиком естественно), погнали все заново.

Сейчас разберусь как выложить схемку и код и выложу. Пока можно пообсуждать/поспрашивать кому охота.

Автор:  mail_robot [ 26 окт 2013, 15:20 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

Яндекс папка проекта
http://yadi.sk/d/rsM5l02QBbtGX

http://yadi.sk/d/NF6DtRcdBz37C
прошивка

http://yadi.sk/d/gDgjGZm8Bz38d
архив с проектом и исходниками целиком

схемка (питание условно не показано)
LED индикатор с общим катодом
если нужен с общим анодом - открываем исходники, ищем user.h и правим в нем маски символов на инвертированные (массивы const int8_t _simbol[13], const int8_t _slider[6])
дальше открываем main.c и правим функцию Refresh - инвертируем в опросе биты PORTB<0:3>
В функции sliders вместо PORTB = 0b00000000; пишем PORTB = 0b00000111;
вроде все
Изображение


во время первого старта аптечки на экране будет отображаться всякая ерунда, потому как в EEPROM еще ничего не записано и читается что попало (конкретно 0xFF). Удерживая кнопку New Game включаем питание и заходим в конфигуратор (экранчик мигнет красивой заставкой. Держим кнопку пока не увидим заставку, отпускаем кнопку), устанавливаем нужные значения двумя другими кнопками, еще разок жмем New Game. Аптечка подтверждает что сохранила данные и перешла в активный режим еще раз весело помигав экранчиком. Играем. Теперь при нажатии New Game аптечка посылает 1(!) пакет команды и минусует одну жизнь из памяти. Не из EEPROM. Там так и остается настроенное в прошлый раз число ))
Сброс аптечки производится выключением питания.

внешний вид макета
Изображение

светодиоды впаяны для упрощения отладки. Желтый - индикатор работы ИК диода. Стоит параллельно через свой резистор. Красный - индикатор питания +5В. Конденсаторы только по питанию. 220 мкФ и 0,1 мкФ
Разъем программирования под программатор-отладчик PICkit2 или можно использовать вот такой программатор http://dvrobot.ru/shop/i402.Programmator_PIC_K150.htm (магазин проверенный, сам там беру)
если есть возможность подождать недельки 3-4 можно купить PICkit2 или 3 (без разницы) на алиехпрессе за 600 рублей с бесплатной доставкой http://www.aliexpress.com/wholesale?Sea ... 1101212734
оплачивается визой, приходит по почте совершенно спокойно (тоже постоянно пользуюсь. Очень экономно)

Собирается и компилируется все стандартными микрочиповскими инструментами (бесплатными)
MPLAB X IDE http://www.microchip.com/pagehandler/en ... ly/mplabx/
и на него ставится компилятор XC8 Free. Он как бы коммерческий, просто во фришной версии не делает выравнивания кода и не оптимизирует на скорость/размер. А так все то же самое
http://www.microchip.com/pagehandler/en ... s/mplabxc/

Автор:  Pingvin [ 26 окт 2013, 15:20 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

Поздравляю! :)
С почином!
Дальнейших успехов! :geek:

Автор:  mail_robot [ 26 окт 2013, 15:25 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

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

не тот вариант схемки выложил (( сейчас перезальем на всякий пожарный в PDF, а то диптрэйс не у всех имеется

Автор:  MidnightDreamer [ 26 окт 2013, 15:27 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

Т.е. игрок в среднем подбегает и нажимает три раза на Медик и один на Аммо? (раз уж прибежал, будет заряжаться по полной ;)

Автор:  Pingvin [ 26 окт 2013, 15:27 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

mail_robot писал(а):
ну надо сказать что это мое первое и единственное изделие на микроконтроллере, до этого я с ними дел вообще не имел. Поэтому код может показаться некоторым кривоватым. Но я старался делать максимально просто и доходчиво для тех кто за мной его ковырять будет. Закоментирована наверное каждая буква


Тем более РЕСПЕКТ! ;)

На чем прошивка написана?

Автор:  mail_robot [ 26 окт 2013, 15:28 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

да, если добежит. Что согласитесь возможно не всегда. А если уж добежал - пусть пользуется. С таким вариантом согласились все, поэтому чисто по ТЗ клубов и делал

Автор:  mail_robot [ 26 окт 2013, 15:29 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

Pingvin писал(а):
mail_robot писал(а):
ну надо сказать что это мое первое и единственное изделие на микроконтроллере, до этого я с ними дел вообще не имел. Поэтому код может показаться некоторым кривоватым. Но я старался делать максимально просто и доходчиво для тех кто за мной его ковырять будет. Закоментирована наверное каждая буква


Тем более РЕСПЕКТ! ;)

На чем прошивка написана?


MPLab X (C++). Вы же не думаете что я на асме бы изголялся )))

Автор:  Pingvin [ 26 окт 2013, 15:32 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

mail_robot писал(а):
Pingvin писал(а):
mail_robot писал(а):
ну надо сказать что это мое первое и единственное изделие на микроконтроллере, до этого я с ними дел вообще не имел. Поэтому код может показаться некоторым кривоватым. Но я старался делать максимально просто и доходчиво для тех кто за мной его ковырять будет. Закоментирована наверное каждая буква


Тем более РЕСПЕКТ! ;)

На чем прошивка написана?


MPLab X (C++). Вы же не думаете что я на асме бы изголялся )))


Конечно нет, но есть ещё Бейсик для пиков - Джим, вроде, им балуется.
С++ это вообще круто!

Автор:  mail_robot [ 26 окт 2013, 15:39 ]
Заголовок сообщения:  Re: Проект - умная аптечка (релиз)

ну я 5 лет C++ в институте преподавал, поэтому выбор был очевиден...

залил картинку схемки

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