Супер кнопка для Манчкина

Добавил: arxain 7-04-2011, 01:19 Просмотров: 5062
Категория: Электронные самоделки, Электронные игрушки своими руками
2
Многие знают или, по крайней мере, слышали про настольную игру Манчкин
В этой игре есть такое правило:

«Когда вы убиваете или иначе одолеваете монстра, дайте соперникам приемлемое время (около 2,6 секунды), чтобы они могли высказаться.»

Иногда очень хочется эти самые 2,6 секунды замерить, особенно когда кто-нибудь долго думает, читает карты, не может решить что делать. В таких случаях мы просто считали вслух до трех, на цифре «три» бой заканчивался.
Хотелось сделать какую-нибудь кнопку и таймер, чтобы не считать вслух.

Делая заказ на сайте www.sparkfun.com наткнулся на такую кнопку:

Супер кнопка для Манчкина


Можно сказать, что кнопка в масштабе 1:1, она диаметром почти 10 см.
Таймер и пищалку решил делать на attiny85 (собственно ничего другого и не было).

Для подсветки кнопки разобрал «фонарик» (пришедший бонусом к другому заказу с DX)

Я в схемотехнике не очень силен, поэтому буду особо рад комментариям по поводу схемы:

Супер кнопка для Манчкина


Транзисторы выдраны с мертвой матплаты: на них написано 1AM, это MBT3904LT1
Программатор использовал этот:

Супер кнопка для Манчкина


В качестве пищалки подключен мелкий спикер от компа:

Супер кнопка для Манчкина


При включении питания или нажатии на кнопку (а это reset), зажигается светодиод, каждую секунду делается короткий «бип», по истечении времени (2,6 секунды) светодиод гаснет и дается продолжительный финальный «бииип». Затем процессор переводится в спячку.
Программа получилась просто минималистичная.


#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/sleep.h>

int main(void)
{
    DDRB |= 0x1a;
    PORTB = 0x18;
    
    SoundOn();
    _delay_ms(50);
    SoundOff();
    _delay_ms(950);

    SoundOn();
    _delay_ms(50);
    SoundOff();
    _delay_ms(950);

    SoundOn();
    _delay_ms(50);
    SoundOff();
    _delay_ms(550);

    SoundOn();
    PORTB = 0x00;
    _delay_ms(700);

    SoundOff();

    PORTB = 0;
    DDRB = 0;
    sleep_cpu();
}

void SoundOn()
{
    TCCR0A = (1 << COM0B0) | (1 << WGM01);
    TCCR0B = (1 << CS01);
    OCR0A=0x60;
    TCNT0=0x00;
    OCR0B=0x00;
}

void SoundOff()
{
    TCCR0A = 0;
    TCCR0B = 0;
}



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

В качестве источника питания 1 литиевый аккумулятор, у меня валялся 18500. Он, к сожалению, не protected, поэтому придется за ним иногда поглядывать. Лучше конечно взять что-то типа 18650 protected

Логика работы простая: включили светодиод, пропищали, перевели проц в спячку. В спячке проц почти ничего не потребляет, поэтому выключатель питания не нужен. Т.е. аккум можно не трогать несколько месяцев.

В качестве корпуса использован шпиндель на 25 болванок.
В начале прозрачный колпак покрасил краской и наклеил бумажку:

Супер кнопка для Манчкина


На следующий день наклейка слезла вместе с краской. Поэтому колпак был перекрашен, наклейку повторно не лепили.

Итоговый результат выглядит так:

Супер кнопка для Манчкина


С кнопкой играется примерно так:
тот кто в бою говорит что-то типа: «я его побеждаю 18 против 10». Если начинаются споры, то нажимает кнопку, после финального «бип» карты не принимаются.

Супер кнопка для Манчкина


Источник: habrahabr.ru
(3) голосов

Похожие новости

Комментарии пользователей

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
  • Лето на дворе! Хватит сидеть перед мониторами! Единственное, что нельзя найти - потерянного времени.
    Вы как хотите, а я на пляжжжж!!!
  • В жизни бы не догадался трехсекундный таймер собирать на контроллере. Не пробовал в качестве мозгов кнопки имользовать шестиядерный ПК? Очень способствует, говорят.

Оставить комментарий


Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера

Категории
Реклама
  • Популярное
  • Новое
  • Теги
Реклама