Прикольные маленькие сувенирчики

Что скрывать, все мы любим получить и делать различные подарки и сувениры. Особенно хорошо удаются неожиданные презенты и знаки внимания оказываемые без повода. И уж тем более памятными становятся те, что сделаны своими руками.

Об одном из таких подарков, изображенным на фото, и будет рассказ.

сувенир своими руками

В основе этой затеи лежит идея сделать образ танцующей пары из светодиодов и резисторов. Но идея была бы не столь интересной если бы танцующие человечки не мигали азбукой Морзе заданные фразы, если бы это мигание не было бы видно только через камеру вашего мобильного телефона а не простым, невооруженным взглядом, и если бы они символично не перемигивались только крепко держась за руки.

Начнем со схемы:

Схема

Где К1 — ключ лишь «виртуальный», роль которого выполняют руки — либо они друг за друга держатся и цепь не разомкнута, либо — нет. VD1 и VD2 — самые обыкновенные ИК светодиоды, те самые что работают в пультах от ваших телевизоров. Именно их свечение не видно невооруженному глазу но очень хорошо заметно через камеру вашего мобильного телефона. Вместо них можно использовать обычные, скажем, красные светодиоды, но при этом теряется тот самый эффект неожиданности и удивления во время презентации этих чудны́х танцующих человечков.

На схеме хоть и присутствует множество резисторов, но критичных для работы всего три: R1 = R2 = 51 Ом и R3 = 10 кОм. Все остальные должны быть нулевого сопротивления или накоротко замкнуты. Емкость C1 = 0.1 мкФ.

Что же касается передачи сообщений азбукой Морзе, то тут без микроконтроллера (Atmel ATtiny13A) не обойтись. Именно он будет выдавать серии «точек» и «тире» на наши светодиоды. Для этого в программе сообщения хранятся в виде подготовленных массивов чисел, где каждый бит числа указывает на то, будет ли светиться заданный светодиод или нет. Для подготовки этих массивов был написана простенькая консольная программка принимающая на стандартный вход строку из закодированного азбукой Морзе сообщения в виде точек и тире и возвращающая массив чисел обратно в консоль.

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

Сама же прошивка микроконтроллера довольна проста и тривиальна. Приведу лишь ключевую функцию обработчика прерываний от таймера:

ISR(TIM0_COMPA_vect) { static uint8_t tmp; if (!(PINB & _BV(HANDS))) // если руки замкнуты { if (hands_flag < 3) // фильтр от случайных замыканий hands_flag++; else { tmp = pgm_read_byte(&(str1[p1/8])); // читаем байт из pgm памяти if (tmp & _BV(p1 % 8)) // проверяем нужный нам бит led_on(LED1); else led_off(LED1); if(++p1 >= (str1_len * 8)) p1 = 0; tmp = pgm_read_byte(&(str2[p2/8])); if (tmp & _BV(p2 % 8)) led_on(LED2); else led_off(LED2); if(++p2 >= (str2_len * 8)) p2 = 0; } } else // если руки разомкнуты { hands_flag = 0; p1 = p2 = 0; led_off(LED1); led_off(LED2); } }

Где p1 и p2 — счетчики отображаемых в данный момент бит в наших сообщениях.

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

А теперь несколько фото готового сувенира:

сувенир своими руками

А еще, в качестве «охранников» можно использовать вот этих милашек из микросхем К155ЛА3 :)

Церберы

Ну или просто поражаться смелости альпинистов, карабкающихся изо всех сил на системник:

Альпинисны

Спасибо за внимание!

Источник тут.

Ну и на последок ;)

Запись опубликована в рубрике Главные Новости. Добавьте в закладки постоянную ссылку.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *