From 57a00b7aeaebf4dad8c04739b29d3125d1489904 Mon Sep 17 00:00:00 2001 From: Alexandre B Date: Sun, 17 Dec 2023 14:49:11 -0500 Subject: [PATCH] i2c sensor --- ESP32_Temperture-Node/src/config.h | 11 +++++++--- ESP32_Temperture-Node/src/main.cpp | 34 ++++++++++++++++++++++++------ 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/ESP32_Temperture-Node/src/config.h b/ESP32_Temperture-Node/src/config.h index 518938a6..31ec75d8 100644 --- a/ESP32_Temperture-Node/src/config.h +++ b/ESP32_Temperture-Node/src/config.h @@ -1,8 +1,13 @@ // Uncomment modules as required //#define RTC //#define MICRO_SD -#define BMP280 // Adafruit BMP280; temp & pressure +//#define BMP280 // Adafruit BMP280; temp & pressure //#define BME280 // Generic BME280; temp, pressure & humidity +/* + BME-280 + SCL -> GPIO 22 + SDA -> GPIO 21 +*/ //#define AWSIoT #define MQTT_SSL @@ -65,8 +70,8 @@ D22 14 D23 15 D34 19 Input only D35 20 Input only -D32 21* -D33 22* +D32 21* => SCL I2C +D33 22* => SDA I2C D25 23* => Assigned to DAC D26 24* => Assigned to DAC D27 25 diff --git a/ESP32_Temperture-Node/src/main.cpp b/ESP32_Temperture-Node/src/main.cpp index 4060ec97..02442309 100644 --- a/ESP32_Temperture-Node/src/main.cpp +++ b/ESP32_Temperture-Node/src/main.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include @@ -40,11 +41,15 @@ Adafruit_BME280 bme; #endif // BMP280 #ifdef BMP280 +// I2C setup +Adafruit_BMP280 bmp(); +/* +// BMP280 SPI setup #define BMP_SCK (18) #define BMP_MISO (19) #define BMP_MOSI (23) #define BMP_CS (5) -//Adafruit_BMP280 bmp(BMP_CS); +//Adafruit_BMP280 bmp(BMP_CS);*/ #endif // Mosquitto @@ -203,6 +208,7 @@ void mosquitto_connect () void setup() { Serial.begin(115200); Serial.println(); + Serial.println("Running setup ..."); sensors_values.humidity = 0.0; sensors_values.pressure = 0.0; sensors_values.temperature = 0.0; @@ -228,13 +234,29 @@ void setup() { //digitalWrite(DAC_CH1, LOW); dacWrite(DAC1, 0); #endif + + Serial.println("GPIO setup done"); + Serial.println("Scanning I2C bus ..."); - Serial.println("setup"); - Serial.println("setup done"); + // Scan I2C bus + byte address; + for (address = 1; address < 127; address++) + { + Serial.print("Address: "); + Serial.println(address, HEX); + Wire.beginTransmission(address); + if (Wire.endTransmission() == 0) { + Serial.print("I2C device was found at address: "); + Serial.println(address, HEX); + } + else if (Wire.endTransmission() == 4) + Serial.println("I2C unknown error."); + delay(150); //500 + } // WaveShare BME280 #ifdef BME280 - unsigned status = bme.begin(); + unsigned status = bme.begin(); // 0x76 if (!status) { Serial.println("Could not find a valid BME/BMP280 sensor, check wiring!"); Serial.print("SensorID was: 0x"); Serial.println(bme.sensorID());//,16); @@ -245,8 +267,8 @@ void setup() { while (1); } else { - humidity = bme.readHumidity(); - pressure = bme.readPressure() / 100.0F; + sensors_values.humidity = bme.readHumidity(); + sensors_values.pressure = bme.readPressure() / 100.0F; } #endif