Tabla de contenido:
Video: Caja del sensor de temperatura DS18B20: 5 pasos
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Dispositivo sensor de temperatura simple basado en DS18B20 con caja imprimible en 3D de código abierto y prototipo de PCB.
La caja y el prototipo de PCB son opcionales, solo se necesita un MCU basado en ESP8266 y un sensor de temperatura DS18B20. Te sugiero un WEMOS D1 mini, pero este ejemplo también funciona con un ESP-01.
Este ejemplo explica cómo escribir y cargar un programa Arduino en la MCU ESP8266, así que tenga en cuenta esta habilidad antes de seguirme.:)
Suministros
Debe tener: - MCU ESP8266 - DS18B20 - Una resistencia de 4.7 kOhm - Algún cable
Opcionalmente tener: - WEMOS D1 mini como MCU - Prototipo de PCB para WEMOS D1 mini - Caja impresa en 3D
Paso 1: ¿Cómo conectar los cables?
Es muy fácil, verifique los esquemas de cableado en la imagen …:)
1, en el caso de una placa ESP8266 desnuda, conecte el RX y TX a su dispositivo USB-serial, en el caso de cualquier placa con USB integrado, esto no es necesario.
2, conecte GND y VCC a la placa ESP8266 y al sensor DS18B20.
3, conecte la resistencia entre el VCC y el cable de datos del sensor DS18B20.
4, conecte el cable de datos del sensor DS18B20 a un GPIO de la MCU (por ejemplo, GPIO 2).
Paso 2: configurar el ArduinoIDE
Necesita tres bibliotecas adicionales: - OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- The IoT Guru Integration:
Paso 3: Regístrese y cree un dispositivo, un nodo y un campo
La nube de IoT Guru es un backend en la nube gratuito, puede usarlo para guardar y mostrar mediciones de manera muy fácil.
Necesita crear un dispositivo, un nodo y un campo: - El nombre del dispositivo es ESP8266: https://iotguru.cloud/tutorials/devices- El nombre del nodo es DS18B20: https://iotguru.cloud/tutorials/ nodos: el nombre del campo es temperatura:
Para conectarse con la nube, necesita reunir cinco identificadores: - userShortId: el identificador corto de su dispositivo- deviceShortId: el identificador corto de su dispositivo- deviceKey: la clave secreta de su dispositivo- nodeShortId: el identificador corto de su dispositivo- fieldName: el nombre del campo
Paso 4: Código Arduino
Aquí está el código de ejemplo, debe reemplazar los identificadores por su identificador, reemplazar el SSID y la contraseña por sus credenciales WiFi y verificar el número GPIO del cable de datos DS18B20.
#incluir
#include #include #include const char * ssid = "iotguru.cloud"; const char * contraseña = "********"; 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); Sensores de temperatura de Dallas (y oneWire); configuración nula (nula) {Serial.begin (115200); retraso (10); WiFi.begin (ssid, contraseña); while (WiFi.status ()! = WL_CONNECTED) {retraso (50); Serial.print ("."); } Serial.println (""); iotGuru.setCheckDuration (60000); iotGuru.setDebugPrinter (& Serial); sensores.begin (); } bucle vacío (vacío) {iotGuru.check (); sensores.requestTemperaturas (); flotador valor medido = sensores.getTempCByIndex (0); Serial.println ("La temperatura del primer sensor:" + Cadena (valor medido) + "° C"); iotGuru.sendHttpValue (clave de nodo, nombre de campo, valor medido); retraso (30000); }
Paso 5: Ejecutar y verificar
Si todo está bien, la caja de su termómetro enviará las mediciones del sensor a la nube y verá gráficos tan agradables a lo largo del tiempo si se han acumulado suficientes mediciones.
Ejemplos en vivo: -
Proyecto extendido de GitHub: -