Arduino SHT31 e projeto LCD
Neste exemplo, criaremos um medidor de temperatura e umidade usando um sensor sht31 e exibiremos as leituras em um escudo LCD
SHT31 é a próxima geração de sensores de temperatura e umidade da Sensirion. Ele se baseia em um novo chip sensor CMOSens® que está no coração da nova plataforma de umidade e temperatura da Sensirion.
O SHT3x-DIS tem maior inteligência, confiabilidade e especificações de precisão aprimoradas em comparação com seu antecessor. Sua funcionalidade inclui processamento de sinal aprimorado, dois endereços I2C distintos e selecionáveis pelo usuário e velocidades de comunicação de até 1 MHz. O pacote DFN tem uma pegada de 2,5 x 2,5 mm2, mantendo uma altura de 0,9 mm.
Isso permite a integração do SHT3x-DIS em uma grande variedade de aplicações.
Conteudo
Características
Saída digital totalmente calibrada, linearizada e com compensação de temperatura
Ampla faixa de tensão de alimentação, de 2,4 V a 5,5 V
Interface I2C com velocidades de comunicação de até 1 MHz e dois endereços selecionáveis pelo usuário
Se você estiver usando um Arduino, simplesmente conecte o pino VIN ao pino de tensão de 5 V ou 3,3 V, GND ao terra, SCL ao relógio I2C (analógico 5) e SDA aos dados I2C (analógico 4).
Lista de Peças
Conexão
Neste exemplo, mostramos as conexões a um Shield LCD típica
Código
Você precisa adicionar a biblioteca adafruit sht31, que está disponível no gerenciador de biblioteca
#include <Wire.h> #include "Adafruit_SHT31.h" // Biblioteca para comunicação I2C #include <LiquidCrystal_I2C.h> // Biblioteca para LCD // Ligação: o pino SDA está conectado ao A4 e o pino SCL ao A5. // Conecte ao LCD via I2C, endereço padrão 0x27 (A0-A2 sem jumpers) // Inicializa o display no endereço 0x27 LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); Adafruit_SHT31 sht31 = Adafruit_SHT31(); void setup() { // init serial para algum debug Serial.begin(9600); Serial.println("Teste de Sensor de Luz"); // init sht31 if (! sht31.begin(0x44)) { Serial.println("Não foi possível encontrar SHT31"); while (1) delay(1); } // Inicializa o display LCD 16x2 //lcd.begin (16, 2); para // Inicializa o display LCD 20x4 lcd.begin (20, 4); // Liga a luz de fundo do LCD lcd.setBacklight(HIGH); // linha 1 - temperatura lcd.setCursor(0,0); lcd.print("Temp = "); // linha 2 - umidade lcd.setCursor(0,1); lcd.print("Hum = "); } void loop() { // coloque seu código principal aqui, para executar repetidamente: float t = sht31.readTemperature(); float h = sht31.readHumidity(); //exibir temperatura no LCD if (! isnan(t)) { lcd.setCursor(0,0); lcd.print("Temp = "); lcd.print(t); } else { Serial.println("Falha ao ler a temperatura"); } //exibir umidade no LCD if (! isnan(h)) { lcd.setCursor(0,1); lcd.print("Hum = "); lcd.print(h); } else { Serial.println("Falha ao ler umidade"); } Serial.println(); delay(500); }
Conclusão
Neste artigo, mostrei como usar um Display Lcd Keypad Shield com um Sensor Sht31 no Arduino. Espero que você tenha achado útil e informativo. Se sim, compartilhe com um amigo que também gosta de eletrônica e de fazer coisas!
Eu adoraria saber quais projetos você planeja construir (ou já construiu) com esse Sensor Sht31. Se você tiver alguma dúvida, sugestão ou se achar que falta algo neste tutorial, por favor, deixe um comentário abaixo.