Arduino SHT31 e projeto LCD

Tempo de leitura: 3 minutes

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.

 

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

DescriçãoLink
Arduino Uno1pcs UNO R3 CH340G+MEGA328P for Arduino UNO R3 (NO USB CABLE)
LCD Keypad shield1PCS LCD Keypad Shield LCD 1602 Module Display For Arduino
SHT31 sensorSHT31 Temperature Humidity Sensor module Breakout Weather for Arduino
Jumpers Wire40pcs Dupont jumper wire cable 30cm male to male,female to female,male to female Dupont jump wire line 2.54mm breadboard cable

 

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.