Scatola del sensore di temperatura DS18B20: 5 passaggi
Scatola del sensore di temperatura DS18B20: 5 passaggi
Anonim
Scatola sensore di temperatura DS18B20
Scatola sensore di temperatura DS18B20

Semplice dispositivo con sensore di temperatura basato su DS18B20 con scatola stampabile 3D open source e PCB prototipo.

La scatola e il prototipo PCB sono opzionali, è necessario solo un MCU basato su ESP8266 e un sensore di temperatura DS18B20. Ti suggerisco un WEMOS D1 mini, ma questo esempio funziona anche con un ESP-01.

Questo esempio spiega come scrivere e caricare un programma Arduino sull'MCU ESP8266, quindi tieni presente questa abilità prima di seguirmi.:)

Forniture

Deve avere:- ESP8266 MCU- DS18B20- un resistore da 4,7 kOhm- qualche filo

Facoltativamente: - WEMOS D1 mini come MCU - PCB prototipo per WEMOS D1 mini - scatola stampata in 3D

Passaggio 1: come collegare i cavi?

Come collegare i fili?
Come collegare i fili?

È facile come una torta, controlla gli schemi di cablaggio sull'immagine …:)

1, in caso di scheda ESP8266 nuda, collegare RX e TX al dispositivo seriale USB, in caso di scheda con USB integrato questo non è necessario.

2, collegare GND e VCC alla scheda ESP8266 e al sensore DS18B20.

3, collegare il resistore tra il VCC e il cavo dati del sensore DS18B20.

4, collegare il cavo dati del sensore DS18B20 a un GPIO dell'MCU (ad esempio GPIO 2).

Passaggio 2: configura ArduinoIDE

Hai bisogno di tre librerie aggiuntive:- OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- The IoT Guru Integration:

Passaggio 3: registrarsi e creare un dispositivo, un nodo e un campo

Il cloud IoT Guru è un backend cloud gratuito, puoi usarlo per salvare e mostrare le misurazioni in modo davvero semplice.

Devi creare un dispositivo, un nodo e un campo:- Il nome del dispositivo è ESP8266: https://iotguru.cloud/tutorials/devices- Il nome del nodo è DS18B20: https://iotguru.cloud/tutorials/ nodi- Il nome del campo è temperatura:

Per connetterti al cloud, devi raccogliere cinque identificatori:- userShortId: l'identificatore breve del tuo dispositivo- deviceShortId: l'identificatore breve del tuo dispositivo- deviceKey: la chiave segreta del tuo dispositivo- nodeShortId: l'identificatore breve del tuo dispositivo- fieldName: il nome del campo

Passaggio 4: codice Arduino

Ecco il codice di esempio, devi sostituire gli identificatori al tuo identificatore, sostituire l'SSID e la password alle tue credenziali WiFi e controllare il numero GPIO del cavo dati DS18B20.

#includere

#include #include #include const char* ssid = "iotguru.cloud"; const char* password = "********"; String userShortId = "l4jLDUDDVKNNzx4wt2UR6Q"; String deviceShortId = "uAjbSzf8LvlrofvwYU8R6g"; String deviceKey = "hacfIjPn6KbBf2md8nxNeg"; IoTGuru iotGuru = IoTGuru(userShortId, deviceShortId, deviceKey); String nodeKey = "tGib1WSRvEGJ98rQYU8R6g"; String fieldName = "temperatura"; #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasSensori di temperatura(&oneWire); void setup(void) { Serial.begin(115200); ritardo(10); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { ritardo(50); Serial.print("."); } Serial.println(""); iotGuru.setCheckDuration(60000); iotGuru.setDebugPrinter(&Serial); sensori.begin(); } void loop(void) { iotGuru.check(); sensori.requestTemperatures(); float misuratoValore = sensori.getTempCByIndex(0); Serial.println("La temperatura del primo sensore: " + String(measuredValue) + " °C"); iotGuru.sendHttpValue(nodeKey, fieldName, misuratoValue); ritardo (30000); }

Passaggio 5: esegui e controlla

Esegui e controlla
Esegui e controlla

Se tutto va bene, la tua scatola del termometro invierà le misurazioni del sensore al cloud e vedrai grafici così belli nel tempo se si sono accumulate abbastanza misurazioni.

Esempi live: -

Progetto GitHub esteso:-

Consigliato: