Innholdsfortegnelse:
Video: DS18B20 Temperatursensorboks: 5 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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?
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
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:-