Съдържание:

Кутия за температурен сензор DS18B20: 5 стъпки
Кутия за температурен сензор DS18B20: 5 стъпки

Видео: Кутия за температурен сензор DS18B20: 5 стъпки

Видео: Кутия за температурен сензор DS18B20: 5 стъпки
Видео: FLProg10: датчик температуры DS18B20 | ESP32 NodeMCU | Визуальное программирование для Arduino 2024, Ноември
Anonim
Кутия за температурен сензор DS18B20
Кутия за температурен сензор DS18B20

Прост сензор за температура, базиран на DS18B20, с 3D отпечатваща кутия с отворен код и прототип на печатна платка.

Кутията и прототипът на печатна платка са по избор, необходими са само един MCU базиран на ESP8266 и един температурен сензор DS18B20. Предлагам ви WEMOS D1 mini, но този пример работи и с ESP-01.

Този пример обяснява как да напишете и качите програма на Arduino в MCU на ESP8266, така че имайте предвид това умение, преди да ме последвате.:)

Консумативи

Трябва да има:- ESP8266 MCU- DS18B20- един резистор 4,7 kOhm- малко проводник

По желание има:- WEMOS D1 mini като MCU- прототипна платка за WEMOS D1 mini- 3D печатна кутия

Стъпка 1: Как да свържете проводниците?

Как да свържете проводниците?
Как да свържете проводниците?

Лесно е като пай, проверете схемите на окабеляване на снимката …:)

1, В случай на гола платка ESP8266, свържете RX и TX към вашето USB-серийно устройство, в случай на платка с вграден USB това не е необходимо.

2, Свържете GND и VCC към платката ESP8266 и към сензора DS18B20.

3, Свържете резистора между VCC и проводника за данни на сензора DS18B20.

4, Свържете кабела за данни на сензора DS18B20 към един GPIO на MCU (например GPIO 2).

Стъпка 2: Конфигурирайте ArduinoIDE

Имате нужда от три допълнителни библиотеки:- OneWire: https://www.arduinolibraries.info/libraries/one-wire- Далас Температура: https://www.arduinolibraries.info/libraries/dallas-temperature- Интеграцията на гуру на IoT:

Стъпка 3: Регистрирайте се и създайте устройство, възел и поле

Облакът на IoT Guru е безплатен облачен бекенд, можете да го използвате, за да запазвате и показвате измерванията много лесно.

Трябва да създадете устройство, възел и поле:- Името на устройството е ESP8266: https://iotguru.cloud/tutorials/devices- Името на възела е DS18B20: https://iotguru.cloud/tutorials/ възли- Името на полето е температура:

За да се свържете с облака, трябва да съберете пет идентификатора:- userShortId: краткият идентификатор на вас- deviceShortId: краткият идентификатор на вашето устройство- deviceKey: секретният ключ на вашето устройство- nodeShortId: краткият идентификатор на вашето устройство- fieldName: името на полето

Стъпка 4: Arduino код

Ето примерния код, трябва да замените идентификаторите с вашия идентификатор, да замените SSID и паролата на вашите идентификационни данни за WiFi и да проверите GPIO номера на кабела за данни DS18B20.

#включва

#include #include #include const char* ssid = "iotguru.cloud"; const char*password = "********"; Низ userShortId = "l4jLDUDDVKNNzx4wt2UR6Q"; Низово устройствоShortId = "uAjbSzf8LvlrofvwYU8R6g"; Низово устройствоKey = "hacfIjPn6KbBf2md8nxNeg"; IoTGuru iotGuru = IoTGuru (userShortId, deviceShortId, deviceKey); Низ nodeKey = "tGib1WSRvEGJ98rQYU8R6g"; Низ fieldName = "температура"; #define ONE_WIRE_BUS 2 OneWire oneWire (ONE_WIRE_BUS); Даларски сензори за температура (& oneWire); void setup (void) {Serial.begin (115200); забавяне (10); WiFi.begin (ssid, парола); while (WiFi.status ()! = WL_CONNECTED) {забавяне (50); Serial.print ("."); } Serial.println (""); iotGuru.setCheckDuration (60000); iotGuru.setDebugPrinter (& Serial); sensors.begin (); } void loop (void) {iotGuru.check (); sensors.requestTemperatures (); float mereValue = sensors.getTempCByIndex (0); Serial.println ("Първата температура на сензора:" + Низ (измерена стойност) + "° C"); iotGuru.sendHttpValue (nodeKey, fieldName, mereValue); забавяне (30000); }

Стъпка 5: Изпълнете и проверете

Бягай и проверявай
Бягай и проверявай

Ако всичко е наред, вашата термометрова кутия ще изпрати измерванията на сензора в облака и ще видите такива хубави графики с течение на времето, ако са натрупани достатъчно измервания.

Примери на живо: -

Разширен проект на GitHub:-

Препоръчано: