А какие сейчас доступные индикаторы? У меня есть сборка на 3 индикатора для динамической индикации TOT-3361, но что то я на нее даже даташита не нашел. Боюсь, если буду под нее разводить, то с другими индикаторами возникнут проблемы.
А какие сейчас доступные индикаторы? У меня есть сборка на 3 индикатора для динамической индикации TOT-3361, но что то я на нее даже даташита не нашел. Боюсь, если буду под нее разводить, то с другими индикаторами возникнут проблемы.
У меня тоже такие, достал с горевших после грозы телефонов Русь их море у людей, единственное есть разные разводки одни идут с микрухами как раза то что надо для нас уже готовое табло единственное поменять 74HC595 большинство мертвые а мож кому и повезет будут целые.
А какие сейчас доступные индикаторы? У меня есть сборка на 3 индикатора для динамической индикации TOT-3361, но что то я на нее даже даташита не нашел. Боюсь, если буду под нее разводить, то с другими индикаторами возникнут проблемы.
Дмитрий, а можно в последний Ваш регулятор просто добавить отображение влажности?
Да, уже почти все сделано. Осталось решить один вопрос. Жень, ты индикаторы на плате распаиваешь или просто проводами? Сейчас есть возможность изменить чередование сегментов. Надо ли это делать?
Вообще интересно, кто как предпочитает, индикаторы располагать на плате с мк или выносить их на отдельную плату или просто паять провода сразу на выводы?
Привет всем. Хочу вначале поблагодарить Дмитрия, Владимира, Олега за то, что помогли гуманитарию (т.е. мне) полностью разобраться с термостатом, а Дима по просьбе очень даже быстро сделал прошивку под актуатор.
Что касается индикаторов наверное лучше выполнить на отдельной плате вместе с кнопками управления, а соединение с платой МК произвести при помощи штыревых межплатных соединителей (разбирал свой КЛИМАТ-4, компактно и довольно жесткая конструкция). Есть прямые и угловые на 1, 2 ряда. Можно потом все это засунуть практически в любой корпус. Жесткая конструкция получится.
Практически от аналогичной схемы форумчане и отталкивались изначально, нужно прочитать все сообщения. Какое мнение вы хотите услышать. Схема коих в сети много. Голая схема ничего не значит сама по себе. Для проца нужно написать программное обеспечение нужное для нашего уважаемого общества.
Дима взял за основу аналогичную схему прокрутил туда прос Мега8 который он знает и самое главное написал специализированное програмное обеспечение для инкубаторов и своей схемы. На данном этапе идет дальнейшее развитие проэкта. Повторюсь так какое мнение вы хотели услышать.
Дмитрий, а можно в последний Ваш регулятор просто добавить отображение влажности?
Да, уже почти все сделано. Осталось решить один вопрос. Жень, ты индикаторы на плате распаиваешь или просто проводами? Сейчас есть возможность изменить чередование сегментов. Надо ли это делать?
Вообще интересно, кто как предпочитает, индикаторы располагать на плате с мк или выносить их на отдельную плату или просто паять провода сразу на выводы?
Привет Дим! я сделал на проводах отдельно, так что ме было все равно как расположены ноги
Дима привет.
выделил пару минут решил сделать наброски своего виденья компоновки и распиновки будущего детища. индикатор можно разделить 3х3 и выводить две температуры и влажность. кому избыточно - лишнее не впаивается. светодиоды состояния можно скомпоновать с кнопками. если на монтажке собирать и не учитывать 485 и датчик перехода через ноль, то всего 3 перемычки получается.
Привет всем!!! Вот гляжу на схему и радуюсь что идет все так как я представлял и просил, ну не 3 а 2, но и от трех я тоже не откажусь. Мне нравится я за . Единственное некатит атмега-8 Дима уже писал что не хватит памяти. Жду оканчательной схемы чтоб начать собирать и т.д. пока будет написана первая прошивка для теста.
club2713, а у меня со временем вообще туго. Наверно две недели я вообще не смогу отвечать. Решил выложить очень и очень сырую новую статью, это только наброски по модернизации версии на меге8. Там прикрепил монтажку в sprintlayout5. Хочу обратить внимание как сделаны выхода, выходная плата запитывается отдельно, Сергей может и тебе также разделить на две платы? И еще по индикации, я не стал все переводить на микросхемы 74НС595, потому что тогда надо уменьшать время вывода цифры. И надо будет проверять все ли успеет выполнится в это "уменьшенное" время.
так я и делил, только на принципиалке этого не показал.
у меня на v2 кнопки с индикацией отдельно, мозги отдельно, силовая часть отдельно.
по статье:
1. платы основной и дополнительной индикации всеже есть смысл объединить в одну. (пусть даже конструктивно)
2. порт лучше поставить полноценный (может не в этой, а в следующей версии, где памяти больше) даже при односторонней передаче, тк в случае модернизации нужно будет только поменять прошивку.
3. не вижу смысла на силовой плате насыпать рассыпухи 4х8=32шт если достаточно поставить одну ULN
так я и делил, только на принципиалке этого не показал.
у меня на v2 кнопки с индикацией отдельно, мозги отдельно, силовая часть отдельно.
по статье:
1. платы основной и дополнительной индикации всеже есть смысл объединить в одну. (пусть даже конструктивно)
2. порт лучше поставить полноценный (может не в этой, а в следующей версии, где памяти больше) даже при односторонней передаче, тк в случае модернизации нужно будет только поменять прошивку.
3. не вижу смысла на силовой плате насыпать рассыпухи 4х8=32шт если достаточно поставить одну ULN
Всем привет подскажи как планируете питать +5V_RS485. Порт у вас и так полностью полноценный одно только замечание ето то что при пропадании питания на проце из за подтяжки линии управления RS485 к +5в будет захвачена линия связи.
Приветствую zmey!
уточню. V2 - последняя версия термостата выложенная у Димы на сайте, мои замечания касались схемки в последнем топике от Димы.
питание RS485 рекомендую осуществлять либо от отдельной обмотки трансформатора, либо, как вариант, от старого ненужного зарядного от мобилки (после доводки Uвых до 5V), иначе нет смыслу в опторазвязке.
по поводу подтяжки, согласен, красивее делать подтяжку к земле. как то вот так.
club2713, а у меня со временем вообще туго. Наверно две недели я вообще не смогу отвечать. Решил выложить очень и очень сырую новую статью, это только наброски по модернизации версии на меге8. Там прикрепил монтажку в sprintlayout5. Хочу обратить внимание как сделаны выхода, выходная плата запитывается отдельно, Сергей может и тебе также разделить на две платы? И еще по индикации, я не стал все переводить на микросхемы 74НС595, потому что тогда надо уменьшать время вывода цифры. И надо будет проверять все ли успеет выполнится в это "уменьшенное" время.
Доброго дня всем.
Раз и мне задали вопрос то отвечу на все вопросы разом из нескольких постов. К примеру я решил весь блок электроники поделить на функционально законченные блоки: 1) процессорный блок; 2) блок индикаци и клавиатуры 3) блок питания 4) силовой узел (управление симистора, реле или исполнительный электромагнит). Данное решение позволяет при эксплуатации быстро заменить неисправный блок за считанные минуты или заменить на более совершенный (улучшенный или модернизированный). В качестве прикрепленного рисунка привожу мой вариант блока индикации, который можно взять на вооружение. Учитывая борьбу за выводы портов В/В у микроконтроллера я индикацию совместил с клавиатурой, где кроме основных клавиш ("Режим", "-" и "+") можно повесить до вспомогательных 5 кнопок (всего 8 или 9 кнопок на замыкание), для моих целей я оставил 3 "концевика" отвечающие положение механизма поворота. Если народ очень желает, то можно добавить "концевик" открытия дверей и датчик потока воздуха от вентилятора, но это поближе к промышленным инкубаторам. Предварительные расчеты показывают что символы надо выводить с периодом около 2мс, сама длительность вывода одного символа порядка 60...140 мкс, многое зависит как составлена программная процедура отвечающая за индикацию и сканирование клавиатуры. Файлы: afs_key_atmega.zip
В качестве прикрепленного рисунка привожу мой вариант блока индикации, который можно взять на вооружение. Учитывая борьбу за выводы портов В/В у микроконтроллера я индикацию совместил с клавиатурой, где кроме основных клавиш ("Режим", "-" и "+") можно повесить до вспомогательных 5 кнопок (всего 8 или 9 кнопок на замыкание), для моих целей я оставил 3 "концевика" отвечающие положение механизма поворота.
у Вас с SA1-SA3 не нарисована перемычка на Key_RL.
схожий вариант и я предлагал, но Дмитрий говорит, что не хватает быстродействия контроллера.
Процедуру сделать на ассемблере, более жестко распределить обязанности между основной программой и процедурами прерываний, после этого микроконтроллер "пахать" просто обязан. К примеру подобную тактику я применил еще 7 лет назад для контроллеров семейства MCS51 с кварцем 10-12МГц и ничего, тянет. При этом программный код этой процедуры обслуживания индикаторов и клавиатуры укладывается в 600...700 байт (откомпилированный код). А у АТмеги даже при кварце на 4МГц будет приличный запас по быстродействию: 4 MPS против 1 MPS (миллионов инструкций в секунду) при более низкой тактовой частоты (частота втрое ниже). Поэтому доводы, что не хватает быстродействия у АТмеги я не совсем принимаю, это указывает на недостаточное использование ресурсов контроллера со стороны программиста.
но Дмитрий говорит, что не хватает быстродействия контроллера.
Быстродействия без проблем хватит и на 10 индикаторов.
Вся программа построена как отдельные автоматы состояния. Каждое состояние любого автомата выполняется заведомо быстрей времени вывода цифры. Состояние автомата может изменится только вначале вывода новой цифры. Если уменьшать время вывода цифры, то надо убедиться выполнение "состояния" уложится в новое время. Иначе придется "длинное" состояние разбить. У меня в программе так придется сделать с автоматом 1wire. На самом деле состояния выполняются очень быстро и оновное время микроконтроллер простаивает. А в 1wire нужно соблюдать времянки. Но только на передачу одного слота, то есть это состояние можно сократить до 100uSek, ну и плюс к этому остальной код и так быстрый, так как в проге нет плавучки.
Но я по другой причине не захотел переводить индикацию на 74НС595. Когда ремонтировал АОНы насмотрелся на сгоревшие 74НС595 в платах индикации. Правда, такое бывало только после грозы. А вот убитую мегу или порт меги не видел. Многие отмечают, что меги "дубовые". Поэтому решил оставить основную индикацию на ней.
Просто, если повесить индикаторы на 74НС595ые, то они, при всех горящих сегментах работают вблизи максимальных параметров. Микросхема способна рассеять 500мВт. Максимальный продолжительный ток вывода 35 мА.
Дима, про автоматы честно скажу, не совсем понял.
а что касается ненадежности регистров - проблем то, ну и пусть себе будут сгоревшие, лишь бы мега жива была и выполняла свою работу. нужно проконтролировать - авральном режиме на порт вешаем для контролю комп, или запускаем без платки индикации, или меняем плату индикации целиком на запасную. да и контрольный термометр в шкафу тож всегда есть на худой случай.
А зачем три концевика отвечающие за положение механизма поворота? Контроль цикла?
Доброго дня всем. Три концевика в основном применяются в промышленных инкубаторах и роль третьего концевика имеет двойную функцию:
1) остановка лотков в горизонтальном положении,
2) для контроля поворота (если после подачи команды поворота в течении заданного времени не сработал концевик горизонтального положения, то это воспринимается как поломка механизма поворота)
Иными словами это одна из составных частей автоматического поворота лотков в горизонтальное положние.
В простых инкубаторах, к примеру ИПХ-10 и ИЛБ-0,5 третий концевик отсуствует и владелец сам следит за остановкой лотков при повороте лотков (все делает вручную).
но Дмитрий говорит, что не хватает быстродействия контроллера.
Быстродействия без проблем хватит и на 10 индикаторов.
Вся программа построена как отдельные автоматы состояния. Каждое состояние любого автомата выполняется заведомо быстрей времени вывода цифры. Состояние автомата может изменится только вначале вывода новой цифры. Если уменьшать время вывода цифры, то надо убедиться выполнение "состояния" уложится в новое время. Иначе придется "длинное" состояние разбить. У меня в программе так придется сделать с автоматом 1wire. На самом деле состояния выполняются очень быстро и оновное время микроконтроллер простаивает. А в 1wire нужно соблюдать времянки. Но только на передачу одного слота, то есть это состояние можно сократить до 100uSek, ну и плюс к этому остальной код и так быстрый, так как в проге нет плавучки.
Но я по другой причине не захотел переводить индикацию на 74НС595. Когда ремонтировал АОНы насмотрелся на сгоревшие 74НС595 в платах индикации. Правда, такое бывало только после грозы. А вот убитую мегу или порт меги не видел. Многие отмечают, что меги "дубовые". Поэтому решил оставить основную индикацию на ней.
Просто, если повесить индикаторы на 74НС595ые, то они, при всех горящих сегментах работают вблизи максимальных параметров. Микросхема способна рассеять 500мВт. Максимальный продолжительный ток вывода 35 мА.
С высказыванием Димы согласен по поводу 74НС595, по данным даташита его выходы маломощные по току и семисегментник перегружает регистр. В моих конструкциях я применяю КР1533ИР24 или КР1533ИР23 (с соответствующей коммутацией выводов для последовательного сдвига), за последние 16 лет они ведут себя дубово.
Применение сдвиговых регистров является платой за сокращение использованных выводов портов В/В микроконтроллера, поэтому приходиться выбирать или побольше выводов процессора для обслуживание индикаторов или применение лишних микросхем с усложнением программы обслуживания индикатором, особенно для динамического режима.
Обслуживание DS-ки я к примеру разбил на 2 части: одну часть разбросал внутри прерывания по таймеру, а вторую в отдельную процедуру в составе основной программы. Пока не все еще дошлифовано, но я к этому еще вернусь.
Можно сказать что готов этот проект. Осталось написать программу на комп. Делфи забыл, вспоминается с трудом.
Прошивки не проверенны, проверялись только в симуляторе. Времени собрать в железе нет.
Этот проект готов уже давно, но так как сам не тестировал в железе и из-за не хватки времени не выкладываю на сайте. Файлы: htm.zip
А какие сейчас доступные индикаторы? У меня есть сборка на 3 индикатора для динамической индикации TOT-3361, но что то я на нее даже даташита не нашел. Боюсь, если буду под нее разводить, то с другими индикаторами возникнут проблемы.
У меня тоже такие, достал с горевших после грозы телефонов Русь их море у людей, единственное есть разные разводки одни идут с микрухами как раза то что надо для нас уже готовое табло единственное поменять 74HC595 большинство мертвые а мож кому и повезет будут целые.
TOT-3361 доступные, я их применяю серийно. там много всяких аналоговю Есть с общим катодом и анодом. В телефоны с общим катодом ставили.
Дим, у меня GNT-8031, даташит на него я нашел, и по ногам он абсолютно аналогичен тому что у тебя нарисован. а это уже тенденция однако.
--
Привет всем. Хочу вначале поблагодарить Дмитрия, Владимира, Олега за то, что помогли гуманитарию (т.е. мне) полностью разобраться с термостатом, а Дима по просьбе очень даже быстро сделал прошивку под актуатор.
Что касается индикаторов наверное лучше выполнить на отдельной плате вместе с кнопками управления, а соединение с платой МК произвести при помощи штыревых межплатных соединителей (разбирал свой КЛИМАТ-4, компактно и довольно жесткая конструкция). Есть прямые и угловые на 1, 2 ряда. Можно потом все это засунуть практически в любой корпус. Жесткая конструкция получится.
добрый день я здесь человек новый вот нашел терморегулятор хочу спросить вашего мнения
Файлы:
ch-24901.jpg
Практически от аналогичной схемы форумчане и отталкивались изначально, нужно прочитать все сообщения. Какое мнение вы хотите услышать. Схема коих в сети много. Голая схема ничего не значит сама по себе. Для проца нужно написать программное обеспечение нужное для нашего уважаемого общества.
Дима взял за основу аналогичную схему прокрутил туда прос Мега8 который он знает и самое главное написал специализированное програмное обеспечение для инкубаторов и своей схемы. На данном этапе идет дальнейшее развитие проэкта. Повторюсь так какое мнение вы хотели услышать.
по есть готовое у них на сайте хотелось услышать стоит ли собирать этот терморегулятор
Привет Дим! я сделал на проводах отдельно, так что ме было все равно как расположены ноги
Дима привет.
выделил пару минут решил сделать наброски своего виденья компоновки и распиновки будущего детища. индикатор можно разделить 3х3 и выводить две температуры и влажность. кому избыточно - лишнее не впаивается. светодиоды состояния можно скомпоновать с кнопками. если на монтажке собирать и не учитывать 485 и датчик перехода через ноль, то всего 3 перемычки получается.
жду критики.
Файлы:
1.zip
Привет всем!!! Вот гляжу на схему и радуюсь что идет все так как я представлял и просил, ну не 3 а 2, но и от трех я тоже не откажусь. Мне нравится я за . Единственное некатит атмега-8 Дима уже писал что не хватит памяти. Жду оканчательной схемы чтоб начать собирать и т.д. пока будет написана первая прошивка для теста.
Всем привет!
club2713, а у меня со временем вообще туго. Наверно две недели я вообще не смогу отвечать. Решил выложить очень и очень сырую новую статью, это только наброски по модернизации версии на меге8. Там прикрепил монтажку в sprintlayout5. Хочу обратить внимание как сделаны выхода, выходная плата запитывается отдельно, Сергей может и тебе также разделить на две платы? И еще по индикации, я не стал все переводить на микросхемы 74НС595, потому что тогда надо уменьшать время вывода цифры. И надо будет проверять все ли успеет выполнится в это "уменьшенное" время.
Файлы:
startcd_v1.3.1.zip
так я и делил, только на принципиалке этого не показал.
у меня на v2 кнопки с индикацией отдельно, мозги отдельно, силовая часть отдельно.
по статье:
1. платы основной и дополнительной индикации всеже есть смысл объединить в одну. (пусть даже конструктивно)
2. порт лучше поставить полноценный (может не в этой, а в следующей версии, где памяти больше) даже при односторонней передаче, тк в случае модернизации нужно будет только поменять прошивку.
3. не вижу смысла на силовой плате насыпать рассыпухи 4х8=32шт если достаточно поставить одну ULN
Всем привет подскажи как планируете питать +5V_RS485. Порт у вас и так полностью полноценный одно только замечание ето то что при пропадании питания на проце из за подтяжки линии управления RS485 к +5в будет захвачена линия связи.
Приветствую zmey!
уточню. V2 - последняя версия термостата выложенная у Димы на сайте, мои замечания касались схемки в последнем топике от Димы.
питание RS485 рекомендую осуществлять либо от отдельной обмотки трансформатора, либо, как вариант, от старого ненужного зарядного от мобилки (после доводки Uвых до 5V), иначе нет смыслу в опторазвязке.
по поводу подтяжки, согласен, красивее делать подтяжку к земле. как то вот так.
Файлы:
1_0.zip
Доброго дня всем.
Раз и мне задали вопрос то отвечу на все вопросы разом из нескольких постов. К примеру я решил весь блок электроники поделить на функционально законченные блоки: 1) процессорный блок; 2) блок индикаци и клавиатуры 3) блок питания 4) силовой узел (управление симистора, реле или исполнительный электромагнит). Данное решение позволяет при эксплуатации быстро заменить неисправный блок за считанные минуты или заменить на более совершенный (улучшенный или модернизированный). В качестве прикрепленного рисунка привожу мой вариант блока индикации, который можно взять на вооружение. Учитывая борьбу за выводы портов В/В у микроконтроллера я индикацию совместил с клавиатурой, где кроме основных клавиш ("Режим", "-" и "+") можно повесить до вспомогательных 5 кнопок (всего 8 или 9 кнопок на замыкание), для моих целей я оставил 3 "концевика" отвечающие положение механизма поворота. Если народ очень желает, то можно добавить "концевик" открытия дверей и датчик потока воздуха от вентилятора, но это поближе к промышленным инкубаторам. Предварительные расчеты показывают что символы надо выводить с периодом около 2мс, сама длительность вывода одного символа порядка 60...140 мкс, многое зависит как составлена программная процедура отвечающая за индикацию и сканирование клавиатуры.
Файлы:
afs_key_atmega.zip
у Вас с SA1-SA3 не нарисована перемычка на Key_RL.
схожий вариант и я предлагал, но Дмитрий говорит, что не хватает быстродействия контроллера.
Процедуру сделать на ассемблере, более жестко распределить обязанности между основной программой и процедурами прерываний, после этого микроконтроллер "пахать" просто обязан. К примеру подобную тактику я применил еще 7 лет назад для контроллеров семейства MCS51 с кварцем 10-12МГц и ничего, тянет. При этом программный код этой процедуры обслуживания индикаторов и клавиатуры укладывается в 600...700 байт (откомпилированный код). А у АТмеги даже при кварце на 4МГц будет приличный запас по быстродействию: 4 MPS против 1 MPS (миллионов инструкций в секунду) при более низкой тактовой частоты (частота втрое ниже). Поэтому доводы, что не хватает быстродействия у АТмеги я не совсем принимаю, это указывает на недостаточное использование ресурсов контроллера со стороны программиста.
А зачем три концевика отвечающие за положение механизма поворота? Контроль цикла?
Быстродействия без проблем хватит и на 10 индикаторов.
Вся программа построена как отдельные автоматы состояния. Каждое состояние любого автомата выполняется заведомо быстрей времени вывода цифры. Состояние автомата может изменится только вначале вывода новой цифры. Если уменьшать время вывода цифры, то надо убедиться выполнение "состояния" уложится в новое время. Иначе придется "длинное" состояние разбить. У меня в программе так придется сделать с автоматом 1wire. На самом деле состояния выполняются очень быстро и оновное время микроконтроллер простаивает. А в 1wire нужно соблюдать времянки. Но только на передачу одного слота, то есть это состояние можно сократить до 100uSek, ну и плюс к этому остальной код и так быстрый, так как в проге нет плавучки.
Но я по другой причине не захотел переводить индикацию на 74НС595. Когда ремонтировал АОНы насмотрелся на сгоревшие 74НС595 в платах индикации. Правда, такое бывало только после грозы. А вот убитую мегу или порт меги не видел. Многие отмечают, что меги "дубовые". Поэтому решил оставить основную индикацию на ней.
Просто, если повесить индикаторы на 74НС595ые, то они, при всех горящих сегментах работают вблизи максимальных параметров. Микросхема способна рассеять 500мВт. Максимальный продолжительный ток вывода 35 мА.
нет. третий концевик - среднее положение лотков. в соседних ветках по механике переворота встречаются фотки. там все четко видно.
Дима, про автоматы честно скажу, не совсем понял.
а что касается ненадежности регистров - проблем то, ну и пусть себе будут сгоревшие, лишь бы мега жива была и выполняла свою работу. нужно проконтролировать - авральном режиме на порт вешаем для контролю комп, или запускаем без платки индикации, или меняем плату индикации целиком на запасную. да и контрольный термометр в шкафу тож всегда есть на худой случай.
Доброго дня всем. Три концевика в основном применяются в промышленных инкубаторах и роль третьего концевика имеет двойную функцию:
1) остановка лотков в горизонтальном положении,
2) для контроля поворота (если после подачи команды поворота в течении заданного времени не сработал концевик горизонтального положения, то это воспринимается как поломка механизма поворота)
Иными словами это одна из составных частей автоматического поворота лотков в горизонтальное положние.
В простых инкубаторах, к примеру ИПХ-10 и ИЛБ-0,5 третий концевик отсуствует и владелец сам следит за остановкой лотков при повороте лотков (все делает вручную).
С высказыванием Димы согласен по поводу 74НС595, по данным даташита его выходы маломощные по току и семисегментник перегружает регистр. В моих конструкциях я применяю КР1533ИР24 или КР1533ИР23 (с соответствующей коммутацией выводов для последовательного сдвига), за последние 16 лет они ведут себя дубово.
Применение сдвиговых регистров является платой за сокращение использованных выводов портов В/В микроконтроллера, поэтому приходиться выбирать или побольше выводов процессора для обслуживание индикаторов или применение лишних микросхем с усложнением программы обслуживания индикатором, особенно для динамического режима.
Обслуживание DS-ки я к примеру разбил на 2 части: одну часть разбросал внутри прерывания по таймеру, а вторую в отдельную процедуру в составе основной программы. Пока не все еще дошлифовано, но я к этому еще вернусь.
Апну темку. Месяц прошел со дня последнего сообщения. Как развивается проект Дмитрия? Кто-нибудь в курсе?
Да вкурсе. Дмитрий сказал, что к осени тока начнет.
Можно сказать что готов этот проект. Осталось написать программу на комп. Делфи забыл, вспоминается с трудом.
Прошивки не проверенны, проверялись только в симуляторе. Времени собрать в железе нет.
Этот проект готов уже давно, но так как сам не тестировал в железе и из-за не хватки времени не выкладываю на сайте.
Файлы:
htm.zip
Не знаю насколько оправдано изобретение "велосипеда", но вот промышленно выпускаются вот такие "игрушки":
http://www.owen.ru/catalog/84647893