#include "Adafruit_SHT4x.h"
#include <Wire.h> // Include the Wire library for I2C communication
Adafruit_SHT4x sht4 = Adafruit_SHT4x();
void setup() {
Serial.begin(115200);
while (!Serial)
delay(10);
Serial.println("Adafruit SHT4x test");
if (!sht4.begin()) {
Serial.println("Couldn't find SHT4x");
while (1) delay(1);
}
Serial.println("Found SHT4x sensor");
// Set LED pins as OUTPUT
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
// Variables to store humidity and temperature readings
sensors_event_t humidity, temp;
// Record the time before the sensor reading
uint32_t timestamp = millis();
// Read humidity and temperature from the sensor
sht4.getEvent(&humidity, &temp);
// Calculate the time taken for the sensor reading
timestamp = millis() - timestamp;
// Print temperature, humidity, and the time it took to read
Serial.print("Temperature: "); Serial.print(temp.temperature); Serial.println(" degrees C");
Serial.print("Humidity: "); Serial.print(humidity.relative_humidity); Serial.println("% rH");
Serial.print("Read duration (ms): ");
Serial.println(timestamp);
// Control LEDs based on temperature
if (temp.temperature < 27) {
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
} else if (temp.temperature >= 27 && temp.temperature <= 35) {
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
digitalWrite(10, LOW);
digitalWrite(8, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(9, HIGH);
} else {
digitalWrite(4, LOW);
digitalWrite(10, HIGH);
digitalWrite(5, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
// Delay for 1 second before the next reading
delay(1000);
}
Comments
Please log in or sign up to comment.