Índice:

DS18B20 Caixa do sensor de temperatura: 5 etapas
DS18B20 Caixa do sensor de temperatura: 5 etapas

Vídeo: DS18B20 Caixa do sensor de temperatura: 5 etapas

Vídeo: DS18B20 Caixa do sensor de temperatura: 5 etapas
Vídeo: Sensor temperatura DS18B20 - Biblioteca para PIC 2024, Novembro
Anonim
DS18B20 Caixa de Sensor de Temperatura
DS18B20 Caixa de Sensor de Temperatura

Dispositivo sensor de temperatura simples baseado em DS18B20 com caixa para impressão 3D de código aberto e PCB protótipo.

A caixa e o protótipo de PCB são opcionais, apenas um MCU baseado em ESP8266 é necessário e um sensor de temperatura DS18B20. Eu sugiro a você um mini WEMOS D1, mas este exemplo funciona com um ESP-01 também.

Este exemplo explica como escrever e fazer upload de um programa Arduino para o MCU ESP8266, portanto, esteja ciente dessa habilidade antes de me seguir.:)

Suprimentos

Deve ter: - ESP8266 MCU- DS18B20- um resistor de 4,7 kOhm- algum fio

Opcionalmente, tem: - WEMOS D1 mini como MCU- protótipo PCB para WEMOS D1 mini-caixa impressa em 3D

Etapa 1: Como conectar os fios?

Como conectar os fios?
Como conectar os fios?

É muito fácil, verifique os esquemas de fiação na imagem …:)

1, No caso de placa ESP8266 nua, conecte o RX e TX ao seu dispositivo USB-serial, no caso de qualquer placa com USB integrado isso não é necessário.

2, Conecte o GND e o VCC à placa ESP8266 e ao sensor DS18B20.

3, conecte o resistor entre o VCC e o fio de dados do sensor DS18B20.

4, Conecte o fio de dados do sensor DS18B20 a um GPIO do MCU (por exemplo, GPIO 2).

Etapa 2: Configurar o ArduinoIDE

Você precisa de três bibliotecas adicionais: - OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- The IoT Guru Integration:

Etapa 3: Inscreva-se e crie um dispositivo, um nó e um campo

A nuvem IoT Guru é um back-end de nuvem gratuito, você pode usá-lo para salvar e mostrar medições realmente fácil.

Você precisa criar um dispositivo, um nó e um campo: - O nome do dispositivo é ESP8266: https://iotguru.cloud/tutorials/devices- O nome do nó é DS18B20: https://iotguru.cloud/tutorials/ nodes- O nome do campo é a temperatura:

Para se conectar à nuvem, você precisa reunir cinco identificadores: - userShortId: o identificador curto de você- deviceShortId: o identificador curto do seu dispositivo- deviceKey: a chave secreta do seu dispositivo- nodeShortId: o identificador curto do seu dispositivo- fieldName: O nome do campo

Etapa 4: Código Arduino

Aqui está o código de exemplo, você precisa substituir os identificadores para o seu identificador, substituir o SSID e a senha para suas credenciais WiFi e verificar o número GPIO do cabo de dados DS18B20.

#incluir

#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); Sensores de temperatura Dallas (& oneWire); configuração de vazio (vazio) {Serial.begin (115200); atraso (10); WiFi.begin (ssid, senha); while (WiFi.status ()! = WL_CONNECTED) {delay (50); Serial.print ("."); } Serial.println (""); iotGuru.setCheckDuration (60000); iotGuru.setDebugPrinter (& Serial); sensores.begin (); } loop void (void) {iotGuru.check (); sensores.requestTemperatures (); flutuanteamedValue = sensores.getTempCByIndex (0); Serial.println ("A primeira temperatura do sensor:" + String (MeasuredValue) + "° C"); iotGuru.sendHttpValue (nodeKey, fieldName,amedValue); atraso (30000); }

Etapa 5: Executar e verificar

Executar e verificar
Executar e verificar

Se tudo estiver bem, sua caixa de termômetro enviará as medições do sensor para a nuvem e você verá gráficos tão bonitos ao longo do tempo se medições suficientes tiverem se acumulado.

Exemplos ao vivo: -

Projeto GitHub estendido: -

Recomendado: