РадиоКот :: USB Mail Notifier
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

Теги статьи: Добавить тег

USB Mail Notifier

Автор: Bonio
Опубликовано 03.09.2012
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2012!"

Часто бывает нужно максимально быстро отреагировать на пришедшее email сообщение.
Можно несколько раз в день вручную проверять почту, в таком случае Ваш собеседник рискует прождать целый день, прежде, чем Вы ответите. Можно воспользоваться специальными программами, которые будут проверять почту через заданный интервал времени и в случае, если есть новые сообщения, сообщать об этом из трея. Но и здесь возможен вариант, что Вы пропустите сообщение, например, при просмотре фильма, или, если Вы находитесь в этот момент не за компьютером. Для того, чтобы всегда знать, есть ли новые письма и был придуман USB Mail Notifier.
     Устройство представляет собой подключаемую по USB коробочку в виде конверта, с сенсорной кнопкой наверху. Передняя сторона "конверта" начинает плавно мигать установленным цветом, если в ящике появляется новое не прочитанное сообщение. Цвет устанавливается из управляющей программы. Можно установить любой из возможных двух, а также смешивать их между собой. Сенсорной кнопкой можно запускать любую программу, например email-клиент, или же отключить её вовсе. USB Mail Notifier представляет собой HID USB устройство, поэтому драйвера ему не нужны.


Фото устройства:




     Схема устройства весьма проста, собрана на, пожалуй, самом популярном AVR микроконтроллере Atmega8.
     Поддержка usb реализована с помощью программной библиотеки V-USB. Для уверенного определения всеми компьютерами и для согласования с сигнальными линиями usb, микроконтроллер питается через 3.3v стабилизатор MCP1702. Также более уверенного соединения удалось добиться увеличением сопротивлений резисторов в D+ и D- линиях. Устройство безошибочно определяется во всех usb портах имеющихся компьютеров.
     Смешивание цветов и общая регулировка их яркости выполнена с использованием двух таймеров/счетчиков (1 и 2) микроконтроллера. Два светодиода подключены анодами к выходам OC1A и OC1B таймера 1, катодами к выходу OC2A таймера 2. Так как светодиоды подключены к ШИМам с двух сторон, частота у таймеров должна значительно отличаться. Так первый таймер генерирует ШИМ частотой 0.7kHz, второй - 47kHz. Это сделано для того, чтобы в зависимости от состояний таймеров не возникало мерцаний светодиодов и прочих непонятностей.
     Сенсорная (емкостная) кнопка выполнена с использованием двух произвольных пинов. Принцип действия её довольно простой, опишу алгоритм в двух словах. Один из пинов настраивается на вход, другой - на выход. Между входом и выходом устанавливается резистор с достаточно большим сопротивлением, в данном случае один мегаом. На выходе устанавливаем 1, и в цикле ждем появления 1 на входе, заодно инкрементируя специальную переменную. После установления 1 на входе выходим из цикла и возвращаем значение этой переменной, значение переменной будет равно количеству проходов цикла. Смысл в том, что в обычном (на нажатом) состоянии потребуется относительно небольшое количество проходов цикла до установления 1 на входе, но если дотронуться пальцем до входа, часть заряда будет стекать в наше тело, соответственно цикл отработает на порядок дольше, прежде чем на входе установится 1. Таким образом, по содержимому переменной можно судить о примерной емкости на входе, то есть, нажат сенсор или нет.


Схема:




     Управляющая программа написана на C++ в RAD Studio XE.
     Программа может через настраиваемый интервал времени подключаться к серверу для проверки количества новых сообщений. Общение с сервером может происходить по простому или по защищенному SSL соединению. Если на сервере есть новые (непрочитанные) сообщения, программа сообщает об этом устройству.
Из программы можно настроить желаемый цвет свечения, при движении ползунка цвет меняется плавно от одного к другому.
Можно указать, какую внешнюю программу надо запускать при нажатии сенсора, либо отключить данную функцию.
Все настройки программа хранит в системном реестре, пароль хранится в зашифрованном виде.
Вся информация для обмена программы с устройством умещается в двух байтах. В первом байте передается положение ползунка для установки цвета. Во втором остальная информация, а именно:
BIT0 - Есть ли новые сообщения;
BIT1 - Установка цвета (перемещение ползунка);
BIT6 - Разрешать ли устройству опрос состояния сенсора;
BIT7 - Нажатие сенсора.
     Для удобства пользования программа с dll библиотеками, необходимыми для работы с SSL, а также для преднастройки реестра, собрана в виде инсталлятора.


Скриншот управляющей программы:




Скриншот окна about:




Сборка (все фотографии кликабельны).


Корпус.



Корпус полностью самодельный, сделан из плоской крышки коробки для dvd дисков.




Детали корпуса вырезаны и склеены с помощью термоклея.






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




Передняя прозрачная сторона корпуса вырезана из прозрачного пластика коробки от ватных палочек.




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




Далее резаком этикетка аккуратно вырезается по контуру. В итоге у нас получается наклейка на переднюю панель.




Вот уже готовая передняя панелька с наклеенной этикеткой. Двухсторонний скотч очень тонкий и полностью прозрачен для света.





Схема

Схема выполнена на двухсторонней плате, сделанной методом ЛУТ.




Все детали, кроме кварца и разъема, - smd. Светодиоды яркие, можно поставить любого понравившегося цвета, у меня зеленый и теплый белый.






Сенсорная кнопка подключается вот таким разъемчиком из PBS колодки.





Окончательная сборка.

Плата вклеена в корпус двумя каплями термоклея, провод сенсорной кнопки приклеен к фольге полоской скотча.
USB кабель взят от старой вэб-камеры, разъем на кабеле заменен на более миниатюрный (зеленый).




Для лучшего рассеивания света я вырезал вот такой фильтр. Это пленочка из разбитой lcd матрицы. При некотором отдалении от объекта она как бы раздваивает изображение, в итоге засветка получается более равномерной.






Можно вклеивать переднюю панельку. Панелька приклеена термоклеем в шести точках. Конструкция получилась крепкая и устойчивая.








Для демонстрации работы программы и устройства я подготовил небольшое видео:
https://www.youtube.com/watch?v=-Qca95UveJ0
Видео тут снимается на вэб-камеру, поэтому качество не очень.
Смену цветов крупным планом, снятую на лучшую камеру, можно посмотреть тут:
https://www.youtube.com/watch?v=nu0UqRnZffU


      Ниже вы найдете последнюю версию программы USB Mail Notifier, прошивку для микроконтроллера (firmware), а так же плату в sprint layout и наклейку-конвертик в corel draw.

 


Файлы:
Firmware
USB Mail Notifier v2.1, Installer
Pcb
Sticker


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

7 0 0
2 0 1