USB Mail Notifier
Автор: Bonio Можно несколько раз в день вручную проверять почту, в таком случае Ваш собеседник рискует прождать целый день, прежде, чем Вы ответите. Можно воспользоваться специальными программами, которые будут проверять почту через заданный интервал времени и в случае, если есть новые сообщения, сообщать об этом из трея. Но и здесь возможен вариант, что Вы пропустите сообщение, например, при просмотре фильма, или, если Вы находитесь в этот момент не за компьютером. Для того, чтобы всегда знать, есть ли новые письма и был придуман 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: Сборка (все фотографии кликабельны).
Ниже вы найдете последнюю версию программы USB Mail Notifier, прошивку для микроконтроллера (firmware), а так же плату в sprint layout и наклейку-конвертик в corel draw.
Файлы: Все вопросы в Форум.
|
|
|||||||||||||||
|
||||