RSS блога
Подписка
Кубико-генератор
- Цена: 53,23р.
- Перейти в магазин
Недавно снова ударился в настольные игры, но столкнулся с такой проблемой, что маленькие кубики из лап больших дядек норовят улететь куда угодно помимо стола. Поэтому родилась идея сделать электронный вариант, но в классическом «семидырочном» исполнении.
Сделать решено было 2 кубика параллельно (чего уж размениваться?). Чтобы «дрыгать» 14-ю светодиодами, использовал 74HC595. За мозги взял ATtiny13A, его возможностей хватит за глаза. Светодиоды использовал недавно полученные прозрачные красные, они имеют яркое направленное свечение.
Схему накидал на листочке, потом перенес в старый добрый Sprint-Layout
Далее классика: ФЛУТ, лужение «жидким оловом» от Rexant (очень уж удобно), пайка, цапон-лак в 3 слоя.
Для прошивки Тиньки были выведены пины вокруг неё. Далее подключил UNO как программатор, запустил Arduino IDE и стал осваивать программную часть.
Прошивка получилась коротенькая, без использования индусского shiftOut занимает всего 50% от 1К памяти. Разумеется используется псевдо-рандом, берущий значения от тактов МК, но для генерации случайного числа этого вполне достаточно. При прошивке, сразу после компиляции, надо на UNO нажимать reset, иначе выдается ошибка.
Переключатель оказался пока никак не задействован (планировал сделать 1d6/2d6), возможно в будущем придумаю какую-нибудь функцию и для него, как и еще для одной свободной ноги.
Собрал всё в любимой мной распаячной коробке, размер подошел отлично, даже не пришлось плату крепить на стойки (зажимается и держится коробочным саморезом). В корпусе тоже не стал делать отверстий, через него диоды смотрятся гораздо лучше и кнопка срабатывает нажатием на корпус. С автономным питанием не стал заморачиваться, вывел mini-USB, а дальше хош — от розетки, хош — от банки силы.
Кнопку в будущем можно повесить сенсорную, однако тут переделывать уже смысла не было.
Вот как это выглядит (получилось размыто, но суть понятна):
В планах перевести проект на SMD, тиньку в SOP8-корпусе. Не знаю как всё это буду паять, но всё уже заказано :) А вместо кучи резисторов использовать 9-пиновую DIP-«гребенку».
Сделать решено было 2 кубика параллельно (чего уж размениваться?). Чтобы «дрыгать» 14-ю светодиодами, использовал 74HC595. За мозги взял ATtiny13A, его возможностей хватит за глаза. Светодиоды использовал недавно полученные прозрачные красные, они имеют яркое направленное свечение.
Схему накидал на листочке, потом перенес в старый добрый Sprint-Layout
Дополнительная информация
Далее классика: ФЛУТ, лужение «жидким оловом» от Rexant (очень уж удобно), пайка, цапон-лак в 3 слоя.
Для прошивки Тиньки были выведены пины вокруг неё. Далее подключил UNO как программатор, запустил Arduino IDE и стал осваивать программную часть.
Прошивка получилась коротенькая, без использования индусского shiftOut занимает всего 50% от 1К памяти. Разумеется используется псевдо-рандом, берущий значения от тактов МК, но для генерации случайного числа этого вполне достаточно. При прошивке, сразу после компиляции, надо на UNO нажимать reset, иначе выдается ошибка.
Переключатель оказался пока никак не задействован (планировал сделать 1d6/2d6), возможно в будущем придумаю какую-нибудь функцию и для него, как и еще для одной свободной ноги.
Собрал всё в любимой мной распаячной коробке, размер подошел отлично, даже не пришлось плату крепить на стойки (зажимается и держится коробочным саморезом). В корпусе тоже не стал делать отверстий, через него диоды смотрятся гораздо лучше и кнопка срабатывает нажатием на корпус. С автономным питанием не стал заморачиваться, вывел mini-USB, а дальше хош — от розетки, хош — от банки силы.
Кнопку в будущем можно повесить сенсорную, однако тут переделывать уже смысла не было.
Вот как это выглядит (получилось размыто, но суть понятна):
В планах перевести проект на SMD, тиньку в SOP8-корпусе. Не знаю как всё это буду паять, но всё уже заказано :) А вместо кучи резисторов использовать 9-пиновую DIP-«гребенку».
Самые обсуждаемые обзоры
+78 |
4193
149
|
+60 |
4361
74
|
Такая штука, например, не дает жульничать.
там просто 2 значения, одно монотонно возрастает в своём диапазоне, другое монотонно уменьшается исходя из того предыдущего значения. но второе значение при этом, уменьшается на величину разности константы и первого значения.
т.е. некоторые комбинации будут невозможны впринципе.
например если первая чиселка будет 4, то и вторая будет тоже 4. всегда.
такой вот у него генератор «случайности»
от копеечности МК никак не зависит.
Дарю идею бесплатно. Собираем на ардуине роботизированную руку, которая будет 1...N кубиков собирать с поля и бросать обратно по команде. Поставить камеру 4к чтоб транслировала происходящее в приложение по подписке. Вуаля. И тру-рандом и современно и не дорого :)
Полный возврат оплаты в течении часа после прибытия почты.
jsspeccy.zxdemo.org/
viva-games.ru/
Достаточно было бы платы, 14 светодиодов и 7 резисторов, да одной кнопки управления.
На таких крохах интереснее писать на ассемблере. Добью код — опубликую свой проект.
Если это nano — там ATMEGA328 стоит — у нее 23 линии :)
Но в целом согласен — если есть навалом определённая элементная база — грех ей не воспользоваться.
upd: наврал — тридцатью. Пяти ног достаточно на 20 диодов.
А зачем все это надо было городить с дешифраторами, а просто не взять проц с бОльшим числом IO?
Про PIC не скажу — но наверняка в линейке есть что-то типа ATMEGA328, у которой 23 линии IO.
При этом по цене будет точно сравнимо.
Я уж молчу про чарлиплексинг, там и в 8 линий можно будет уложить.
Всяко лучше, чем обвешаться дешифраторами, так можно и до логики дойти и все на ней скидать.
А если сделать чарлиплексинг и динамическую индикацию — можно очень все компактно сделать и с минимальными размерами / пайкой.
Программный ШИМ или массив 1206
Пусть китайцы завидуют.
Если шо — я тока печатку осилю.
а справа обрезано, наверно клавиатура?
а можно полную версию и вообще сцылочку на проект?
у нас в детстве вот такая была игра. «кубикогенератор» просто бегущий огонь на ТТЛ и зачем-то с регулируемой скоростью. 1987 год, Ленинград — а там всё ещё лампы накаливания. Буквально вчера внедрил 2x18650+TP4056, т.к. племянница маленькая добралась до этой коробки
Но я купил рулетку.
медведямитурками.тем, кто раздумывает чем и как проинициализировать псевдослучайную последовательность, то сходу 2 железобетонных варианта.
1) измерять время между дребезгами кнопки через прерывания
2) SRAM при первоначальном включении содержит случайные значения. но тут нужно хорошо знать яп и что происходит с памятью во время работы (т.е. архитектуру и все побочные эффекты до точки входа в программу).
вариант с adc тут неподходит, т.к. все пины заняты.
накидал на скорую руку аналог python, глянул что там выдается.
оказалось, что итоговая последовательность имеет период всего 12 пар, т.е. всего 12 пар существует, дальше они повторяются.
и что самое интересное, во вторая чиселка принципиально не имеет значений 1 и 4. (т.е. там даже значений меньше, чем должно быть)
возможных уникальных пар значений должно быть 36 (как известно из комбинаторики), а тут всего 12.
измерять распреденение и прочие статистические параметры не стал, тут итак всё ясно.
т.е. одному значению первой чиселки сответствует лишь две вариации значений второй.
период последовательности должен быть существенного много больше вариаций значений.
2. Я бы «второй кубик» сделал на светодиодах другого цвета, для наглядности.
Распределение случайной величины какое? «Действительно случайное»?
Но, натолкнуло на мысль, что можно сделать электронный кубик, на котором все 6 сторон будут задействованы по 7 светодиодов с каждой (Итого 42 светодиода, максимальное кол-во одновременно включенных 36 или 30 если добавить какой нибудь датчик положения), и чтоб сильно его не кидать (как бывает что улетает куда-то далеко) достаточно легонько подрбросить даже без кручения (внутри пружинка замыкающая контакт как в китайских шариках-игрушках-попрыгушках).
Тем самым получим и кубик и кидать сильно не нужно и со всех сторон видно выпавшее число.
https://aliexpress.ru/item/item/33027926700.html