В эти выходные было немного скучно и так как я получил кучу чипов Attiny85, заказанных через интернет я решил сделать простенький проект с ними.

Орел или решка, да или нет, решение принимаемое случайным образом. Этот кубик принимает решения за вас, показав зеленый «ДА» или красный свет «НЕТ», хотя его можно запрограммировать показать и оранжевый, если сочетать оба цвета. Он сделан из дерева и имеет алюминиевую крышку, чтобы скрыть это, все части окрашены в черный цвет.

Изображение деревянного кубика к проекту Arduino - Орел или Решка на Attiny85

Орел или Решка на Attiny85. Деревянный кубик

Для изготовления вам понадобятся следующие материалы

Дерево (детский кубик (3x3x3) см).
Трехцветный светодиод с общим катодом (отрицательная ножка в середине).
Кнопка с длинным штоком.
Алюминиевая пластина. (3x3x ~ 0,1) см.
4x небольшой шурупа.
Термоплавкий клей.
Attiny85.
3В батарейка.
100, 500 и 10000 Ом резисторы.
Гнездо под чип 8pin, если планируете повторное использование чипа Attiny.
Tilt switch — ртутный переключатель (не обязательно, но рекомендуется)
Провода (желательно мягкие)

Tilt switch - ртутный переключатель

Tilt switch — ртутный переключатель

Инструмены

Миниатюрный сверлильный станок, если такового нет в наличии, можете попробывать дрель с широким сверлом по дереву (эта работа для взрослых).
Пила, если  у вас нет кубика, но есть брусок подходящих размеров.
Шкурка.

Изготовление

Рубить дрова мы здесь не будем, необходимо подготовить полость, где будет находится электронная начинка.
Для этого аккуратно высверлите полость в кубике, постарайтесь не просверлить его на сквозь.
Если все пойдет хорошо она должна выглядеть как на картинке.

Кубик с высверленной полостью

Аккуратно высверлите полость в кубике

ВАЖНО: оставить больше места на углах, где будут размещены винты для привинчивания алюминиевой пластины.

С внешней стороны просверлите два отверстия - под кнопку и светодиод

Просверлите два отверстия — под кнопку и светодиод

Если пустое пространство подготовлено, с внешней стороны просверлите два отверстия — под кнопку и светодиод.

Вообще существует два основных варианта:

а) Просверлите отверстия в древесине.
или
б) Просверлите отверстия в алюминиевой пластине.

Если у меня был шанс сделать все снова, я бы сделал отверстия в алюминиевой пластине, так как проще установка кнопки, так как из за толщины дерева необходима кнопка с длинным штоком.
Прежде чем сверлить продумайте правильность расположения дырок, переделать не удастся.

Алюминиевая крышка с просверленными отверстиями

Прежде чем сверлить продумайте правильность расположения дырок

Для того чтобы вырезать алюминиевую крышку ровно по размеру, просто приложите к ней кубик и обрисуйте  карандашом по контуру.
После обрезки обработайте края шкуркой. И роверьте подходит ли крышка по размерам. Усли все сходится, наметьте карандашом места для отверстий крепления.
Просверлите отверстия в пластине, а затем приложите пластину к кубику и наметьте карандашом места крепления, через просверленные отверстия.
Затем тонким сверлом (тоньше шурупов) просверлите четыре отверстия в кубике приблизительно на две трети длинны шурупов

Тонким сверлом (тоньше шурупов) просверлите четыре отверстия в кубики

Тонким сверлом просверлите отверстия по четырем углам

Сейчас идет электронная часть, вся информация необходимая для сборки проекта есть на картинке (схеме), показанной ниже, убедитесь, что вы все проверили и поняли.

Принципиальная схема проекта. Орел или Решка на Attiny85

Принципиальная схема: Орел или Решка на Attiny85

Назначение резистора 10k — устранения шумов (дребезга кнопки), резистор 500 Ом  используется для уменьшения потребления энергии, во время нажатия на кнопку.

Переключатель наклона (Tilt switch) весьма полезен, так как с закрытой крышкой выключить питание не получится, а при наличии этого датчика, для выключения схемы достаточно будет положить кубик на бок. Если вы не хотите, открывать и закрывать кубик для отключения питания, придется найти «ртутный переключатель» он деактивирует Attiny85, или придумать альтернативный способ. И конечно придется найти то положение при котором Tilt switch не будет мешать работе.

Электронная начинка готовая для закладки. Орел или Решка на Attiny85

Электронная начинка. Орел или Решка на Attiny85

Я сумел расположить все внутри без особых проблем, я приклеил выключатель и светодиод термоплавким клеем из пистолета Glue Gun.

Батарею прикрепил с помощью изоленты, более подходящего способа я не нашел.

Электронная начинка заложенная в деревянный кубик

Электронная начинка в деревянном кубике. Орел или Решка на Attiny85

Загрузка кода

Код необходимый этому проекту на самом деле очень прост, он использует функцию random() и micros(), а затем еще несколько функций, для включения и выключения светодиода в зависимости от случайного выбора. Вспомните, как загрузить код на Attiny85 через Arduino — необходимо перейти в меню Arduino IDE > Сервис > Программатор> Arduino us ISP и Сервис >Платы> Attiny85 1 МГц часы.

Вы можете скачать код программы здесь Randomgr.

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

Закрываем крышку и завинчиваем шурупы

Начинка вставлена во внутрь кубика. Закрываем крышку и завинчиваем шурупы

В заключении

Чтобы убедиться, что функция работает должным образом, я выполнил 80 тестовых запусков, результат такой: 44 раза красный и 36 зеленый, я считаю, что этого вполне достаточно, чтобы сказать что «перегибов» в ту или иную сторону нет (если бы он был, мне показалось бы это странным).

Как вы заметили, я раскрасил кубик черной краской (маркером)

Проект закончен. Кубик раскрашен черной краской (перманентным маркером). Орел или Решка. Arduino и Attiny85

Как вы заметили, я раскрасил кубик черной краской (перманентным маркером), это потому, что такой маленький объект, как правило, пачкается очень быстро. И еще черный цвет — подчеркнутая строгость, и таинственность. А вобще подумайте десять раз, стоит ли полагаться на случай.

Всем удачи!