Пользователь
0,0
рейтинг
28 марта 2009 в 20:33

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

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

Простой цифровой термометр с подключением через 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) Паяльник, припой, и прямые руки =)

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


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

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

Посмотреть на Яндекс.Фотках


Посмотреть на Яндекс.Фотках

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

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

Термометр готов, и что особенно приятно, все работает без какой либо калибровки сенсоров.
Для считывания показаний термометра потребуется программа 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, который будет брать информацию с сервера и выводить на панель текущую температуру.
GloooM @GloooM
карма
44,4
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (148)

  • +19
    Да ты просто монстр!
  • +28
    Теперь гесметео меня не обманет =)
    • 0
      Продай! :)
      • 0
        Чего продавать то? На коленке паяется. Такой датчик можно купить в любом магазине радиодеталей :) Можно и автономные девайсы делать. Я вот делал на микроконтроллере (пик 628й).

        Главное руки прямые иметь, а остальное дело техники :)
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            Какую схему-то? Я ее на клочке бумажки рисовал и на коленке паял
  • +7
    Очень актуально подобное решение для мониторинга температуры у ребенка. До 38 сбивать нельзя а после 39 необходимо.
    В итоге всю ночь мучаешь его меряя температуру каждые 25-30 минут.
    Как ни странно у производителей подобные решения отсутствуют, по крайней мере я их не нашел.
    • 0
      Учитывая что сенсоры достаточно точные, то и правда вариант применения.
      На сервере стоит еще zabbix, можно заставить рассылать смски с температурой каждые несколько минут, или при превышении порога.
      • 0
        омг, вот это по-моему лишнее.
      • 0
        Сколько денег то уйдёт…
        • +1
          10 минут на написание и отладку скрипта и мой zabbix вот уже полгода бесплатно шлет мне смски в случае аварии на серверах. Email-to-sms у МТС надо сказать отлично работает =)
          • 0
            Хм Email-to-sms… А другие операторы?
          • 0
            А мне и заббикс не нужен. Написал простенький PHP-скриптик который таким же образо мне SMS-ки шлет если не пропинговался до хоста =)
            • 0
              А у меня на perl+exim4+mutt
              еще некоторые дампы на гуглопочту приходят =)
              • 0
                Вообще идей для мониторилки много =)
                Будет время — напишу к нему статистику и админку.
                А потом можно будет и публичный сервис сделать =)
          • 0
            А не подскажешь, какой Email to SMS гейт у МТС?
        • 0
          ради своего ребенка и не такое сделаешь!
      • 0
        Как можно при превышение порога температуры выключить сервер
    • +4
      Пожалейте ребенка, не пичкайте его электронными датчиками с проводами :-)
      • +3
        Лучше антибиотиками?
        • 0
          Это тоже не выход, но и киборгизация также не решение :-)

          // К слову, лекарства мне не помогают. В детстве меня какими лекарствами только не кормили, результат был один. Сейчас лечусь только компрессами и припарками, а также соблюдением диеты. Вы знаете, даже хронические болезни стали вылечиваться :-)
          • +1
            То есть цифровой термометр тоже зло? Я не совсем понимаю что значит киборгизация.
            • 0
              Не воспринимайте все так серьезно :-) Киборгизация — это внедрение в человека электронных и механических частей.
              • 0
                Об этом речи не идет. Речь идет о диагностической аппаратуре.
                На подобии градусника, тонометра, только более удобной и функциональной в бытовом применении.
    • +9
      Вы бы ещё так ректально температуру ребёнку меряли, уже представляю дитя, поключённое к компорту! Киборги вокруг!!!
      • 0
        Правда com порт это уже как-то не универсально, нужно переделать на usb =)
        • +3
          Ну тогда уже и пульс, давление и электрошок, если не слушается.
        • +6
          Найдено новое устройство.
          Ребенок: М, 3650 гр, 58 см, 37.6 °С
          Установить драйвер устройства.))
          • 0
            У вашего ребёнка температура!
            • 0
              Это так будет кричать антивирус, и будет предлагать уничтожить или поместить в карантин. :)
    • +4
      А если к ребенку еще и snmp протокол прикрутить то это здорово облегчит жизнь админам родителям.
      • 0
        Еще веб-камеру и софт-детектор движения (когда слишком шевелится) + звуковой анализатор (когда заплачет)
        :0)
        • +1
          А еще… А еще измеритель влажности в подгузник! :)
          • +1
            Его же придется доставать, чтобы переложить в новый подгузник. :)
      • 0
        Лучше уж по блютусу, чтобы на мобильник все данные скидывались, или скрипт приладить, чтобы СМС отправлял
    • +1
      На самом деле мысль интересная. Только надо мерить температуру каким-то беспроводным датчиком в кроватке. Тогда чуть что случиться — сразу будет известно. :)
    • +9
      Хохотуны, когда свой появится, вспомните.
      Ситуация тривиальная, но производителем не окученная.
      Лежит больной ребенок температура скачет. Если не дать жаропонижающее вовремя возможны очень серьезные последствия. До критической планки давать нельзя, можно затянуть болезнь на недели, а в этом случае не избежать приема антибиотиков, это очень плохо для ребенка 1-5 лет с несформировавшейся иммунной системой.
      И вот реальная ситуация — ты рядом с кроваткой, меряешь температуру электронным градусником, быстро — 10 секунд, но для начала надо развернуть ребенка и засунуть термометр подмышку.
      Ребенок который только заснул в 2 ночи, просыпается и начинает плакать. Ты укачиваешь, успокаиваешь…
      Ситуация житейская, дети наше все и если потребуется не будем спать ночь, две, три, но завтра опять на работу и если на работу не пойти не будет денег на лекарства, еду итд.
      Промышленных решений, повторюсь, нет.
      Идеальное решение — мониторинг с тревожным сигналом при превышении критического предела.
      Так что автору спасибо за статью, это самый простой и самый реальный вариант из всего что я нарыл по этой теме в данном применении.
      • 0
        Дык это не сложно в линуксе реализовать — как температура превышает положенную скрипт запускает проигрывание определенной песни, осталось только не громко включить колонки и можно ложится спать
      • +1
        Единственно возможный вариант при таком раскладе это на самом деле только ректальный метод, благо датчик миниатюрный совсем, остальное просто не будет держаться в нужном месте.

        Можно и без музыки в колонках, просто через инет посылать смску на мобилу.
        • 0
          Чем хороша музыка — что услышишь точно, а смс — если родители устали — работа и несколько бессонных ночей, то звук нового сообщения фиг услышишь
        • +3
          Да поможет вам пластырь! Не стоит вот так сразу совать непреспособленные для этого штуки в столь деликатные места.
        • +2
          Да поможет вам пластырь! Не стоит вот так сразу совать непреспособленные для этого штуки в столь деликатные места.
      • 0
        Есть один большой косяк — вдруг комп откажет. Лучше уж разворачивать и мерять.
        • +1
          А вдруг сам уснешь?
          • 0
            Ну чему быть, того не миновать.
            Но лучше в этом вопросе я буду полагаться на себя, чем на железку.
            • +1
              Ну чему быть, того не миновать.

              Нет! Не в этом контексте. Надо полагаться на все что может помочь в совокупности, дублируя для надежности. В конце концов, человеческий фактор самый ненадежный.
              • 0
                Ну если так то согласен 8)) Хотя и астеройд с пол луны может грохнуть.
      • 0
        Только для такого применения лучше использовать датчик DS18B20 (точность 0.1 C)
        На сколько помню DS1820 давно не производят, заменены DS18S20 (точность 0.5 С).
        • 0
          Если верить магазину — Chip and Dip то у обоих этих датчиков одинаковая погрешность — 0.5C
          • 0
            Подзабыл, точность одинакова а вот количество бит в результате больше (9 и 12).
            По моим наблюдениям эти датчики в диапозоне 10—40 С ошибка одинакова.

            П.С. Я бы верил производителю в первую очередь, а не магазину.
      • 0
        Ну, температуру спящему ребёнку можно, лучше и проще мерять ИК-термометром, который почти мгновенно измеряет её в ухе. И будить не надо. Ну, и малое дитё, тем более больное, проще уложить рядом с мамашкой спать, чем эти дикости с дежурством у отдельной кроватки.
        В принципе, мониторинг, возможно, тоже решение, только в таком виде, как описано — нельзя. Нужно, как минимум, опторазвязку городить и автономное батарейное питание датчика.
    • 0
      Может проще научить электронный термометр пищать при превышении порога температуры, чем мониторить на компе. Правда термометр в обоих случаях термометр нужно прикреплять к подмышке и ребёнку он не должен сильно мешать. Хорошая задачка для хорошего конструктора. Кстати о каком возраст ребёнка идёт речь?
      Интересно, а как меряют температуру на прикроватных мониторах в больницах?
      • 0
        Бесспорно лучше, но таких не производят, наверное из за того что лень городить постоянное крепление.
        Я вижу это в виде эластичного рукава который одевается на ребенка как майка, но без бретелек. Датчик оказывается подмышкой, сам прибор в максимально расплющенном и гибком виде смещен чуть к груди или спине. В этом месте он не будет мешать.
        Я не нашел к сожалению, простой схемы термометра с возможностью вывода сигнала при превышении (уменьшении) определенного порога.
        В этом плане предложенная схема — лучший вариант, но как верно заметили есть возможность отказа, к тому же наличие шлейфа это опасно.
        Речь о детях год — пять.
        • 0
          Самый простой и оригинальный способ на мой взгляд — соска-пустышка с вмонтированным в нее термометром. И ребеночка не будет напрягать и температура — точнее некуда. Такие уже выпускают, правда производителя не помню.

          Ну вопрос конечно если ребенка уже отучают от соски :)
    • 0
      Ещё бы пелёнки автоматом менялись — я бы прям щас паяльник включил и спаял устройство
    • 0
      не рекомендую использовать для мониторинга температуры, у этих датчиков погрешность +- 0.5 градуса по паспорту и метрологии. я пробовал сверять с калиброванным термометром, и даже с обычным медицинским, ds18b20 врет и плавает.
  • +1
    Теперь можно прикрутить к этому устройству беспроводной канал передачи данных, типа bluetooth, батарейки, наладить коммерчесоке пр-во…
    • НЛО прилетело и опубликовало эту надпись здесь
      • –3
        нафиг кому это надо
  • +12
    Пришло в голову еще одно применение, зимой, при включенном отоплении, в квартире очень жарко, можно приделать к окну привод и при помощи термодатчика и компа контролировать ширину открытия окна и соответственно поддерживать заданную температуру =)
    • 0
      Патентуйте.
    • +19
      Вот он чисто наш подход: вместо того, чтоб регулятор к батарее приделать и энергоресурсы экономить — давай улицу отапливать! ;)))
      • 0
        Ну это куда интереснее =)
        А вообще регулятор на батарее теоретически есть, но он под слоем краски и его уже несколько десятилетии никто не двигал, поэтому боюсь его трогать.
      • +2
        Да кстати, вентиляция в помещении всеравно нужна =)
        • +1
          Да это я брюзжу: у самого форточка круглый год открыта — люблю я свежий воздух, пусть лучше прохладно в квартире, чем «спёрто», как в том анекдоте ;)
      • +1
        Когда я в Германии один раз сказал немцу, что при включенном отоплении проветриваю помещение, он посмотрел на меня как на врага народа! Они тут на экологии помешаны нереально!
        И, кстати, я тут не видел ни одной батареи без регулятора, и они ими очень пользуются.
        • 0
          Они скорее на экономии помешаны, а не на экологии. С одной стороны это правильно, но у них это возведено, имхо, в высшую степень занудства
          • 0
            На экономии помешана вся европа, терпеть не могу когда в комнате тусклый свет, голова от него болит, а вот во франции во всех отелях такое освещение )
      • +2
        Ага, на улице минус, в ларьке «мороженное» сидит бабка с врубленным обогревателем, мороженное в холодильнике, чтобы не растаяло=)
    • +4
      Уже вижу надгробье:
      «Замёрз во сне из-за глюка винды»
      • 0
        О кстати, тему винды забыли, ктонить знает как из винды работать с таким датчиком?..
        • 0
          Дык по твоей же ссылке — www.kusto.com.ru/temperature/ написано —
          >Кстати на сайте разработчика существует также версия под Windows, но как она работает, я не проверял.
          • 0
            под виндуз работает…
            запускать одоимённый файл из директории /win архива digitemp-3.6.0.tar.gz. нужен cygwin.
            • 0
              А подробнее не скажешь как запустить под видной это?
              • 0
                в вышеуказанном архиве (link) есть папка win в которой есть digitemp_DS9097.exe

                при его запуске из под windows xp появляется диалоговый мессадж требующий cygwin1.dll.
                у меня был установлен cygwin и я экзешник скопировал в ту папку где cygwin1.dll находится, запустил консоль и повторил указанные автором
                инициализирующую: digitemp_DS9097.exe -i -s /dev/ttyS0
                и «сканирующую»: digitemp_DS9097.exe -a -s /dev/ttyS0
                командные строки.
                • 0
                  У меня сразу же ошибка —
                  Microsoft Windows XP [Version 5.1.2600]
                  © Copyright 1985-2001 Microsoft Corp.

                  C:\WINDOWS\system>digitemp_DS9097.exe -i -s /dev/ttyS0
                  DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
                  GNU Public License v2.0 — www.digitemp.com
                  owAcquire: failed to set attributes: Permission denied
                  Error 24: Failed to initialize system resource
        • 0
          Есть программа, которая работает с этим датчиком. Называется TempKeeper. Когда работал в винде, у меня она стояла.
          • 0
            А у тебя схема такая же как и здесь была? Я вот ее спаял, а мне TempKeeper говорит — floomby.ru/content/o7N7Ooe4kW/ хотя в самой программе сверху написано — floomby.ru/content/D0Y95g9MUS/ даже не знаю что делать, всю голову сломал уже
      • 0
        Кто это успел сделать?? ibash.org.ru/quote.php?id=9501 ))) Удивился
    • 0
      такое уже придумано, ставил отопление в доме загородом — мне такую предлагали. Там два датчика: наружний и внешний, два режима работы по фотодиоду: дневной и ночной, и два режима работы общего температурного режима (статистически): летний и зимний. Соответственно регулируется температура подачи теплоносителя в систему.
      А ещё есть программаторы, чуть опускающие температуру ночью (известно что человек лучше спит в прохладную погоду) и подогревающие помещение к утру.
      Ну и само собой — прогрев загородного дома по смс, или через сайт.
      Обычно такие системы стоят ровно в два раза дороже. В принципе мне предлагали за 200 рублей такую умную вещь.
  • +1
    здесь датчики подключены по сети 1-ware. в гугле находится ещё много полезных датчиков с аналогичным интерфейсом. Функционал можно расширить, например повесив герконы и датчики света — простейшая сигналка для дома/сервеной/иного помещения готова
  • +3
    теперь остается одна проблема-где бы взять COM порт :-D
    • 0
      Да это самый большой минус, если найду в продаже адаптеры COM-порта для USB то обязательно затестю устройство.
      • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        буду удивлен, если заработает через переходник на usb.
        если протокол 1wire критичен к временным задержкам, то будет сбоить 100%

        думаю есть чипы которые на входе имеют компорт, а на выходе 1wire
        и уже такой чип можно втыкать в usb через переходник

        и апи там будет простенький.
    • 0
      На современных десктопных материнках, как правило, есть один, нераспаянный COM-порт. Вывести наружу можно элементарной панелькой с разъемом и узким шлейфом. Жаль, у меня и тот занят самодельным ИК-приемником…
      • 0
        Думается если прога не занимает монопольно ком порт, то можно попробовать на один порт посадить два устройства, линии кажется разные используются.
  • 0
    Большое тебе спасибо за инструкцию, давно такое собрать хотел. Имхо полезно будет это к никсовому серверу прикрутить, и чтобы он раз в час все датчики отпрашивал, в итоге в любое время можно узнать самый холодный или теплый день за год. Не какой практической пользы это не несет, но просто интересно.
    А скажи пожалуйста — как ты рисовалку графиков прикрутил?
    • 0
      Имхо еще полезно прикрутить датчики влажности, хотя они на много дороже выйдут по цене
      • 0
        И атмосферного давления.
        • 0
          И синоптика заодно прикрутить, пусть сидит прогнозирует.
    • 0
      www.cacti.net/ + простенький скрипт + 15 минут настройки Cacti.
      А вообще это можно сделать и без cacti при помощи rrdtools.
      • 0
        А кстати — термодатчик именно такой нужен? Нашел другие термодатчики, по виду они такие же. И если у тебя в описании не написано мощность, напряжение и т.д. значит любые подойдут?
        • 0
          Термодатчики я так понимаю лишь бы они были с интерфейсом 1-wire и поддерживались прогой, хотя нужно смотреть чтобы и по питанию подходили.
          По поводу мощностей чем меньше тем лучше, потому что элементы будут компактнее и получится все уместить в корпус разъема, smd конечно не подойдут =)
          • 0
            Не, я вот Шоттки нашел — 1N5818 диод Шоттки (30В, 1А/25А) DO-41 такой разве подойдет?
            • 0
              Ну это он и есть вроде как.
  • +2
    У меня так же сделано.
    digitemp записывает в файл:

    digitemp_DS9097 -l /var/log/temperature -n -q -c /home/dmitriy/digitemp.conf -t 0

    Из файла можно взять инфу с помощью например conky вот так:
    ${tail /var/log/temperature 3}

    Получается прикольно (в самом низу в conky):
    screenoteka.ru/files/screenshots/Screenshot-2_0.png

    Сори за такой большой скрин.

    • 0
      Вот так можно построить график с помощью gnuplot. Удобно ставить на хоткей и сразу смотреть график.

      #файл graph.sh
      #!/usr/bin/gnuplot
      set terminal png
      set output "~/stat.png"
      set xdata time
      set timefmt "%b-%d-%H:%M:%S"
      plot [*:*][-10:28] "/var/log/temperature" using 1:3 with linespoints title «temp»
      #EOF

      #файл pictgraph.sh
      #!/bin/bash
      ~/graph.sh
      eog ~/stat.png
  • 0
    www.rlocman.ru/shem/schematics.html?di=54511
    Кто подскажет как бы еще датчик давления и влажности прикрутить к ком порту и будет замечательная метеостанция.
    • 0
      с датчиком давления сложно, а вот датчик влажности можно сделать из 2х термодатчиков — один из них просто предварительно покрыть лаком и намочить, получится психрометр.
  • +1
    Очень интересная статья. Только вот нельзя ли поподробнее расписать, как спаять это с USB вместо COM?
    • 0
      Точно не уверен, но думаю проблем много будет, чтобы под USB заставить работать. Да и как я понял, прога эта только под СOM работает
      • 0
        Прога заработает и под USB. Это по крайней мере написано на сайте самой программы.
        • 0
          Разницы то никакой, будет просто /dev/ttyUSB0, другое дело будет ли корректно работать мост usb-serial, ведь датчик работает не на tx/rx, да и переходник может питания не выдать нужного, в любом случае нужно пробовать, а потом дорабатывать если понадобится.
    • 0
      Есть предположение что взяв дата-кабель от например старого сименсовского телефона (они там точно были переходником усб-компорт) можно получить виртуальный ком-порт через юсб, но не знаю будет ли верно работать схема. Если попадется под руку то проверю.
  • 0
    А что за кабель ты использовал от разъема до датчика? Витуху? Есть идейка — сделать разьем RJ-11 и с таким джеком купить лапшу (или самому обжать), а на другом конце датчик. Все очень эстетично получается
    • 0
      Кабель от старой двух-кнопочной мышки фирмы IBM =) Оказался весьма мягким и на удивление длинным.
      • 0
        не жалко мышку было? 8)
    • 0
      Кстати подумал что было-бы интереснее сделать в каком нибудь корпусе несколько разъемов скажем штучек 5 обычных 3,5мм джеков (как на наушниках), запараллелить их и подключать датчики такими джеками.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Столько радостно удивленных людей давно желавших узнать, как сделать такое устройство вводит меня в ступор.
    Помнится у друзья собирали такую штуку лет 5-6 назад, и уже тогда это была не в новинку, инструкций в нете дофигища.
    • +1
      На оригинальность не претендую, как видно оригинал статьи датирован 2004 годом. Просто раньше не задавался такой целью, а теперь случайно наткнулся на устройство и решил рассказать, как видно многие тоже не думали что все так легко и просто. Лет 5 назад еще было модно собирать ИК-датчики для ком порта =)
      • 0
        Ага, самодельный ик-порт до сих пор валяется у меня=)
        • 0
          Вот ведь как бывает, COM-порт гораздо универсальнее чем Universal Serial Bus, особенно если использовать не совсем по назначению.
  • 0
    Какая старая новость, такое мы собирали по инструкции с cooler еще лет 5 назад. С тех пор в компьютерах исчез COM порт, и надо покупать USB контроллер для этой шины.
    • 0
      По секрету скажу, что готовый усб-термометр сейчас стоит дешевле, чем 1-wire usb контроллер.
      • 0
        Ссылочку можно?
        • 0
          tinyurl.com/dfsqfd — от $9 (доставка от $3)

          В Чип-и-Дип'е
          chipdip.ru/product0/411816766.aspx — 960 руб.
          • 0
            А USB даласовский контроллер подешевле рублей 600-700, и чип рублей 50, в итоге получается дешевле.
            • 0
              Что-то видимо с математикой совсем плохо… 12 у.е. дешевле, чем 600+50?

              700 руб модуль стоил еще когда бакс был по 26 руб, и термометр тогда же стоил поболее 50 руб.

              Вы где-то прямо сейчас видели, как это всё продаётся или Вам просто кажется, что оно так стоит?
              • 0
                Думал, что вторая ссылка с ценой на усб термометр.
                Выходит дешевле усб термометр, только в продаже у нас я их не видел. Мне проще использовать даласовский, к нему можно подцепить много термометров, и других устройств и SDK открыт и стандартен
            • 0
              Чип около 200р стоит
    • 0
      А температура на Кулере сейчас (как и всегда) приходит отсюда — angara.net/meteo/
      • 0
        Журнал кулер посмотрите год за 97ой, там есть подобная схема использования далласовского термодатчика.
        • 0
          Да, это стандартная схема из родного далласовского Appnote 74.
  • +1
    Для тех, кто соберется паять это самостоятельно:

    Детальки надо подбирать достаточно тщательно, так как вся шина работает не в режиме и если что-то не так, то читаться начинает очень плохо.

    Еще интересный момент — градусник потребляет больше энергии при измерении горячего воздухе, т.е. потестировав его зимой можно обнаружить провалы летом.

    Просто так расшарить КОМ-порт там не так просто. Цикл шины 1-wire (стартовый импульс) там делается при помощи последовательности 0xff засылаемой в порт на большой скорости, а потом порт переводится на низкую скорость и на ней уже считываются данные.

    Для особо умных рекомендую подумать, как в этом протоколе по одному проводу (!) организуется не только адресация различных устройств и взаимодействие с ними, но и определение этих самых адресов когда на линии несколько заранее неизвестных устройств. Очень занятно.
  • 0
    Собирал аналогичное на ELVIS-е (для контроля температуры определенного транзистора), где все было наглядно сделано в LabView — график температуры, звуковое оповещение при зашкаливании определенного значения ) вообщем там попроще, но цена не сравнима )

    Ставлю Вам + за творческий подход! :)
  • 0
    Есть такие готовые. Но это не интересно. А вот если-бы была программа под виндовз, то я-бы сыну спаять такой девайс посоветовал. :-)
    • 0
      А программа есть и не одна, можно погуглить по словам к примеру 1-wire или ds1820 для windows.
  • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    эх, а мне бы gsm модуль прикрутить)) и использовать без компьютера))
    думаю это из области фантастики =)
  • 0
    Ух спасибо. Хотел сделать, но отпугивала калибровка.
  • 0
    Может глупый вопрос — а как у резистора и конденсатора определить полярности? У конденсатора одна ножка короче, другая длинее, какая из них что обозначает? И на резисторе четыре полоски — в центре зеленая и красная, что да где у него находится?
    • 0
      полярность резистора?
      может, не стоило паяльник включать?
      • 0
        А я еще не включал его ;) вот перед включением и интересуюсь. Просто я понять не могу — если резистор не имеет полярности, то зачем тогда полосы разных цветов на нем рисовать?
        • 0
          это цветовая маркировка его номинала.
        • 0
          В этих цветах закодирован его номинал, иначе его сложно отметить на маленьком корпусе.
    • 0
      У конденсатора обычно на корпусе есть полоса белого/синего цвета на которой нарисован знак "-", вот у того вывода и минус.
      У резистора нет полярности, в школе об этом рассказывали =)
  • 0
    Кстати, а обязательно DS1820 нужен? Я смог только DS18B20 найти, но чтото TempKeeper не хочет работать, хотя датчик видет, но температуру не может с него получить
  • 0
    Покупал датчик DS1820. Пришёл домой и оказалось, что датчик мне продали DS18B20.
    Через digitemp все работает отлично. (OS:Debian)
  • 0
    Ув. автор, не подскажете принцип действия переходника COM-1wire а то везде схемы, а КАК именно он работает нет информации…
    • 0
      Я не автор данной схемы, но на сколько я понимаю переходника тут никакого нету, и интерфейс 1wire создается программно, благодаря возможности ком порта создавать нужные импульсы.
  • 0
    Был опыт работы с данным стандартом, но я пользовался owfs.

    Хочу сказать что данная схема не надёжна (при большом количестве устройств). Надо это учесть, кто будет делать на несколько датчиков, а ведь вся прелесть 1-wire это возможность параллельного подключения устройств в сети. У меня помимо температурных был 1 ключ, вот из за него сеть вела себя очень странно.

    Советую собирать доработанную, если вспомню где в интернете видел то поделюсь ссылкой, хотя это возможно относиться только ключам (из за большого потребления тока), а температурные ведут себя хорошо, хотя 1 раз на 50 запросов owfs возвращает пустую строку, что собственно говоря легко исправить, повторным запросом.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.