INHOUDSOPGAWE:
Video: DS18B20 Temperatuursensor: 5 stappe
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Eenvoudige temperatuur sensor sensor op DS18B20 met 'n open source 3D drukbare boks en prototipe PCB.
Die boks en die prototipe PCB is opsioneel, slegs een ESP8266 -gebaseerde MCU is nodig en een DS18B20 -temperatuursensor. Ek stel u 'n WEMOS D1 mini voor, maar hierdie voorbeeld werk ook met 'n ESP-01.
Hierdie voorbeeld verduidelik wel hoe u 'n Arduino -program kan skryf en oplaai na die ESP8266 MCU, dus wees bewus van hierdie vaardigheid voordat u my volg.:)
Voorrade
Moet beskik oor:- ESP8266 MCU- DS18B20- een 4,7 kOhm weerstand- sommige draad
Het opsioneel:- WEMOS D1 mini as MCU- prototipe PCB vir WEMOS D1 mini- 3D gedrukte boks
Stap 1: Hoe om die drade aan te sluit?
Dit is maklik, kyk na die bedradingskemas op die prentjie …:)
1, in die geval van 'n blote ESP8266-kaart, koppel die RX en TX aan u USB-seriële toestel; in geval van 'n bord met geïntegreerde USB is dit nie nodig nie.
2, Verbind die GND en VCC met die ESP8266 -bord en die DS18B20 -sensor.
3, verbind die weerstand tussen die VCC en die datakabel van die DS18B20 -sensor.
4, Verbind die datakabel van die DS18B20 -sensor met een GPIO van die MCU (byvoorbeeld GPIO 2).
Stap 2: Stel die ArduinoIDE op
U benodig drie ekstra biblioteke:- OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- The IoT Guru Integration:
Stap 3: Registreer en skep 'n toestel, 'n knoop en 'n veld
Die IoT Guru -wolk is 'n gratis wolk -agterkant, u kan dit maklik gebruik om metings op te slaan en te wys.
U moet 'n toestel, 'n knoop en 'n veld skep:- Naam van die toestel is ESP8266: https://iotguru.cloud/tutorials/devices- Naam van die knoop is DS18B20: https://iotguru.cloud/tutorials/ nodusse- Naam van die veld is temperatuur:
Om met die wolk in verbinding te tree, moet u vyf identifiseerders versamel:- userShortId: die kort identifiseerder van u- deviceShortId: die kort identifiseerder van u toestel- deviceSleutel: die geheime sleutel van u toestel- nodeShortId: die kort identifiseerder van u toestel- veldnaam: die naam van die veld
Stap 4: Arduino -kode
Hier is die voorbeeldkode; u moet die identifiseerders in u identifiseerder vervang, die SSID en die wagwoord vir u WiFi -geloofsbriewe vervang en die GPIO -nommer van die DS18B20 -datadraad nagaan.
#insluit
#include #include #include const char* ssid = "iotguru.cloud"; const char*wagwoord = "********"; String userShortId = "l4jLDUDDVKNNzx4wt2UR6Q"; String deviceShortId = "uAjbSzf8LvlrofvwYU8R6g"; String deviceKey = "hacfIjPn6KbBf2md8nxNeg"; IoTGuru iotGuru = IoTGuru (userShortId, deviceShortId, deviceKey); String nodeKey = "tGib1WSRvEGJ98rQYU8R6g"; String fieldName = "temperatuur"; #definieer ONE_WIRE_BUS 2 OneWire oneWire (ONE_WIRE_BUS); DallasTemperatuur sensors (& oneWire); leemte opstel (leeg) {Serial.begin (115200); vertraging (10); WiFi.begin (ssid, wagwoord); terwyl (WiFi.status ()! = WL_CONNECTED) {vertraging (50); Serial.print ("."); } Serial.println (""); iotGuru.setCheckDuration (60000); iotGuru.setDebugPrinter (en reeks); sensors.begin (); } leemte -lus (leegte) {iotGuru.check (); sensors.versoekTemperature (); float measureValue = sensors.getTempCByIndex (0); Serial.println ("Die eerste sensortemperatuur:" + String (measureValue) + "° C"); iotGuru.sendHttpValue (nodeKey, fieldName, measureValue); vertraging (30000); }
Stap 5: Begin en kontroleer
As alles reg is, stuur u termometerkas die sensormetings na die wolk, en u sal mettertyd sulke goeie grafieke sien as daar genoeg metings is.
Regstreekse voorbeelde: -
Uitgebreide GitHub-projek:-