Как подключить датчики к компьютеру

Контроль температуры. Как подключить датчик температуры DS1820 через COM-порт копьютера и мониторить температуру.

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

Недавно передо мной стала задача дистанционного контроля температуры в серверных помещениях моей конторы. Как тру-инженер прекрасно владеющий паяльником и знающий что такое DS1820, я решил собрать контроль самостоятельно и сэкономить конторе денежку.

В интернетах не мало сломано копий по данному вопросу. Материал везде достаточно одинаковый и сводится к одному: берем датчик температуры DS1820 фирмы Dallas и путем довешивания дополнительно двух диодов Шоттки, двух стабилитронов и одного резистора, получаем приблуду на COM-порт, которая в состоянии замерять температуру.

Все бы хорошо, однако нормального ПО для работы с такой приблудой я так и не нашел. Точнее, оно есть, но за него хотят денег. Что я понимаю под нормальным ПО? Да мне всего-то и надо что контролировать температуру в помещении, и, когда она превысит, скажем, 30 градусов, оповестить меня об этом. Вот тут-то и загвоздка: есть ПО которое бесплатное, но оно просто показывает температуру, что мне нафиг не надо. И есть ПО, которое еще позволяет что-то делать, когда температура выше определенного предела, но оно стоит денег.

Поскольку денег платить я не хочу, а использовать ломаное ПО в организации нельзя, я пошел своим путем и написал программу контроля температуры, которая, при определенных пользователем условиях, позволяет производить какие-либо действия. А поскольку я не жадный, выкладываю программу здесь, глядишь, еще кому пригодится.

Итак. Прежде всего схема. Она валяется везде в интернете и собрать ее совсем не сложно. По стоимости деталек: в моем городе на расстоянии 500 км от столицы все детали обошлись мне в 300 рублей. Самый дорогой был именно датчик температуры DS1820, остальное — копейки.

Как подключить датчики к компьютеру

Собираем схему, можно прямо на разъеме для com-порта. На рисунке показано сразу 3 датчика. Это как пример того, как подключить к одной одной линии много датчиков. Для работы достаточно только одного. Подключаем собранную схему к компьютеру и дальше в действие вступает специальная программулина.

Моя программа на самом деле не замеряет температуру, а является посредником. Температуру замеряет портированная под Windows линуксовая программа DigiTemp. А моя программа анализирует работу консольной DigiTemp и соответственно реагирует. Ничего дополнительно устанавливать не нужно, все уже есть внутри.

1. Запускаем программу. При первом запуске она сразу открывает раздел настроек. Там нужно указать COM-порт, и просто нажать кнопку «Поиск сенсоров».

Как подключить датчики к компьютеру2. Если железо в порядке, com-порт работает и ничем больше не занят и наш адаптер спаян правильно, программа обнаружит подключенные сенсоры, отобразит табличку с их названиями, типом и прочей служебной информацией.

Как подключить датчики к компьютеру

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

Как подключить датчики к компьютеру

По кнопке «Добавить» добавляется действие. На текущий момент программа поддерживает только одно действие — запуск внешней программы. Я посчитал это действие самым важным и реализовал его в первую очередь. Далее, если будет желание читателей и хорошие идеи — добавим еще. Окошко действия «Запуск программы» выглядит так:

Как подключить датчики к компьютеру

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

После всех настроек, можно нажать кнопку «Пуск» основного окна программы и она начнет свой монотонный никому не нужный труд. С интервалом, заданным в параметре «Интервал опроса сенсоров» программа будет запускать опрос, обрабатывать данные и выводить их в таблицу. Заодно будет проверять условия срабатывания действий, и при их совпадении — запускать действие.

Поле «Количество попыток опроса» предназначено для увеличения количества циклов чтения за один интервал опроса. При неуверенном чтении датчиков можно попытаться увеличить это значение в разумных пределах (скажем, до 5).

Время чтения одного датчика где-то 0,7 — 1 секунда, соответственно, опрос 3х датчиков будет длиться в районе 3х секунд.

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

А вот, собственно, и сама программа:

Предложения, пожелания и прочий флуд приветствуется.

Источник

Использование датчиков в Windows 7

Поддержка Windows 7 закончилась 14 января 2020 г.

Рекомендуем перейти на компьютер Windows 11, чтобы продолжать получать обновления для системы безопасности от Корпорации Майкрософт.

Что такое датчик?

Датчики — это аппаратные компоненты, которые могут предоставлять компьютеру информацию о расположении компьютера, его окружающем расположении и не только. Полученные с помощью датчиков данные могут сохраняться и использоваться программами при выполнении повседневных задач для большего удобства работы с компьютером. Существует два типа датчиков:

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

В число примеров датчиков входят датчики местоположения, например GPS-приемник, который может определить текущее расположение компьютера. На основе полученных данных в специальной программе могут выводиться сведения, например о ближайших ресторанах или маршрутах проезда к нужному пункту назначения. Датчик освещения предназначен для определения уровня освещенности окружающей среды, на основе чего автоматически корректируется яркость экрана.

Использование датчиков расположения и других датчиков

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

Программы могут получать доступ к данным с датчика после его установки и включения на компьютере. Эти данные могут использоваться программами при выполнении повседневных задач для большего удобства работы с компьютером. Чтобы запретить программам и учетным записям использовать данные, полученные с помощью датчика, отключите его.

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

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

Как применение датчиков влияет на конфиденциальность?

По умолчанию, если датчик включен, все программы и пользователи на вашем компьютере могут получить доступ к сведениям с этого датчика. В ОС Windows при попытке доступа программ к данным о расположении компьютера выводится временное уведомление в виде значка «Датчик расположения и другие датчики» в области уведомлений. Windows отображает этот значок при первом доступе программы или службы к расположению вашего компьютера с датчика.

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

Предоставление доступа к данным, полученным с использованием датчиков

Может потребоваться ограничить доступ к программам и службам (которые запускаются в фоновом режиме для всех учетных записей пользователей) из-за доступа к данным датчиков. По умолчанию при первом включении датчика все программы и службы могут получить информацию от датчика для всех учетных записей пользователей. Можно ограничить доступ программ к данным, полученным с использованием датчиков, с помощью учетных записей. Можно также ограничить доступ к информации датчиков для служб, но это будет применено ко всем учетным записям пользователей.

Откройте «Расположение» и «Другие датчики», нажав Как подключить датчики к компьютеру«Начните», а затем на панели управления. В поле поиска введите датчики, а затем щелкните «Место» и «Другие датчики».

Примечание: Чтобы изменить пользовательские параметры датчиков, должен быть установлен как минимум один датчик.

В левой области выберите пункт Изменить параметры пользователя.

В списке Датчик выберите датчик, для которого требуется изменить параметры пользователя.

В разделе Доступ установите или снимите флажки рядом с именами пользователей, которым требуется предоставить или запретить доступ к данным датчика соответственно. Нажмите кнопку ОК. Как подключить датчики к компьютеруЕсли вам будет предложено ввести пароль администратора или подтверждение, введите пароль или подскакийте его.

Включение и отключение датчиков

Программы могут использовать данные с датчика после включения. Можно включать или отключать датчики, установленные на компьютере, в разделе панели управления «Датчик расположения и другие датчики». При отключении датчик не выключается физически. Некоторые программы могут по-прежнему использовать данные, получаемые с помощью отключенного датчика.

После включения датчика по умолчанию все пользователи и программы на компьютере смогут получать с него доступ к информации. Когда программа или служба впервые получают доступ к расположению вашего компьютера с датчика, Windows временно отображает значок «Расположение и другие датчики» в области уведомлений.

Включение и отключение датчика

Откройте «Расположение» и «Другие датчики», нажав Как подключить датчики к компьютеру«Начните», а затем на панели управления. В поле поиска введите датчики, а затем щелкните «Место» и «Другие датчики».

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

Установка и удаление датчиков

См. документацию, входящую в комплект поставки датчика, или посетите веб-сайт изготовителя датчика. После установки датчика нужно включить его. Это позволит программам получать доступ к информации с датчика.

Удаление датчика

Откройте «Расположение» и «Другие датчики», нажав Как подключить датчики к компьютеру«Начните», а затем на панели управления. В поле поиска введите датчик и затем выберите пункт Датчик расположения и другие датчики.

Выберите удаляемый датчик.

В меню «Дополнительныепараметры» щелкните «Удалить этот датчик»и нажмите кнопку «ОК». Как подключить датчики к компьютеруЕсли вам будет предложено ввести пароль администратора или подтверждение, введите его или подскакийте.

Источник

Меню навигации

Пользовательские ссылки

Информация о пользователе

Термометр на DS18B20 (подключение через COM порт)

Сообщений 1 страница 30 из 103

Поделиться116.12.2013 02:07:42

Этот компьютерный COM термометр выполнен на специализированной микросхеме DS18B20 фирмы Dallas. Он подключается к ПК (компьютеру) через последовательный COM порт. Если в вашем компьютере нет COM порта, можете посмотреть другой вариант градусника, подключаемый через USB. USB термометр на ATmega8 и PIC18F4550
Или использовать переходник USB to UART. Поскольку датчик температуры DS18B20 имеет интерфейс 1-Wire, то для согласования с COM портом компьютера необходим преобразователь уровней напряжения, выполненный по схеме:

Как подключить датчики к компьютеру

Замечу что это не единственный возможный вариант схемы. Идея не нова и в интернете можно найти разнообразные варианты схем от простейших, до сравнительно сложных.

При использовании USB переходника, схему можно упростить.

Как подключить датчики к компьютеру

Если у переходника нет выводов DTR и RTS, но есть выход 5 вольт, схема такая.

Как подключить датчики к компьютеру

Программа проверена и хорошо работает с USB переходниками на микросхеме PL2303.

Как подключить датчики к компьютеру

Как подключить датчики к компьютеру

Как подключить датчики к компьютеру

В программе следует выбрать COM порт к которому подключен датчик температуры и если порт не занят, устройство исправно и датчик подключен, то в поле, расположенном в центре окна, отобразится текущая температура. Linux версию программы нужно запускать с правами root-а, иначе не будет доступа к COM порту. Это одна из особенностей операционной системы Linux.

Исходный текст программы «DS18B20 Thermo» и скомпилированные файлы. Для компиляции требуется PureBasic 5.20 или более новая версия.

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

Как подключить датчики к компьютеру

Как подключить датчики к компьютеру

Поделиться208.07.2015 11:06:28

Поделиться308.07.2015 14:09:41

С такой длиной линии не проверял. Для улучшения помехоустойчивости скорее всего придется уменьшить сопротивления резисторов R3 и R7, а также использовать внешнее питание, а не от COM порта.

Поделиться408.10.2015 08:44:03

Здравствуйте! При минусовой температуре у меня показывает 4000 вроде. Это программа так показывает или у меня что то не так с датчиком. Положительную температуру показывает как нужно. Программа которая первая, с одним датчиком.

Отредактировано wvlas (08.10.2015 08:46:41)

Поделиться510.10.2015 17:35:05

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

Поделиться628.12.2015 10:42:03

privet vsem skajite pojalusta kak sdelat chto mnogo datchik rabotaet vetot pragrame

Поделиться728.12.2015 11:52:52

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

Поделиться812.01.2016 13:05:12

Поделиться912.01.2016 21:10:20

Когда происходят ошибки, они отображаются в колонке «Статус». Обычно ошибок нет.

Поделиться1013.01.2016 21:46:44

uvas est programa chto pokazivaet vlajnost ili etot sxema i programa mojet pokazat vlajnost.

Поделиться1114.01.2016 20:46:37

Влажность можно вычислить методом «сухого и мокрого термометра». https://ru.wikipedia.org/wiki/Психрометр

Поделиться1215.01.2016 20:38:52

uvas est programa chto pokazivaet vlajnost

Поделиться1323.01.2016 09:23:30

Поделиться1423.01.2016 13:43:05

Эта ошибка происходит постоянно или только иногда?
Ошибка CRC означает что данные исказились. Возможно это из-за большой длины провода между компьютером и датчиком и из-за большого уровня помех.

Поделиться1523.01.2016 14:32:08

Поделиться1623.01.2016 14:33:15

vsh sxema pravino rabotaet.

Поделиться1723.01.2016 19:40:23

Схема нормально работает. Но если датчиков много, сопротивление резистора R3 нужно уменьшить.

Поделиться1823.01.2016 22:17:36

Поделиться1924.01.2016 16:28:32

Скорее всего одно и тоже, но нужно смотреть их описание.

Повысить стабильность и уменьшить число ошибок можно включив режим «Снизить нагрузку на CPU» в меню программы.

Поделиться2008.03.2016 23:35:26

Здравствуйте. Подскажите почему исходник с одним датчиком запускается нормально, а со многими вместо русских надписей вопросики =. =. Виндовс ХР SP3 PureBasic5.3

И почему в исходнике со многими датчиками у Вас температура изменяется на 0.1 градуса, а у меня через 0.5. Причем из пяти датчиков четыре работают через 0.5 градуса, а один (второй в списке) работает нормально через 0.1. Датчики одинаковые и из одного магазина

Отредактировано OllyRom (08.03.2016 23:42:00)

Поделиться2109.03.2016 00:46:55

а со многими вместо русских надписей вопросики =. =. Виндовс ХР SP3 PureBasic5.3

Ели речь про архив DS18B20_ThermoMon_v1.0.zip то исходник нормально открывается и компилируется. С надписями все в порядке.
Случайно кодировку не изменили?

температура изменяется на 0.1 градуса, а у меня через 0.5

Датчик DS18B20 или DS1820 / DS18S20?

Поделиться2209.03.2016 07:16:27

Ели речь про архив DS18B20_ThermoMon_v1.0.zip то исходник нормально открывается и компилируется. С надписями все в порядке.
Случайно кодировку не изменили?
Датчик DS18B20 или DS1820 / DS18S20?

Да, речь именно об этом архиве. Он разархивировался на ноутбуке с Win8.1 на флешку, тестово запускался, но поскольку на нем нет COM и LPT, флешка переставлялась на комп древнее с нужными портами, а на том уже вопросики.
Датчики покупались в =Космодроме= kosmodrom.com.ua/el.php?name=DS18B20,

Можно ли подключить параллельно DS18B20 еще и DHT11 ДатчикВлажности+Температуры? и что нужно изменить в исходнике. Даташит kosmodrom.com.ua/el.php?name=DHT11

Страница с описанием датчика kosmodrom.com.ua/prodlist.php?page=0&name=ds18b20&okbutton=%CF%EE%E8%F1%EA+%EF%EE+%F1%EA%EB%E0%E4%F3
Написано: =Программируемая пользователем разрешающая способность встроенного АЦП может быть изменена в диапазоне от 9 до 12 разрядов выходного кода. Абсолютная погрешность преобразования меньше 0,5° C=.
А как ее изменить? этупрограммируемую пользователем разрешающую способность?

Отредактировано OllyRom (09.03.2016 07:26:50)

Поделиться2309.03.2016 10:38:53

а со многими вместо русских надписей вопросики =. =. Виндовс ХР SP3 PureBasic5.3

Можно ли подключить параллельно DS18B20 еще и DHT11

Нет нельзя. У DHT11 другой протокол, не 1-Wire.

Поделиться2410.03.2016 06:40:01

Нет нельзя. У DHT11 другой протокол, не 1-Wire.

Теперь по поводу разрешения датчика DS18B20 при измерении температуры. В даташите на него указано =The core functionality of the DS18B20 is its direct-to-digital temperature sensor. The resolution of the temperature sensor is user-configurable to 9, 10, 11, or 12 bits, corresponding to increments of 0.5°C, 0.25°C, 0.125°C, and 0.0625°C, respectively. The default resolution at power-up is 12-bit. The DS18B20 powers up in a low-power idle state. To initiate a temperature measurement and A-to-D conversion, the master must issue a Convert T [44h] command. = То есть по умолчанию при подаче питания (power-up) он должен ставиться в мах разрешение. Прочитал только что поверхностно (не вдаваясь в точность перевода) даташит термометра, написано что начальное конфигурирование датчика делается при подключении только одного к мастеру. А я их посадил сразу все грядкой 5 штук, приду с работы вечером поюзаю.

DHT11 действительно параллельно втыкать в шину нельзя, у него упрощенный 1-Wire протокол без 64-битной уникальной идентификации + обратного управления, и передача температуры и влажности с CRC одним пакетом, нужно либо другие однопроводные датчики, либо на контроллере =разобрать= пакет и эмулировать два датчика 1-wire с разными бортовыми номерами. К тому же мне в проект нужно еще и пару датчиков давления 0-15атм.
Так что на форуме похоже надолго

Источник

Сбор показаний датчиков и их отображение

Как подключить датчики к компьютеру

Людям нравятся красивые презентации. Красивые картинки, немного текста, меняющиеся слайды. Красивая картинка позволяет быстро передать информацию человеку, сообщить самое важное. Мы все это знаем. Я вот думаю, как «скрестить ежа и ужа»?

Как наглядно на мониторе компьютера представить процессы, происходящие внутри микроконтроллера или ПЛИС? Или как показать, что происходит внутри всей системы автоматики, реализованной на микроконтроллере или ПЛИС?

Вообще-то правильный ответ я знаю – нужно использовать SCADA системы.
SCADA – это supervisory control and data acquisition, диспетчерское управление и сбор данных. Но мы не ищем легких путей, мы хотим немножко изобрести своего велосипеда.

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

Вот так, по порядку попробую рассказать.

Протокол передачи данных.

В настоящее время физических возможностей подключить какое-то устройство к компьютеру или ноутбуку фактически осталось только две: сетевое подключение через Ethernet/WiFi или USB. Практически ушли в прошлое «настоящие» параллельные и последовательные порты. С ними было просто. Конечно их еще можно найти, если поискать. Но лучше в эту сторону и не думать.

Ethernet пока отставляю в сторону. Для передачи по сети нужно в контроллере иметь драйвера стека TCP/IP, как правило это тянет за собой наличие ОС, обычно Linux или ucLinux. Потом потребуется интерфейс настройки сети: а какой IP адрес? А статический или динамический? А какая маска и gateway? В общем не очень просто в реализации и настройке.

USB кажется гораздо проще, хотя и тут много подводных камней: а какой класс/субкласс устройства? А нужно ли ему драйвера или используются стандартные драйвера той же Windows?
И опять возвращаемся «на круги своя» — проще всего использовать последовательный порт через USB. В простейшем случае есть шнуры типа USB2Serial. Ну или как отличный вариант для разработчика плат и контроллеров – различные микросхемы FTDI.

ОК, все же выбираем последовательный порт через USB. А раз так, то значит пересылка данных может быть в виде последовательности символов. Значит дальше еще проще: показания датчиков можно передавать в виде строк вида «НАЗВАНИЕ_ДАТЧИКА=ЗНАЧЕНИЕ»

При таком подходе мы сможем легко увеличивать количество опрашиваемых сенсоров, и легко менять их тип. Состояние концевика или геркона будет передваться, например, в виде строк «but0=1» или «but1=0». Значение температуры можно передавать в виде строки «t0=36,6». Строки проще всего разделять символами «перевода каретки»: 0x0D 0x0A.

Так, на первых порах даже и программа визуализации на компьютере не нужна. Можно просто запустить программу терминала вроде Putty и смотреть на показания датчиков из контроллера.

Контроллер.

Мой контроллер выполнен на базе ПЛИС Altera Cyclone III. На самом деле это известная разработчикам плата Марсоход2. Я уже писал про некоторые проекты, выполненные на ней. Например, когда-то мы сделали на этой плате на чистой ПЛИС FM радио передатчик. А еще мы сделали на ней USB Tracker. Есть и другие проекты.

Как подключить датчики к компьютеру

На плате уже есть 2 кнопочки – это первые два датчика для моих экспериментов.
Еще я подключил микросхему термометра ds18b20 – это второй датчик.
Можно еще использовать АЦП платы для измерения чего-то-пока-не-знаю-чего. Пока здесь просто переменный резистор вместо датчика.

Важно, что на плате уже стоит микросхема FTDI FT2232HL, которая обеспечивает связь с компьютером через USB в виде виртуального последовательного порта. Скорость передачи аж 12Мбит/сек. Это условно 1,2 Мбайта/сек. Если, например, плата опрашивает датчики каждые 100 миллисекунд, то получается можно за каждый опрос передавать компьютеру более 100Кбайт данных. Вполне прилично.

Сейчас не буду рассказывать о проекте для платы и ПЛИС Cyclone III. Для этого есть отдельная статья. В этой статье подробно рассказано, как опрашиваются данные и передаются результаты в компьютер через последовательный порт. Лучше перейдем к рассмотрению 3-ей компоненты – программы визуализации значений датчиков, которая работает на компьютере.

Программа визуализации данных.

Тут хотелось все сделать быстро и просто. На чем писать программу, чтоб было просто написать, менять, дополнять?

Я выбираю Питон, хотя честно говоря опыта нет. Просто кажется, что это будет хорошо. Как сказал один из хабражителей (извините, не помню кто) – дополнительно хотелось бы «потреннировать своего питона».

Итак, поскольку программа будет графическая, то попробую встроенный в питон Tkinter. Для работы с последовательным портом буду использовать pyserial.

Хочется написать эдакий набор классов — для каждого типа датчиков свой класс.

Самый простой класс – двоичный датчик. Это может быть кнопка, концевик, геркон. Его значения 0 или 1. Соответствующий этому датчику питоновский класс BinSensor отображает всего 2 состояния. Предлагаю каждому состоянию нарисовать свое изображение. Изображение прикрепляется к фиксированным координатам окна программы поверх фонового изображения.

Как подключить датчики к компьютеру

Как только пришло значение «0» показываем первую картинку. Если пришло значение «1», то показываем вторую картинку. Изображения могут быть любыми — все зависит от нашей фантазии.

В функцию __init__, которая вызывается при создании экземпляра класса, передаются параметры:
Name – название датчика
Img0 и img1 – имена файлов картинок, используемых для отображения состояния датчика.
X и y – координаты окна, где будет отображаться датчик.

При создании объекта датчика сразу создается Label с картинкой и размещается в окне Tkinter.

Функция set принимает параметр строку – это новое состояние датчика «0» или «1». В зависимости от нового значения картинка внутри Label переконфигурируется, меняется на другую. В общем это и все.

Аналогичным образом реализуется второй класс vBarSensor.

Этот класс графически представляет датчик типа термометра. Значения из датчика могут меняться в некотором диапазоне. Так же при создании экземпляра этого класса нужно указать имя датчика. Кроме этого у термометра есть возможное минимальное и максимальное значение, и еще указываем координаты столбика в окне визуализации, ширину и высоту столбика.

Столбик термометра как бы состоит из двух частей нижняя красная и верхняя светлая.
Можно было бы создать один Tkinter canvas и на нем нарисовать эти столбики, но почему-то я сделал не так. Сделал два canvas разного цвета и в функции set() меняю им вертикальный размер. В принципе это не важно. Работает. Кстати, если хочется видеть именно изображение термометра в окне визуализации, то его можно нарисовать на фоновом изображении окна, а поверх него разместить экземпляр vBarSensor.

Как подключить датчики к компьютеру

Наверное будет симпатично.

Написал еще один класс GridDisplay для отображения показаний датчика и изменении их во времени. Его исходный код приводить здесь не буду, чтобы не перегружать статью излишними подробностями. Кому будет нужно скачает с сайта весь проект, вместе с исходниками для ПЛИС для Altera Quartus II.

А вот главную программу alls.py пожалуй покажу. Здесь не очень много всего:

В этой программе открываю последовательный порт для чтения. Загружаю фоновое изображение в окно. Создаю список всех имеющихся датчиков. Далее читаю строки з порта, разбираю их и по имени датчика передаю соответствующему экземпляру классов новое значение.

Запустить программу из Python легко: «import alls», где alls — это имя главной программы файл alls.py. Вот так сейчас выглядит моя программа:

Как подключить датчики к компьютеру

Вот видео, которое показывает, как все это работает (только не пугайтесь, я там фен включаю для нагрева датчика температуры, так что звук лучше прикрутить):

Теперь, когда «скелет» приложения работает, то можно приступать к детальному рисованию плана помещения и установленных в нем датчиков.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *