|
|
#1
|
|||
|
|||
Delphi7 и DS18B20
Добрый день.
Если кому не жалко дайте пример кода для чтения температуры с датчика DS18B20. Есть желание попробовать сделать самописец, для записи температуры с 3х датчиков на компьютер, и построения графиков. |
#2
|
||||
|
||||
У меня есть опыт такой разработки, только для микроконтроллеров. Самый разумный вариант - контроллер, читающий температуру с датчиков, и выдающий результаты в порт. Но это совсем другая история...
Через какой интерфейс собираетесь делать обмен данными? Там в протоколе есть местами довольно жёсткие требования по длительностям импульсов. Например, "не позднее чем через 10 мкс после ... мастер должен ...". Типовые временнЫе интервалы - 15 и 60 мкс. Плюс к этому у Вас несколько датчиков, и это значит, что либо Вы вешаете их на одну шину (протокол это позволяет сделать), но для этого надо предварительно прочитать ID-коды каждого датчика, либо делаете 3 канала с их мультиплексированием. Но главное - это способность Вашей системы формировать (и отслеживать) точные временнЫе интервалы, независимо от того, что делается на компьютере. Так что не уверен, что так просто получится это сделать (хотя где-то глубоко в памяти сидит подозрение, что где-то такую реализацию я уже видел. Могу ошибаться, т.к. склероз). Последний раз редактировалось Guaho, 30.04.2020 в 15:17. |
#3
|
|||
|
|||
Недавно я закончил устройство которое измеряет температуру сохраняет её в памяти МК и затем считывается ПК и рисует график температуры,(суточный самописец). Сейчас стоит зада постоянно измерять температуру в 3-х точках, и записывать её в ПК. В дальнейшем планирую делать тоже самое только уже в 40 точках. Вот по этому хотел работать напрямую с ПК, без промежуточного МК. Сейчас пока пытаюсь снять показания с двух датчиков на одной линии с помощью МК. Не удаётся прочитать их ID, хотя МК видит что на линии 2 датчика.
|
#4
|
||||
|
||||
Я поступал в такой ситуации тупо: каждый датчик (оба работали в паразитном режиме) включался в линию через свой джампер. Таким образом последовательно прочёл их ID. Знаю, что есть специальная процедура для чтения без отключения "лишних" датчиков на шине, но она шибко замудрёная, как по мне, и не стал я заморачиваться с этим.
|
#5
|
|||
|
|||
Вопрос остался, пример кода в Delphi7, для связи DS18B20 с компом. Подскажите кому не лень.
|
#6
|
||||
|
||||
Последний раз редактировалось Guaho, 12.05.2020 в 20:30. |