Як мікроконтролера, був обраний ATmega8. Цифровий термодатчик: DS18B20, у якого межі вимірювання температури від -55 до +125 градусів Цельсія. Вобщем ось список усього, що потрібно для термометра:
- Мікроконтролер ATmega8 (дуже бажано без індексу L в кінці).
- Температурний датчики DS18B20, потрібен без індексу PAR в кінці, інакше макс. температура буде +85 град.
- Кварц 12 МГц.
- 2 конденсатора 22 пФ і один конденсатор з харчування (10V і не менше 100 мкФ, тому що у USB на лінії живлення просто жахливі перепади напруги).
- 2 резистора 68 Ом, 1 резистор 200 Ом, 1 резистор близько 2,2 4,7 кОм, 1 резистор 10кОм і 1 резистор 1,5кОм.
- 2 стабилитрона 3.6V.
- Штекер або роз'єм USB.
- Світлодіод.
- Ну і печатка або макетке, на якій це все буде зібрано.
Схема дуже проста. Зліва розташовані всі 4 контакти USB. Конденсатор С3 це той самий кондер по харчуванню. Стабілітрони VD1 і VD2 знижують напругу на лінії передачі даних до 3,3. Датчик DS18B20 Можна не ставити на плату, а вивести на потрібне місце, взагалі довжина проводу може бути до 100 метрів, але я не раджу більше 50м. Світлодіод змінює свій стан (запалюється / гасне) при кожному запуску вимірювання температури. Якщо він з хаотичної швидкістю блимає, тоді з термодатчик працює нормально, якщо постійно світитися або не світитися з датчиком проблеми (неправильно підключений, неробочий, Pілі дуже довгий провід, біля якого сильні електромагнітні перешкоди). Праворуч розташований роз'єм для внутрисхемного програмування мікроконтролера. Прошивка для нього - USBThermometerMCUUSB_thermometerdefaultmain.hex. Після заливки прошивки Вам потрібно правильно виставити фьюз, інакше пристрій не працюватиме, в STK500 з AVR Studio це виглядає так:
Якщо ви правильно зібрали пристрій і правильно прошили МК, то при підключенню до комп'ютера через USB Windows знайде новий пристрій і запитає де драйвер. Він розташований в папці USBThermometerwindows-driver. куди Вам і треба вказати шлях. Коли встановитися драйвер перезавантажте ПК. Потім запустіть програму USBThermometer.exe. Якщо пристрій не підключений то замість температури буде написано [Do Not подкл.k і при перетягуванні вікно буде трошки [подвісатьk кожну секунду тому що програма буде кожну секунду оновлювати дані про підключених пристроях поки не знайде цей термометр. Якщо Ви підключите пристрій, то в треї вискочить повідомлення [Термометр подключенk, вікно подвисать вже не буде, і Ви побачите таке:
Ще, що дуже зручно, є функція [Міні-окноk і [Поверх всіх оконk. ЯPобично встановлюю все 2 галочки і виходити ось що:
Вся сіра область це і є вікно програми в [міні-відеk (біло-синій фон з бульбашками то робочий стіл). Подобатися :). Це зручно тому, що вікно маленьке (96х198), постійно поверх всіх вікон і не заважає при використанні інших додатків. До того ж програма не відображається на панелі завдань, а тільки в треї і, навівши курсор на іконку програми, можна побачити температуру в Цельсіях:
Цей термометр я перевіряв на декількох стаціонарних ПК, ноутбуках і нетбуках під операційними системами Windows Home Edition, Windows Professional і Windows Vista. Все працювало відмінно! Тільки ось на вісті, при температурі на термодатчика нижче -9 і вище 99 град.Pне було видно букви [Сk (там де температура в Цельсіях), тому що я вибрав шрифт для відображення температури [Comic Sans MSk, але я не думаю що для кого то це проблема.
Програма, прошивка, вихідні коди, драйвер, друкована плата додаються