The Hibiscus Sense is a versatile environmental sensor device manufactured by Myduino Malaysia (Part ID: hibiscus sense). It is specifically designed for monitoring environmental conditions, making it an ideal choice for smart gardening applications. The device integrates multiple sensors to measure soil moisture, ambient temperature, and light intensity, enabling users to optimize plant growth and automate gardening tasks.
The following table outlines the key technical details of the Hibiscus Sense:
Parameter | Specification |
---|---|
Operating Voltage | 3.3V to 5V |
Operating Current | 20mA (typical) |
Communication Protocol | I2C |
Soil Moisture Range | 0% to 100% |
Temperature Range | -40°C to 85°C |
Light Intensity Range | 0 to 100,000 lux |
Dimensions | 50mm x 25mm x 10mm |
The Hibiscus Sense has a 4-pin interface for easy integration into circuits. The pinout is as follows:
Pin Name | Pin Number | Description |
---|---|---|
VCC | 1 | Power supply input (3.3V to 5V) |
GND | 2 | Ground connection |
SDA | 3 | I2C data line |
SCL | 4 | I2C clock line |
0x40
) to communicate with the device and retrieve sensor readings.Below is an example Arduino sketch to read data from the Hibiscus Sense:
#include <Wire.h>
// I2C address of the Hibiscus Sense
#define HIBISCUS_SENSE_ADDR 0x40
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Start serial communication for debugging
Serial.println("Hibiscus Sense Initialization...");
}
void loop() {
Wire.beginTransmission(HIBISCUS_SENSE_ADDR); // Start communication
Wire.write(0x00); // Request data from the sensor
Wire.endTransmission();
Wire.requestFrom(HIBISCUS_SENSE_ADDR, 6); // Request 6 bytes of data
if (Wire.available() == 6) {
int soilMoisture = Wire.read() << 8 | Wire.read(); // Read soil moisture
int temperature = Wire.read() << 8 | Wire.read(); // Read temperature
int lightLevel = Wire.read() << 8 | Wire.read(); // Read light intensity
// Print the sensor readings
Serial.print("Soil Moisture: ");
Serial.print(soilMoisture);
Serial.println("%");
Serial.print("Temperature: ");
Serial.print(temperature / 100.0); // Convert to Celsius
Serial.println("°C");
Serial.print("Light Intensity: ");
Serial.print(lightLevel);
Serial.println(" lux");
} else {
Serial.println("Error: No data received from Hibiscus Sense.");
}
delay(1000); // Wait 1 second before the next reading
}
No Data Received from the Sensor
0x40
) and ensure proper connections for SDA and SCL.Inaccurate Sensor Readings
Device Not Powering On
Q: Can the Hibiscus Sense be used with a 3.3V microcontroller?
A: Yes, the device supports both 3.3V and 5V operating voltages.
Q: Is the sensor waterproof?
A: The sensor is not fully waterproof. Avoid submerging it in water and protect it from excessive moisture.
Q: How do I extend the I2C cable length?
A: Use shielded cables and lower the I2C clock speed to reduce noise and ensure reliable communication.
Q: Can I use multiple Hibiscus Sense devices on the same I2C bus?
A: Yes, but you will need to configure unique I2C addresses for each device. Refer to the datasheet for address configuration instructions.