Электро

Реклама

Простой цифровой термометр своими руками.

О том как сделать цифровой термометр.

Простой цифровой термометр с подключением через COM-порт.



Для сборки данного девайса понадобятся следующие компоненты:
1) Термодатчик DALLAS DS1820 — самая главная часть всей схемы, датчиков можно прицепить несколько параллельно. По описанию каждый сенсор имеет собственный 64 битный ID, что позволяет использовать одновременно 100 сенсоров на шине, длиной 300 м, проверить не довелось, но два датчика на шине длиной 5 метров успешно работают.
2) Стабилитроны на 3.9V, 6.2V, 5.6V, самой минимальной мощности — они компактнее.
3) Диод Шоттки, использовал 1N5818 в количестве 2шт.
4) Диод 1N4148 — 1шт.
5) Резистор 1,5кОм, 0,25Вт — 1шт.
6) Конденсатор 10мкФ, 16V — 1шт.
7) 9-контактный разъем COM-порта, тип — мама.
8) Корпус для разъема.
9) Паяльник, припой, и прямые руки :)

Компоненты необходимо собрать по следующей схеме:

 

 

Для людей не подкованных в электронике стоит отметить что на всех диодах/стабилитронах полоска на корпусе обозначает катод. Из следующей картинки можно понять как необходимо монтировать детали.



На корпусе конденсатора есть пометка полярности — не ошибетесь, резистор полярности не имеет, паяем как хотим.
Выводы датчика расположены следующим образом:

 

Монтаж можно вести прямо на разъеме, при некоторой сноровке, достаточно плотный монтаж можно уместить в корпусе разъема, что несомненно удобно и практично.


 

 Подключать несколько датчиков нужно параллельно, в итоге получается примерно вот такая штуковина

 


Датчик на конце можно залить эпоксидкой и ему не будут страшны условия за окном.

Термометр готов, и что особенно приятно, все работает без какой либо калибровки сенсоров.
Для считывания показаний термометра потребуется программа digitemp, она есть в репозитариях популярных дистрибутивов Linux, установить сложности не составит. Также у нее есть официальный сайт.
Для пользователей Gentoo стоит отметить что для данной схемы необходимо собрать пакет с опцией USE="ds9097" emerge digitemp

Далее запускаем инициализацию программы командой digitemp_DS9097 -i -s /dev/ttyS0
На выводе видим следующее:
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - www.digitemp.com
Turning off all DS2409 Couplers
..
Searching the 1-Wire LAN
10E89CA3000800B2 : DS1820/DS18S20/DS1920 Temperature Sensor
10C162A300080096 : DS1820/DS18S20/DS1920 Temperature Sensor
ROM #0 : 10E89CA3000800B2
ROM #1 : 10C162A300080096
Wrote .digitemprc

Программа нашла два датчика, значит устройство работает верно.

Теперь можно считать информацию со всех датчиков командой digitemp_DS9097 -a -s /dev/ttyS0
Получаем следующие данные:
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - www.digitemp.com
Mar 28 18:29:00 Sensor 0 C: 6.38 F: 43.47
Mar 28 18:29:01 Sensor 1 C: 26.50 F: 79.70

Для удобства интеграции в систему мониторинга можно использовать следующий вариант:
/usr/bin/digitemp_DS9097 -c /root/.digitemprc -t 0 -s /dev/ttyS0 -q -o "%.2C"
Считывает показания нулевого сенсора и без лишней мишуры выводит сухие цифры, для считывания других датчиков можно менять параметр -t.

Устройство было подключено к серверу, где уже давно его ждала система мониторинга cacti, теперь можно наблюдать такие интересные графики:

Видно когда в комнате было открыто окно и как медленно под вечер опускается температура на улице. =)

Устройство делалось исключительно ради интереса, но оно может принести и практическую пользу, у меня в комнате появился термометр и теперь одеваясь с утра на работу не нужно идти на кухню для того, чтобы посмотреть сколько градусов за окном.

В планах написать апплет для панельки gnome, который будет брать информацию с сервера и выводить на панель текущую температуру.

информация по теме:  

www.lax.priv.at/digitemp/  

www.kusto.com.ru/temperature/
 



Оценить статью:(203)+-
© Интернет журнал Hobby-Live издается в сети интернет с 2007 года | Политика конфиденциальности | Обмен ссылками | Реклама