www.open-tager.ru http://open-tager.ru/forum/ |
|
Проект - умная аптечка (релиз) http://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: Проект - умная аптечка (релиз) |
Поздравляю! С почином! Дальнейших успехов! |
Автор: | 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/ |