Inhoudsopgave:

DS18B20 temperatuursensorbox - Ajarnpa
DS18B20 temperatuursensorbox - Ajarnpa

Video: DS18B20 temperatuursensorbox - Ajarnpa

Video: DS18B20 temperatuursensorbox - Ajarnpa
Video: DS18B20 Temperature Sensor Tutorial 2024, November
Anonim
DS18B20 Temperatuursensordoos
DS18B20 Temperatuursensordoos

Eenvoudig op DS18B20 gebaseerd temperatuursensorapparaat met open source 3D-afdrukbare doos en prototype PCB.

De doos en de prototype-printplaat zijn optioneel, er is slechts één op ESP8266 gebaseerde MCU nodig en één DS18B20-temperatuursensor. Ik raad je een WEMOS D1 mini aan, maar dit voorbeeld werkt ook met een ESP-01.

In dit voorbeeld wordt uitgelegd hoe je een Arduino-programma schrijft en uploadt naar de ESP8266 MCU, dus wees je bewust van deze vaardigheid voordat je mij volgt.:)

Benodigdheden

Moet hebben: - ESP8266 MCU - DS18B20 - één weerstand van 4,7 kOhm - wat draad

Optioneel hebben: - WEMOS D1 mini als MCU - prototype PCB voor WEMOS D1 mini - 3D-geprinte doos

Stap 1: Hoe de draden aan te sluiten?

Hoe de draden aan te sluiten?
Hoe de draden aan te sluiten?

Het is een fluitje van een cent, bekijk de bedradingsschema's op de foto…:)

1, In het geval van een kale ESP8266-kaart, sluit u de RX en TX aan op uw USB-serieel apparaat, in het geval van een kaart met geïntegreerde USB is dit niet nodig.

2, sluit de GND en VCC aan op het ESP8266-bord en op de DS18B20-sensor.

3, sluit de weerstand aan tussen de VCC en de datadraad van de DS18B20-sensor.

4, sluit de datadraad van de DS18B20-sensor aan op een GPIO van de MCU (bijvoorbeeld GPIO 2).

Stap 2: Configureer de ArduinoIDE

U hebt drie extra bibliotheken nodig: - OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- The IoT Guru Integration:

Stap 3: Meld u aan en maak een apparaat, een knooppunt en een veld aan

De IoT Guru-cloud is een gratis cloud-backend, waarmee u heel eenvoudig metingen kunt opslaan en weergeven.

U moet een apparaat, een knooppunt en een veld maken:- Naam van het apparaat is ESP8266: https://iotguru.cloud/tutorials/devices- Naam van het knooppunt is DS18B20: https://iotguru.cloud/tutorials/ nodes- Naam van het veld is temperatuur:

Om verbinding te maken met de cloud, moet u vijf identificatiegegevens verzamelen: - userShortId: de korte identificatiecode van u - deviceShortId: de korte identificatiecode van uw apparaat - deviceKey: de geheime sleutel van uw apparaat - nodeShortId: de korte identificatiecode van uw apparaat - fieldName: de naam van het veld

Stap 4: Arduino-code

Hier is de voorbeeldcode, u moet de identifiers vervangen door uw identifier, de SSID en het wachtwoord vervangen door uw WiFi-inloggegevens en het GPIO-nummer van de DS18B20-datakabel controleren.

#erbij betrekken

#include #include #include const char* ssid = "iotguru.cloud"; const char* wachtwoord = "********"; String userShortId = "l4jLDUDDVKNNzx4wt2UR6Q"; String deviceShortId = "uAjbSzf8LvlrofvwYU8R6g"; String deviceKey = "hacfIjPn6KbBf2md8nxNeg"; IoTGuru iotGuru = IoTGuru (userShortId, deviceShortId, deviceKey); String nodeKey = "tGib1WSRvEGJ98rQYU8R6g"; String fieldName = "temperatuur"; #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperatuursensoren (&oneWire); void setup (void) {Serial.begin(115200); vertraging(10); WiFi.begin(ssid, wachtwoord); while (WiFi.status() != WL_CONNECTED) { delay(50); Serieel.print("."); } Serieel.println(""); iotGuru.setCheckDuration(60000); iotGuru.setDebugPrinter(&Serial); sensoren.begin(); } void loop(void) { iotGuru.check(); sensoren.requestTemperatures(); float gemetenValue = sensors.getTempCByIndex(0); Serial.println ("De eerste sensortemperatuur: " + String (measuredValue) + " °C"); iotGuru.sendHttpValue (knooppuntsleutel, veldnaam, gemeten waarde); vertraging (30000); }

Stap 5: Uitvoeren en controleren

Uitvoeren en controleren
Uitvoeren en controleren

Als alles in orde is, stuurt je thermometerdoos de sensormetingen naar de cloud en zie je na verloop van tijd zulke mooie grafieken als er genoeg metingen zijn verzameld.

Live voorbeelden: -

Uitgebreid GitHub-project: -

Aanbevolen: