|  | 
 
 | 
|  | 
| 
			 
			#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. |