USB Термометр (ATmega8, С)
В качестве микроконтроллера, был выбран ATmega8 (такие, как ATtiny8/48 не захотел использовать по причине их дискретности в некоторых городах). Цифровой термодатчик: DS18B20, у которого пределы измерения температуры от -55 до +125 градусов Цельсия. В общем вот список всего, что нужно для термометра:
1. Микроконтроллер ATmega8 (очень желательно без индекса “L” в конце).
2. Температурный датчики DS18B20, нужен без индекса PAR в конце, иначе макс. температура будет +85 град.
3. Кварц 12 МГц.
4. 2 конденсатора 22 Пф и один конденсатор по питанию (10V и не менее 100 мФ, потому что у USB на линии питания просто ужасные перепады напряжения).
5. 2 резистора 68 Ом, 1 резистор 200 Ом, 1 резистор около 2,2 – 4,7 кОм, 1 резистор 10кОм и 1 резистор 1,5кОм.
6. 2 стабилитрона 3.6V.
7. Штекер или разъем USB.
8. Светодиод.
9. Ну и печатная плата или макетка, на которой это всё будет собрано.
Схема.
Схема ОЧЕНЬ простая. Ничего сложного, на мой взгляд нету. Слева расположены все 4 контакты USB. Конденсатор С3 – это тот самый конденсатор по питанию. Стабилитроны VD1 и VD2 снижают напряжение на линии передачи данных до 3,3В. Датчик DS18B20 Можно не ставить на плату, а вывести на нужное место, вообще длина провода может быть до 100 метров, но я не советую больше 50м. Светодиод меняет свой состояние (зажигается/тухнет) при каждом запуске измерения температуры. Если он с хаотической скоростью мигает, тогда термодатчик работает нормально, если постоянно светиться или не светиться – с датчиком проблемы (неправильно подключен, нерабочий, или очень длинный провод, возле которого сильные электромагнитные помехи). Справа расположен разъем для внутрисхемного программирования микроконтроллера. После заливки прошивки Вам нужно правильно выставить фьюзы, иначе устройство не будет работать, в STK500 из AVR Studio это выглядит так:
Если вы правильно собрали устройство и правильно прошили МК, то при подключению к компьютеру через USB Windows найдет новое устройство и спросит где драйвер. Он расположен в папке windows-driver, куда Вам и надо указать путь. Когда установиться драйвер перезагрузите ПК. Потом запустите программу USBThermometer.exe. Если устройство не подключено то вместо температуры будет написано «Не подкл.» и при перетаскивании окно будет немножко «подвисать» каждую секунду потому что программа будет каждую секунду обновлять данные об подключенных устройствах пока не найдет этот термометр. Если Вы подключите устройство, то в трее выскочит сообщение «Термометр подключен», окно подвисать уже не будет, и Вы увидите такое:
Ещё, что очень удобно, есть функция «Мини-окно» и «Поверх всех окон». Я обычно устанавливаю все 2 галочки и получаться вот что:
Вся синяя область - это и есть окно программы в «мини-виде». Нравиться? Это удобно потому, что окно маленькое (96х198), постоянно поверх всех окон и не мешается при использовании других приложений. К тому же программа не отображается на панели задач, а только в трее и, наведя курсор на иконку программы, можно увидеть температуру в Цельсиях:
Ну… вот вроде и всё))). Этот термометр я проверял на нескольких стационарных ПК, ноутбуках и нетбуках под операционными системами Windows Home Edition, Windows Professional и Windows Vista. Всё работало отлично! Только вот на висте, при температуре на термодатчика ниже -9 и выше 99 град. не было видно буквы «С» (там где температура в Цельсиях), потому что я выбрал шрифт для отображения температуры «Comic Sans MS», но я не думаю что для кого то это проблема))).
Автор проекта: Бражников Михаил (devices2000 {сцобака} ya.ru)
АРХИВ:Скачать