Innholdsfortegnelse:

DS18B20 Temperatursensorboks: 5 trinn
DS18B20 Temperatursensorboks: 5 trinn

Video: DS18B20 Temperatursensorboks: 5 trinn

Video: DS18B20 Temperatursensorboks: 5 trinn
Video: DS18B20 Temperature Sensor Tutorial 2024, November
Anonim
DS18B20 Temperatursensorboks
DS18B20 Temperatursensorboks

Enkel DS18B20 -basert temperatursensor med åpen kildekode, 3D -utskrivbar boks og prototype PCB.

Boksen og prototypen PCB er valgfri, bare en ESP8266 -basert MCU er nødvendig og en DS18B20 temperatursensor. Jeg foreslår deg en WEMOS D1 mini, men dette eksemplet fungerer også med en ESP-01.

Dette eksemplet forklarer hvordan du skriver og laster opp et Arduino -program til ESP8266 MCU, så vær oppmerksom på denne ferdigheten før du følger meg.:)

Rekvisita

Må ha:- ESP8266 MCU- DS18B20- en 4,7 kOhm motstand- noen ledninger

Har eventuelt:- WEMOS D1 mini som MCU- prototype PCB for WEMOS D1 mini- 3D-trykt eske

Trinn 1: Hvordan koble ledningene?

Hvordan koble ledningene?
Hvordan koble ledningene?

Det er lett som en kake, sjekk ledningsskjemaene på bildet …:)

1, I tilfelle bare ESP8266-kort, koble RX og TX til din USB-serielle enhet, hvis det er et kort med integrert USB, er dette ikke nødvendig.

2, Koble GND og VCC til ESP8266 -kortet og til DS18B20 -sensoren.

3, Koble motstanden mellom VCC og datakabelen til DS18B20 -sensoren.

4, Koble datakabelen til DS18B20 -sensoren til en GPIO på MCU (for eksempel GPIO 2).

Trinn 2: Konfigurer ArduinoIDE

Du trenger tre ekstra bibliotek:- OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- The IoT Guru Integration:

Trinn 3: Registrer deg og opprett en enhet, en node og et felt

IoT Guru -skyen er en gratis skybackend, du kan bruke den til å lagre og vise målinger veldig enkelt.

Du må opprette en enhet, en node og et felt:- Navnet på enheten er ESP8266: https://iotguru.cloud/tutorials/devices- Navnet på noden er DS18B20: https://iotguru.cloud/tutorials/ noder- Navnet på feltet er temperatur:

For å koble til skyen må du samle fem identifikatorer:- userShortId: den korte identifikatoren for deg- deviceShortId: den korte identifikatoren til enheten din- enhetNøkkel: den hemmelige nøkkelen til enheten- nodeShortId: den korte identifikatoren til enheten- feltnavn: navnet på feltet

Trinn 4: Arduino -kode

Her er eksempelkoden, du må bytte identifikatorene til identifikatoren din, erstatte SSID og passordet til WiFi -legitimasjonen og sjekke GPIO -nummeret til DS18B20 -datakabelen.

#inkludere

#include #include #include const char* ssid = "iotguru.cloud"; const char*passord = "********"; String userShortId = "l4jLDUDDVKNNzx4wt2UR6Q"; String deviceShortId = "uAjbSzf8LvlrofvwYU8R6g"; String deviceKey = "hacfIjPn6KbBf2md8nxNeg"; IoTGuru iotGuru = IoTGuru (userShortId, deviceShortId, deviceKey); String nodeKey = "tGib1WSRvEGJ98rQYU8R6g"; String fieldName = "temperatur"; #define ONE_WIRE_BUS 2 OneWire oneWire (ONE_WIRE_BUS); DallasTemperatursensorer (& oneWire); void -oppsett (void) {Serial.begin (115200); forsinkelse (10); WiFi.begin (ssid, passord); mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (50); Serial.print ("."); } Serial.println (""); iotGuru.setCheckDuration (60000); iotGuru.setDebugPrinter (& Serial); sensorer.begynner (); } void loop (void) {iotGuru.check (); sensors.requestTemperatures (); float måltValue = sensors.getTempCByIndex (0); Serial.println ("Den første sensortemperaturen:" + streng (måltVærdi) + "° C"); iotGuru.sendHttpValue (nodeKey, fieldName, måltValue); forsinkelse (30000); }

Trinn 5: Kjør og sjekk

Kjør og sjekk
Kjør og sjekk

Hvis alt er i orden, vil termometerboksen sende sensormålingene til skyen, og du vil se så fine grafer over tid hvis det er akkumulert nok målinger.

Levende eksempler: -

Utvidet GitHub-prosjekt:-

Anbefalt: