3 Sensors

Dependencies:   BSP_DISCO_F746NG BME280

Revision:
2:d591c13c9347
Parent:
1:bea4451dcea2
--- a/main.cpp	Tue Jan 14 17:04:59 2020 +0000
+++ b/main.cpp	Wed Jan 15 11:19:09 2020 +0000
@@ -12,13 +12,16 @@
 #endif
 TS_StateTypeDef TS_State;
 
-DigitalOut    MUX0(D0); // low-active
-DigitalOut    MUX1(D1); 
+DigitalOut    MUX0(D7); // low-active
+DigitalOut    MUX1(D4); 
+DigitalOut    MUX2(D1); 
 
 float x=0;
 float Temp1=0;
 float Temp2=0;
 float Temp3=0;
+float y2=0;
+float z=0;
 uint8_t y=0;
 uint8_t text[30];
 uint8_t idx;
@@ -36,38 +39,53 @@
 
         BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
         BSP_LCD_SetTextColor(LCD_COLOR_ORANGE);
+
         
         MUX0 = 0;
         MUX1 = 0;
-                
-        HAL_Delay(50);
+        MUX2 = 0;
+        
+        BME280 sensor(I2C_SDA, I2C_SCL);        
+
         
         x = sensor.getTemperature();
-        Temp1 = sensor.getTemperature();
+        if(x<35 and x>10){
         sprintf((char*)text, "%2.2f deg C",x);
         BSP_LCD_DisplayStringAt(0, LINE(idx+1), (uint8_t *)&text, CENTER_MODE);
+        }
+
+        HAL_Delay(10);
                 
         MUX0 = 1;
         MUX1 = 0;
+        MUX2 = 0;
                 
-        HAL_Delay(50);
+        BME280 sensor1(I2C_SDA, I2C_SCL); 
+        
         
-        x = sensor.getTemperature();
-        Temp2 = sensor.getTemperature();
-        sprintf((char*)text, "%2.2f deg C",x);
+        y2 = sensor1.getTemperature();
+        if(y2<35 and y2>10){
+        Temp2 = sensor1.getTemperature();
+        sprintf((char*)text, "%2.2f deg C",y2);
         BSP_LCD_DisplayStringAt(0, LINE(idx+5), (uint8_t *)&text, CENTER_MODE);
+        }
         
-        HAL_Delay(50);
+        HAL_Delay(10);
         
         MUX0 = 0;
         MUX1 = 1;
+        MUX2 = 0;
         
-        x = sensor.getTemperature();
-        Temp3 = sensor.getTemperature();
-        sprintf((char*)text, "%2.2f deg C",x);
+        BME280 sensor2(I2C_SDA, I2C_SCL); 
+        
+        z = sensor2.getTemperature();
+        if(z<35 and z>10){
+        Temp3 = sensor2.getTemperature();
+        sprintf((char*)text, "%2.2f deg C",z);
         BSP_LCD_DisplayStringAt(0, LINE(idx+9), (uint8_t *)&text, CENTER_MODE);
+        }
         
-        HAL_Delay(50);
+        HAL_Delay(10); 
         
     }
 }