Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

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

Эта поделка реализует электронную версию двух стандартных игральных костей с помощью 14 светодиодов, образующих при свечении аналог двух игральных костей и микроконтроллере PIC12F629. Как и в обычных не электронных костях, например, для игры в "нарды", выдаются два случайных и независимых значения от 1 до 6 одновременно. Расположение светодиодов стилизовано под стандартные кости.

При нажатии на кнопку, в течении 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мм.

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

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

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

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
DD1 МК PIC 8-бит
PIC12F629
1 Поиск в магазине ОтронВ блокнот
VD1, VD2 Диод
КД521Д
2 КД522Поиск в магазине ОтронВ блокнот
D1-D14 СветодиодКрасный 3мм14 Поиск в магазине ОтронВ блокнот
R1 Резистор
10 кОм
1 0.125ВтПоиск в магазине ОтронВ блокнот
R2 Резистор
100 Ом
1 Поиск в магазине ОтронВ блокнот
R3 Резистор
200 Ом
1 Поиск в магазине ОтронВ блокнот
R4 Резистор
220 Ом
1 Поиск в магазине ОтронВ блокнот
C1 Электролитический конденсатор47мкФ 10В1 Поиск в магазине ОтронВ блокнот
S1 КнопкаKAN-06111 Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

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

Теги:

Опубликована: 0 0
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 1 чел.

Комментарии (10) | Я собрал (0) | Подписаться

0
RGB #
Понравился подход реализации RND - довольно классно.
Ответить
0

[Автор]
arhimed #
Спасибо. Правда, при получении из случайного числа от 0 до 255 искомого числа от 1 до 6 ((X%6)+1) возникает такой нюанс, что 5 и 6 выпадают примерно на 2.5% реже, чем остальные числа (на 42 выпадания 5 и 6 , остальные числа выпадут в среднем 43 раза). Но все равно, я думаю, такой метод гораздо лучше чем псевдослучайная последовательность.
Отредактирован 01.03.2015 13:46
Ответить
0
Андрей #
Схему собрал, автору спасибо... Платку под один кубик нарисовал попробую как оно
Ответить
0
Константин #
При первом нажатии на одном "кубике" всегда высвечивается единица, на втором числа случайные. Потом на нём выпадают разные цифры. Но если прошло 15 сек то при нажатии на кнопку на этом кубике опять единица. Можно ли это исправить в прошивке (сделать время засыпания более 15 сек). Например 5 минут. Самому сделать прошивку в микро Си по исходнику не получилось (не хватает данных, которые надо ввести в пункте Edit Project).
Прикрепленный файл: Настройки проекта.png
Ответить
0

[Автор]
arhimed #
Вот. Все исправил. Не случайних значений нет и засыпает через 10 мин. Бонус - проверка светодиодов при первом включении пока нажата кнопка.
Прикрепленный файл: ZARIK_pic629.rar
Ответить
0
Константин #
Спасибо! Свечение светодиодов вполне устраивает. Я применяю АЛ307 красного свечения. Залил новую прошивку. Тестирую. Пока не пойму: хорошо это или плохо: засвечивание всех светодиодов при первом запуске. А если засвечивание убрать, то опять при первом запуске (или после 10 минут простоя) будут проблемы со "случайностью"?
Ответить
0

[Автор]
arhimed #
Нет. Проблем не будет. Просто счел это полезным. Вы можете эту часть кода ( при этом цикл ожидания отжатия кнопки будет пустым) просто удалить. Если нажать "edit progect" в ранее приложенном проекте до каких-то изменений, все настройки должны быть правильные. Удачи!
Ответить
0

[Автор]
arhimed #
Для более равномерного свечения vd1, vd2 лучше заменить одним светодиодом такого же типа, что и остальные, но покрытым черной краской.
Отредактирован 08.01.2017 11:07
Ответить
0
Павел #
Господа, а есть у кого-нибудь схема или плата под 3 "кубика". Был бы очень благодарен
Ответить
0
Артур #
Спасибо, очень хорошая работа. Собрал такой кубик. Хотелось бы чтобы индикация числа была не три секунды, а пять. А так всё отлично работает.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
FM-модуль RDA5807M Бокс для хранения компонентов
вверх