«

»

Распечатать Запись

Экономичные игральные кости на PIC12F629

Эта поделка реализует электронную версию двух стандартных игральных костей с помощью 14 светодиодов, образующих при свечении аналог двух игральных костей и микроконтроллере PIC12F629. Как и в обычных не электронных костях, например, для игры в "нарды", выдаются два случайных и независимых значения от 1 до 6 одновременно. Расположение светодиодов стилизовано под стандартные кости.1При нажатии на кнопку, в течении 3 сек. выдается очередная комбинация, потом светодиоды гаснут до следующего нажатия кнопки. Если кнопка не нажата в течении 15 секунд, прибор переходит в спящий режим с током потребления не более 1 мкА по тестеру. При последующем нажатии на кнопку, работа устройства продолжается в обычном режиме. У прибора нет выключателя питания, он всегда готов к применению и включается сразу при нажатии кнопки. Простой расчет показывает, что при питании от трех дешевых солевых батареек, заряда хватит на 10000 "бросаний" костей (средний ток при свечении светодиодов - 15 мА). А в спящем режиме он может находиться годы...

В силу ограниченного числа выводов, применена динамическая индикация - каждая "кость" зажигается в течении 10 мс попеременно с другой. Каждая "кость" состоит из светодиодов, собранных в три группы (1, 2 и 4 светодиода), комбинацией свечения которых получаются все шесть значений. Одноименные группы соединены вместе и подключены к портам GP0 - GP2 микроконтроллера через токоограничительные резисторы R2-R4. Все светодиоды, кроме D4 и D11, включены попарно последовательно. В цепи D4, D11 (здесь не два последовательных, а один светодиод в группе) для выравнивания яркости свечения разных групп при напряжении питания 3.5 - 4.7 В, введены диоды VD1 и VD2. С той же целью сопротивление резистора R2 уменьшена в два раза (в группе две параллельных цепочки светодиодов). Объединенные катоды светодиодов, образующих каждую "кость", подключены соответственно к портам GP4 и GP5. Частота динамической индикации - 50 Гц. Кнопка S1 подключена к входу GP3, сконфигурированному как обычный вход.

Случайность выдаваемых значений обеспечивается следующим образом. Таймер TMR1 тактируется частотой 1 Мгц, а значит переполняется раз в 0.065 сек. При нажатии кнопки, фиксируется состояние таймера и оно абсолютно случайно из-за субъективного характера периодичности нажатия кнопки. Значение одной "кости" вычисляется из младшего байта таймера, а другой - из старшего.

Прибор питается от трех элементов АА, напряжением 4.5 В. Свечение светодиодов остается достаточно ярким до напряжения батареи в 3.5 В. Из-за дороговизны и дефицитности стабилизаторов с собственным потреблением в единицы микроампер, было решено применить непосредственное подключение прибора к батарее питания. Это приводит к некоторому снижению яркости в конце срока ее службы, но позволяет получить сверхнизкое потребление тока в режиме ожидания.

Прибор собран на печатной плате размерами 50мм на 60мм.http://cxem.net http://cxem.netСветодиоды применены диаметром 3 мм, так как они визуально ярче и больше похожи на точки игральных костей. VD1, VD2 типа КД521. На плате предусмотрено место для непосредственного впаивания тактовой кнопки. В случае применения выносной кнопки, она подключается к плате двумя отрезками проводов.

Исходный код написан и откомпилирован в среде MikroC. Исходный код, прошивка, проект Proteus и чертеж платы в формате LAY приведены во вложении.

P.S. Всякие моргания на видео - результат биений частот камеры и ДИ. В реале все стабильно.

Прикрепленные файлы:

cxem.net

Постоянная ссылка на это сообщение: http://meandr.org/archives/25117

Добавить комментарий