Sensor T +wemos d1 (esp8622)

brizF
Offline
Зарегистрирован: 23.10.2018

ребята помогите подключить датчик температуры с двумя проводами к плате wemos d1 (esp8622)? Хочу чтобы данные отправлялись на сервер по вайфай. 

у меня такой https://ru.aliexpress.com/item/Free-shipping-Electronic-1M-NTC-Waterproof-Probe-Thermistor-Accuracy-Temperature-Sensor-10K-1/1959391024.html?spm=a2g0s.9042311.0.0.3d8133edMqhJHl

 

плата такая https://ru.aliexpress.com/item/WeMos-D1-CH340-Wi-Fi-ESP8266-ESP-12E-Wemos-D1/32836095215.html?spm=a2g0s.9042311.0.0.3da233edAIj71X

 

 

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

И скетч написать?
В поиске наберите подключение термистора к esp - тысячи ссылок.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

brizF пишет:

ребята помогите подключить датчик температуры с двумя проводами к плате wemos d1 (esp8622)? Хочу чтобы данные отправлялись на сервер по вайфай. 

Это не сюда, а к реке, ловить тыщелетнюю щуку.  Мошт, по её веленью чонить и получица.

brizF
Offline
Зарегистрирован: 23.10.2018

andycat пишет:
И скетч написать? В поиске наберите подключение термистора к esp - тысячи ссылок.

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

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

я лично, ни одного термистора с тремя проводами вживую не видел. Если у термистора 3 провода - это скорее всего DS18B20

https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%80%D0%BC%D0%BE%D1%80%D0%B5%D0%B7%D0%B8%D1%81%D1%82%D0%BE%D1%80

Покажи мне на этих картинках 

https://www.google.ru/search?q=%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D1%80&newwindow=1&rlz=1C1CHMD_ruRU723RU723&source=lnms&tbm=isch&sa=X&ved=0ahUKEwj9v72H84XfAhWPxosKHSz9DP8Q_AUIDigB&biw=1745&bih=862

хоть один с тремя проводами. 

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Или LM35/LM36.

brizF
Offline
Зарегистрирован: 23.10.2018

DetSimen пишет:

я лично, ни одного термистора с тремя проводами вживую не видел. Если у термистора 3 провода - это скорее всего DS18B20

https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%80%D0%BC%D0%BE%D1%80%D0%B5...

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

я специально создал тему в разделе помощь т.к. нуб

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Мда. 

Пропробуй сначала светлодиодикам помигать, а не хочешь --> сообщение #2

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну так вас никто и не бьет за то, что нуб (потому что в раздел правильный написали). Просто запомните, что термистор - с двумя ногами. 

brizF
Offline
Зарегистрирован: 23.10.2018

вот например в одном из примеров подключения пишут что нужно соединять через резистор 4.7КоМ. http://house4u.com.ua/articles/solar-controller/part12.php 

почему именно 4.7КоМ? потому что напряжение 5В? если брать напряжение 3.3В то резистор будет 3КоМ?

sadman41
Offline
Зарегистрирован: 19.10.2016

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

https://lib.chipdip.ru/179/DOC000179787.pdf

The 1-wire bus requires an external pullup resistor of approximately 5 kΩ; thus, the idle state for the 1- wire bus is high. If for any reason a transaction needs to be suspended, the bus MUST be left in the idle state if the transaction is to resume. Infinite recovery time can occur between bits so long as the 1-wire bus is in the inactive (high) state during the recovery period. If the bus is held low for more than 480 µs, all components on the bus will be reset.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Да уж )))

brizF
Offline
Зарегистрирован: 23.10.2018

sadman41 пишет:

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

https://lib.chipdip.ru/179/DOC000179787.pdf

The 1-wire bus requires an external pullup resistor of approximately 5 kΩ; thus, the idle state for the 1- wire bus is high. If for any reason a transaction needs to be suspended, the bus MUST be left in the idle state if the transaction is to resume. Infinite recovery time can occur between bits so long as the 1-wire bus is in the inactive (high) state during the recovery period. If the bus is held low for more than 480 µs, all components on the bus will be reset.

а если нет спецификации с рекомендациями производителя как в моем случае? https://ru.aliexpress.com/item/Free-shipping-Electronic-1M-NTC-Waterproof-Probe-Thermistor-Accuracy-Temperature-Sensor-10K-1/1959391024.html?af=1516381&cv=23588177&cn=42pj7lndpl4kbu2woe0lxk8vfn1pyqmg&dp=v5_42pj7lndpl4kbu2woe0lxk8vfn1pyqmg&af=1516381&cv=23588177&cn=42pj7lndpl4kbu2woe0lxk8vfn1pyqmg&dp=v5_42pj7lndpl4kbu2woe0lxk8vfn1pyqmg&afref=http%253A%252F%252Farduino.ru%252Fforum%252Fpesochnitsa%252Fsensor-t-wemos-d1-esp862&aff_platform=default&cpt=1543921754002&sk=ccfBY4yg&aff_trace_key=68d6a71b2c294bc9af0da5e1721b9984-1543921754002-05631-ccfBY4yg&terminal_id=d2addcefb7844c3391569e4506907088

с каким сопротивлением брать резистор?

вот описание чтобы не открывать ссылку

 

Особенности
1. Диапазон измерения:-20 Цельсия ~ 105 Цельсия
2. Длина провода:1 м
3. Размер зонда:5x30 мм
4. Тип:NTC 10k±1% 3950
5. типичная постоянная рассеивание:5 МВт/Цельсия
6. Сопротивление изоляции зонда:> 100 МОм
7. пиковое напряжение выдерживает время:2 секунды, AC1800V 1mA 2 секунды
 
3950 10 К Температура сопротивление соответствуют

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Еще раз: термистор NTC и цифровой термометр DS18B20 - это разные приборы и подключаются они по-разному.

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

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Третьего провода в NTC не узрел однако - хорошая статья

------------------------------------------------
Спасибо. В "простейшие" уволок.)))

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

В Песочнице мы нубов не пинаем, а просвещаем! ;)))

2ТС (2 - от аглицкого two, произносится как "ту" предлог "к"; ТС - Топик Стартер - тот, кто начал тему):

в последнем сообщении ты указал именно термистор, или терморезистор.

Термистор NTC - означает, что с повышением температуры сопротивление падает.

В отличии от термистора DS1820 - это цифровой термодатчик, который может сам измерить, преобразовать и передать по запросу ЗНАЧЕНИЕ температуры.

В описании указано, что передаточная характеристика - NTC, то есть отрицательная,  номинал при 25грС - 10К, В-константа = 3950К.

Следовательно сопротивление этой "хреновины" (спасибо фильму "Миллион в брачной корзине" ;))) ) определяется как:

R = 10K*exp( 3950*  (1/(T+273) - 1/(25+273) ) )

Например при 100гр.С R = 695 Ом.

Обратную формулу нетрудно написать:

Т = (3950 * 298) / (298 * ln(R/10000) + 3950)

----------------------------

Как измерить R от 0 до 10000 мостом или делитетем - думаю - ТС сможет найти в Инете.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

Как измерить R от 0 до 10000 мостом или делитетем - думаю - ТС сможет найти в Инете.

Да, даже скетч есть )))

// Взято здесь - <a data-cke-saved-href="http://arduino-diy.com/arduino-thermistor" href="http://arduino-diy.com/arduino-thermistor" rel="nofollow">http://arduino-diy.com/arduino-thermistor</a>

// к какому аналоговому пину мы подключены
#define THERMISTORPIN A0
// сопротивление при 25 градусах по Цельсию
#define THERMISTORNOMINAL 10000
// temp. для номинального сопротивления (практически всегда равна 25 C)
#define TEMPERATURENOMINAL 25
// сколько показаний используем для определения среднего значения
#define NUMSAMPLES 5
// бета коэффициент термистора (обычно 3000-4000)
#define BCOEFFICIENT 3950
// сопротивление второго резистора
#define SERIESRESISTOR 10000
int samples[NUMSAMPLES];

void setup(void) {
Serial.begin(9600);
analogReference(EXTERNAL); // подсоединить вывод AREF к 3.3 вольта
}

void loop(void) {

uint8_t i;
float average;
// сводим показания в вектор с небольшой задержкой между снятием показаний
for (i=0; i< NUMSAMPLES; i++) {
samples[i] = analogRead(THERMISTORPIN);
delay(10);
}

// рассчитываем среднее значение
average = 0;
for (i=0; i< NUMSAMPLES; i++) {
average += samples[i];
}

average /= NUMSAMPLES;
Serial.print("Average analog reading ");
Serial.println(average);
// конвертируем значение в сопротивление
average = 1023 / average - 1;
average = SERIESRESISTOR / average;
Serial.print("Thermistor resistance ");
Serial.println(average);
float steinhart;
steinhart = average / THERMISTORNOMINAL; // (R/Ro)
steinhart = log(steinhart); // ln(R/Ro)
steinhart /= BCOEFFICIENT; // 1/B * ln(R/Ro)
steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
steinhart = 1.0 / steinhart; // инвертируем
steinhart -= 273.15; // конвертируем в градусы по Цельсию
Serial.print("Temperature ");
Serial.print(steinhart);
Serial.println(" *C");
delay(1000);
}