[Programa] SHT40
Objetivo:
Utilizar o ESP32-WROOM-32E DevKitC v4 [2] para ler valores de temperatura de um sensor SHT40.
Lista de material:
- ESP32-WROOM-32E DevKitC v4
- Breadboards
- Sensor SHT40
- Fios de ligação
- Cabo micro USB
Contextualização:
Grove - Temperature & Humidity Sensor (SHT40)
O sensor de temperatura e humidade da Seeed SHT40 é um sensor digital com interface I2C padrão [4].
Inter-Integrated Circuit (I2C)
O Inter-Integrated Circuit [5] é um barramento série que permite a co-existência de múltiplos controladores e periféricos e considera essencialmente duas ligações:
SDA | Serial Data Line |
SDL | Serial Clock Line |
Procedimento:
Atentando nos terminais 21, 22, GND e 3.3V do ESP32 como referência deve considerar-se o seguinte ilustração de montagem:
Instruções:
(para uma primeira utilização do ESP32, sugere-se o tutorial Primeiro Programa [3])
- Montar o circuito esquematizado anteriormente (ver Secção Montagem exemplificativa, para mais detalhe)
- Ligar a placa ESP32 ao computador por via de cabo USB micro
- Abrir o IDE Arduino
- Usando a ferramenta de gestão de bibliotecas do IDE Arduino procurar e instalar a biblioteca Adafruit SHT4X ([1])
- Selecionar o dispositivo ESP32 adequado
- Copiar o seguinte
/*
* sensor sht40
*/
#include "Adafruit_SHT4x.h" // Biblioteca relacionada com sensor SHT40
// inicialização de classe relacionada com SHT40
Adafruit_SHT4x sht4 = Adafruit_SHT4x();
// a função setup é executada pontualmente quando o botão reset é premido ou
// a placa é alimentada:
void setup() {
// inicializa a comunicação série a 115200 bits por segundo:
Serial.begin(115200);
sht4.begin();
// definição de precisão e outras opções do sensor
sht4.setPrecision(SHT4X_HIGH_PRECISION);
sht4.setHeater(SHT4X_NO_HEATER);
}
// a função loop é executada sucessivamente, uma e outra vez,
// e por aí em diante
void loop() {
sensors_event_t humidade, temperatura;
// atualiza os objetos com dados novos
sht4.getEvent(&humidade, &temperatura);
Serial.print("Temperatura: ");
Serial.print(temperatura.temperature);
Serial.println(" ºC");
Serial.print("Humidade: ");
Serial.print(humidade.relative_humidity);
Serial.println("% rH");
delay(1000);
}
- Compilar e carregar o código para a placa ESP32
- Verificar o resultado
Montagem exemplificativa:
Referências:
[1] Adafruit. Adafruit Sensirion SHT40, SHT41 & SHT45 Temperature & Humidity Sensors. url: https://learn.adafruit.com/adafruit-sht40-temperature-humidity-sensor (acedido em 29/08/2023).
[2] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html (acedido em 18/08/2023).
[3] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: https://kb.deec.uc.pt/books/deec/page/primeiro-programa (acedido em 17/08/2023).
[4] Seeed Studio. Grove - Temperature & Humidity Sensor. url: https://wiki.seeedstudio.com/Grove-SHT4x/ (acedido em 29/08/2023).
[5] Wikipedia. I2C. url: https://en.wikipedia.org/wiki/I%C2%B2C (acedido em 29/08/2023).
No Comments