The ENS190, manufactured by ScioSense, is a high-performance environmental sensor designed to monitor temperature, humidity, and atmospheric pressure. This compact and versatile sensor provides accurate and reliable environmental data, making it ideal for a wide range of applications. Its advanced sensing technology ensures precise measurements, even in challenging environments.
The ENS190 is designed to deliver high accuracy and low power consumption, making it suitable for battery-powered and energy-efficient systems.
Parameter | Value |
---|---|
Supply Voltage | 1.8V to 3.6V |
Operating Temperature | -40°C to +85°C |
Humidity Range | 0% to 100% RH (non-condensing) |
Pressure Range | 300 hPa to 1100 hPa |
Communication Interface | I²C |
Power Consumption | < 1 mA (typical) |
Accuracy (Temperature) | ±0.2°C |
Accuracy (Humidity) | ±2% RH |
Accuracy (Pressure) | ±1 hPa |
The ENS190 comes in a compact package with the following pinout:
Pin Number | Pin Name | Description |
---|---|---|
1 | VDD | Power supply (1.8V to 3.6V) |
2 | GND | Ground |
3 | SDA | I²C data line |
4 | SCL | I²C clock line |
5 | INT | Interrupt output (optional, configurable) |
6 | NC | Not connected (leave unconnected or grounded) |
The ENS190 is straightforward to integrate into a circuit, thanks to its I²C interface. Below are the steps and best practices for using the sensor:
Below is an example of how to interface the ENS190 with an Arduino UNO using the I²C protocol:
#include <Wire.h>
// ENS190 I2C address (default)
#define ENS190_ADDRESS 0x48
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Start serial communication for debugging
// Initialize ENS190
if (!initializeENS190()) {
Serial.println("Failed to initialize ENS190 sensor!");
while (1); // Halt execution if initialization fails
}
Serial.println("ENS190 initialized successfully.");
}
void loop() {
// Read temperature, humidity, and pressure
float temperature = readTemperature();
float humidity = readHumidity();
float pressure = readPressure();
// Print the readings to the Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %RH");
Serial.print("Pressure: ");
Serial.print(pressure);
Serial.println(" hPa");
delay(1000); // Wait 1 second before the next reading
}
bool initializeENS190() {
Wire.beginTransmission(ENS190_ADDRESS);
// Send initialization commands (if required by the sensor)
// For example, write configuration registers here
return (Wire.endTransmission() == 0); // Return true if successful
}
float readTemperature() {
// Replace with actual I2C read commands for temperature
return 25.0; // Placeholder value
}
float readHumidity() {
// Replace with actual I2C read commands for humidity
return 50.0; // Placeholder value
}
float readPressure() {
// Replace with actual I2C read commands for pressure
return 1013.25; // Placeholder value
}
readTemperature
, readHumidity
, readPressure
) with actual I²C read commands based on the ENS190 datasheet.No response from the sensor:
Inaccurate readings:
Interrupt pin not working:
By following this documentation, you can effectively integrate and use the ENS190 sensor in your projects. For further assistance, consult the ScioSense ENS190 datasheet or contact their technical support.