SHT10 - Эмуляция работы датчика

Добрый день, есть девайс к которому подключается датчик SHT10 , и он показывает температуру - требуется подключить 2560 вместо датчика что бы он выдавал температуру которую получает из вне по сети , что уже есть:
mega 2560 + w5100 на которой уже крутится snmp клиент забирающий температуру по SNMP сети из удаленных дачников.
на чем проблема этот датчик не i2c у него свой протокол

старовая последовательность:

					 /---------\              /---------\
					/     :     \            /     :     \
	                  SCL ___/      :      \__________/      :      \_________________
								:												 :		
								:												 :			
	              SDA ------\   :							 :  /----------------		
				       \  :					 : /
					    \_:________________________:/

Здорово!

Подключайте, не возражаю.

Из чего?

Не понял, кто на чём стоял, но в целом, “принято к сведению”.

1 лайк

Датчик выдаёт “подключите 2560”. Надо сделать вне сети из SHT10 хлебопечку, ибо реактивные трусы помпот не протокол.
Я правильно понял?

1 лайк

Так в даташите всё описано. Это не такая уж быстрая работа,
надо сидеть, разбираться.
Никто её за вас не сделает.

Проще посмотреть библиотеку из #3 и «реверснуть» её…

Возможно и так. Всё равно заниматься надо , время тратить

SNMP - LAN - 1-Wire - части уже сделаны

SHT10 вопрос там стартовая последовательность идет в 5 мкс + 5 мкс , с как в прервания попадаю уже не успеваю, возможно ли это сделать на 2560 или нужно делать pi2040-zero используя PIO

вот что мастер шлет

когда контроллер выступает мастером - там проще пинами дергать,
2.2 Serial clock input (SCK)
SCK is used to synchronize the communication between
microcontroller and SHT1x. Since the interface consists of
fully static logic there is no minimum SCK frequency.

а вот в режиме эмуляции датчика , сложней отловить, при условии что на скорость мастера мы повлиять не можем
PS:
можно прикрутить датчик в штатное место к нему Модуль Пельтье которым управлять с помощью контролера нагрев - охлаждения , + еще ds18b20 для обратной связи :slight_smile: - Это шутка!

Может будет проще, для симуляции датчика, взять отдельный контроллер AVR(ATtiny), и напрямую, без прерываний читать пин.

Почему нельзя применить аппаратный i2c?

“Эти датчики используют «двухпроводную» коммуникационную шину, похожую на I2C, и могут сосуществовать на том же физическом проводе, что и устройства I2C.”

Может и можно, если знаешь как - подскажи

The serial interface of the SHT1x is optimized for sensor readout and effective power consumption. The sensor cannot be addressed by I2C protocol; however, the sensor can be connected to an I2C bus without interference with other devices connected to the bus. The controller must switch between the protocols.

у него стартовая последовательность старт-стоп стандартного i2c

Ну если знаешь контроллер - хорошо
А так -
while(PINB & 0x01);//что- типа такого

На какой- нибудь Тиньке ( может 85) пробовать.

P.S. Сам не делал - только мысли)))

1 лайк

да я готов взять и pi2040 zero 133 MHz , может в нем успею обработать все таки кратность скорости выше , на 2560 нужно 4 мк для входа в прерывание пока уходишь уже часть стартового фронта теряешь + прочитать порт если тяжелыми методами еще время, если из портов напрямую то быстрей

у меня Attiny2313 где то была с 2006 года :slight_smile: можно попробовать

Вот не помню, как она от кварца 16МГц пашет, от 8 - точно сможет. Но чем выше частота - тем лучше конечно

По даташиту некоторые Тиньки до 20МГц могут работать, но не от кварца, а от внешнего источника (типа кварцевый генератор).
Всё хочу попробовать запустить, но руки не доходят

P.S А 85 на 16МГц от внутреннего генератора работает