Sensor SHT21 com ESP32-S2 Franzininho

Posted by

Aqui vamos aprender a utilizar o Sensor SHT21 com ESP32-S2 Franzininho. O SHT21 é um sensor de temperatura e umidade fabricado pela empresa Suiça Sensirion. O sensor em sí funciona com 3,3V e vai comunicar com nossa Franzininho via i2c.

O sensor lê temperatura entre -40ºC e +120ºC, além de umidade entre 0% e 100% de umidade relativa do ar. Visto isso, este tutorial foi elaborado com informações deste link, além de pesquisa na internet em geral e experimentação. O diagrama esquemático do teste está abaixo, foi montado em uma protoboard.

Veja que a Franzininho WiFi tem saída em 3,3V, que vamos utilizar. Fora isso é conectar o GND e o SDA e SCL da comunicação i2c. Pinagem da placa neste link.

Diagrama esquemático, Franzininho WiFi com SHT21
Diagrama esquemático, Franzininho WiFi com SHT21

A montagem física é bem simples, fotos abaixo. Tudo que é necessário é conectar a Franzininho ao computador via cabo micro USB.

Montagem do circuito Franzininho WiFi com SHT21
Montagem do circuito Franzininho WiFi com SHT21
Circuito da Franzininho WiFi com SHT21
Circuito da Franzininho WiFi com SHT21

O código

Vamos utilizar esta biblioteca para Arduino. Conforme imagem abaixo, no link que acabei de passar clique em “Code > Download ZIP”. Assim, na IDE do Arduino vá em “Sketch > Incluir biblioteca > Adicionar biblioteca .ZIP” e selecione o arquivo .ZIP que acabou de baixar.

Baixar arquivos da biblioteca SHT21 do Github
Baixar arquivos da biblioteca SHT21 do Github

Para abrir um exemplo de código, vá em “Arquivo > Exemplos > STH21-Arduino-Library > SHT21_Demo”. Veja que sketch também é visto abaixo.

#include <SHT21.h>  // include SHT21 library

SHT21 sht; 

float temp; 	// variable to store temperature
float humidity; // variable to store hemidity

void setup() {
  Wire.begin();		// begin Wire(I2C)
  Serial.begin(9600); // begin Serial
}

void loop() {

  temp = sht.getTemperature();  // get temp from SHT 
  humidity = sht.getHumidity(); // get temp from SHT

  Serial.print("Temp: ");			// print readings
  Serial.print(temp);
  Serial.print("\t Humidity: ");
  Serial.println(humidity);

  delay(500);	// min delay for 14bit temp reading is 85ms
}

Agora é só clicar na setinha ” ->” da IDE do Arduino (carregar) e aguardar o download do programa para a Franzininho WiFi. O resultado pode ser visto no monitor serial logo abaixo da tela (ou em “Ferramentas > Monitor Serial”). Então mostrada temperatura e umidade ambientes a cada 500mS (meio segundo).

Leituras de temperatura e umidade SHT21
Leituras de temperatura e umidade SHT21

Também é possível descobrir o número de série da sua plaquinha, utilizando o sketch “STH21_ReadSerialNumber” disponível na IDE do Arduino em “Arquivo > Exemplos > STH21-Arduino-Library”.

Se você ainda não tem um SHT21, pode adquirir através do meu link do Aliexpress.

3 respostas

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *