I have used:
- BMP280
- BMP390
- AHT20
- DS3231
- LPS22HB
- HS3001
- MPU6050
- MPU9250
Board used : Arduino Nano Ble Sense Rev 2
Connected everything using I2C protocol on breadboard.
Facing issues with #5 , #7 and #8 sensors.
My Code :
#include <Arduino_LPS22HB.h>
#include <Arduino_HS300x.h>
#include <DS3231.h>
#include "Adafruit_BMP3XX.h"
#include <Adafruit_BMP280.h>
#include <Adafruit_AHTX0.h>
#include <Adafruit_MPU6050.h>
#include <MPU9250.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
DS3231 rtc;
Adafruit_BMP3XX bmp390;
Adafruit_BMP280 bmp280;
Adafruit_AHTX0 aht;
Adafruit_MPU6050 mpu6050;
MPU9250 mpu9250;
void setup() {
Serial.begin(9600);
while (!Serial) {
}
if (!BARO.begin()) {
Serial.println("Failed to initialize pressure sensor!");
while (1)
;
}
if (!HS300x.begin()) {
Serial.println("Failed to initialize humidity temperature sensor!");
while (1)
;
}
if (!bmp390.begin_I2C()) {
Serial.println("Could not find a valid BMP390 sensor!");
while (1)
;
}
if (!bmp280.begin()) {
Serial.println("Could not find a valid BMP280 sensor!");
while (1)
;
}
if (!aht.begin()) {
Serial.println("AHT20 is not connected!");
while (1)
;
}
/*
if(!mpu6050.begin()){
Serial.println("Error in mpu6050");
while(1);
}*/
if(!mpu9250.setup(0x68)){
Serial.println("Error in mpu9250");
}
}
void loop() {
sensors_event_t humidity, ahttemp;
aht.getEvent(&humidity, &ahttemp);
/*
sensors_event_t a, g, temp6050;
mpu6050.getEvent(&a, &g, &temp6050);
*/
mpu9250.update();
Serial.print("Baro temperature : ");
Serial.print(BARO.readTemperature());
Serial.print("°C");
Serial.println();
Serial.print("HS300X temperature : ");
Serial.print(HS300x.readTemperature());
Serial.print("°C");
Serial.println();
Serial.print("RTC temperature : ");
Serial.print(rtc.getTemperature());
Serial.print("°C");
Serial.println();
Serial.print("BMP390 temperature : ");
Serial.print(bmp390.readTemperature());
Serial.print("°C");
Serial.println();
Serial.print("BMP280 temperature : ");
Serial.print(bmp280.readTemperature());
Serial.print("°C");
Serial.println();
Serial.print("AHT20 temperature : ");
Serial.print(ahttemp.temperature);
Serial.print("°C");
Serial.println();
Serial.print("MPU9250 temperature : ");
Serial.print(mpu9250.getTemperature());
Serial.print("°C");
Serial.println();
/*
Serial.print("MPU6050 temperature : ");
Serial.print(temp6050.temperature);
Serial.print("°C");
Serial.println();
*/
Serial.println();
Serial.println();
delay(1000);
}
Commented MPU6050 because it was giving some error.
Output :
Tried testing individual sensors.. It was working.