В качестве микроконтроллера, был выбран ATmega8. Цифровой термодатчик: DS18B20, у которого пределы измерения температуры от -55 до +125 градусов Цельсия. Вобщем вот список всего, что нужно для термометра:
Схема устройства:

Схема очень простая. Слева расположены все 4 контакты USB. Конденсатор С3 – это тот самый кондер по питанию. Стабилитроны VD1 и VD2 снижают напряжение на линии передачи данных до 3,3В. Датчик DS18B20 Можно не ставить на плату, а вывести на нужное место, вообще длина провода может быть до 100 метров, но я не советую больше 50м. Светодиод меняет свой состояние(зажигается/тухнет) при каждом запуске измерения температуры. Если он с хаотической скоростью мигает, тогда с термодатчик работает нормально, если постоянно светиться или не светиться – с датчиком проблемы (неправильно подключен, нерабочий, или очень длинный провод, возле которого сильные электромагнитные помехи). Справа расположен разъем для внутрисхемного программирования микроконтроллера. Прошивка для него - USBThermometer\MCU\USB_thermometer\default\main.hex. После заливки прошивки Вам нужно правильно выставить фьюзы, иначе устройство не будет работать, в STK500 из AVR Studio это выглядит так:

Если вы правильно собрали устройство и правильно прошили МК, то при подключению к компу через USB Windows найдет новое устройство и спросит где драйвер. Он расположен в папке USBThermometer\windows-driver\, куда Вам и надо указать путь. Когда установиться драйвер перезагрузите ПК. Потом запустите программу USBThermometer.exe. Если устройство не подключено то вместо температуры будет написано «Не подкл.» и при перетаскивании окно будет немножко «подвисать» каждую секунду потому что программа будет каждую секунду обновлять данные об подключенных устройствах пока не найдет этот термометр. Если Вы подключите устройство, то в трее выскочит сообщение «Термометр подключен», окно подвисать уже не будет, и Вы увидите такое:

Ещё, что очень удобно, есть функция «Мини-окно» и «Поверх всех окон». Я обычно устанавливаю все 2 галочки и получаться вот что:

Вся серая область это и есть окно программы в «мини-виде» (бело-синий фон с бульбашками – то рабочий стол). Нравиться :) ?. Это удобно потому, что окно маленькое (96х198), постоянно поверх всех окон и не мешается при использовании других приложений. К тому же программа не отображается на панели задач, а только в трее и, наведя курсор на иконку программы, можно увидеть температуру в Цельсиях:

Этот термометр я проверял на нескольких стационарных ПК, ноутбуках и нетбуках под операционными системами Windows Home Edition, Windows Professional и Windows Vista. Всё работало отлично! Только вот на висте, при температуре на термодатчика ниже -9 и выше 99 град. не было видно буквы «С» (там где температура в Цельсиях), потому что я выбрал шрифт для отображения температуры «Comic Sans MS», но я не думаю что для кого то это проблема.
Программа, прошивка, исходники, драйвер, печатная плата: Скачать (500 кБайт)
P.S. Если у Вас нет программатора и Вам нужен уже прошитый микроконтроллер или Вы хотите купить уже готовый термометр, то обращайтесь ко мне на e-mail: devices2000 {сцобака} ya.ru
Так же я принимаю заказы на разработку и изготовление устройств на микроконтроллерах, за этим обращаться на тот же имейл.
Автор проекта: Бражников Михаил (devices2000 {сцобака} ya.ru)
Вопросы можно задать на форуме по микроконтроллерам
|
Жазира 2012-05-05 22:36:12 Схему собрала, прошила микроконтроллер, не работает. Комп не видит вообще... не могу понять почему. Я новичок, может что-то не так сделала? [Ответить] [Ответить с цитатой] |
|
oleg 2012-03-03 02:31:57 Собрал. Работает отлично! Вот только драйвера на windows 7 x64 не стали, а на ХР нормально. [Ответить] [Ответить с цитатой] |
|
andrej 2011-09-26 08:09:03 А на STM8 можно это реализовать? [Ответить] [Ответить с цитатой] |
Пришли свой проект и получи от 100 до 700 руб гонорара за него
Участвуй в новом конкурсе для радиолюбителей с 3 призами: цифровой осциллограф, USB-осциллограф и мультиметр