3 Sensors

Dependencies:   BSP_DISCO_F746NG BME280

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "stm32746g_discovery_lcd.h"
00003 #include "stm32746g_discovery_ts.h"
00004 #include "BME280.h"
00005 
00006 Serial pc(USBTX, USBRX);
00007 
00008 #if defined(TARGET_LPC1768)
00009  BME280 sensor(PB_9, PB_8);
00010 #else
00011  BME280 sensor(I2C_SDA, I2C_SCL);
00012 #endif
00013 TS_StateTypeDef TS_State;
00014 
00015 DigitalOut    MUX0(D7); // low-active
00016 DigitalOut    MUX1(D4); 
00017 DigitalOut    MUX2(D1); 
00018 
00019 float x=0;
00020 float Temp1=0;
00021 float Temp2=0;
00022 float Temp3=0;
00023 float y2=0;
00024 float z=0;
00025 uint8_t y=0;
00026 uint8_t text[30];
00027 uint8_t idx;
00028  
00029 int main()
00030 {
00031     BSP_LCD_Init();
00032     BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS);
00033     BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER);
00034     BSP_LCD_Clear(LCD_COLOR_BLACK);
00035     
00036 
00037     while (1) {
00038         
00039 
00040         BSP_LCD_SetBackColor(LCD_COLOR_BLACK);
00041         BSP_LCD_SetTextColor(LCD_COLOR_ORANGE);
00042 
00043         
00044         MUX0 = 0;
00045         MUX1 = 0;
00046         MUX2 = 0;
00047         
00048         BME280 sensor(I2C_SDA, I2C_SCL);        
00049 
00050         
00051         x = sensor.getTemperature();
00052         if(x<35 and x>10){
00053         sprintf((char*)text, "%2.2f deg C",x);
00054         BSP_LCD_DisplayStringAt(0, LINE(idx+1), (uint8_t *)&text, CENTER_MODE);
00055         }
00056 
00057         HAL_Delay(10);
00058                 
00059         MUX0 = 1;
00060         MUX1 = 0;
00061         MUX2 = 0;
00062                 
00063         BME280 sensor1(I2C_SDA, I2C_SCL); 
00064         
00065         
00066         y2 = sensor1.getTemperature();
00067         if(y2<35 and y2>10){
00068         Temp2 = sensor1.getTemperature();
00069         sprintf((char*)text, "%2.2f deg C",y2);
00070         BSP_LCD_DisplayStringAt(0, LINE(idx+5), (uint8_t *)&text, CENTER_MODE);
00071         }
00072         
00073         HAL_Delay(10);
00074         
00075         MUX0 = 0;
00076         MUX1 = 1;
00077         MUX2 = 0;
00078         
00079         BME280 sensor2(I2C_SDA, I2C_SCL); 
00080         
00081         z = sensor2.getTemperature();
00082         if(z<35 and z>10){
00083         Temp3 = sensor2.getTemperature();
00084         sprintf((char*)text, "%2.2f deg C",z);
00085         BSP_LCD_DisplayStringAt(0, LINE(idx+9), (uint8_t *)&text, CENTER_MODE);
00086         }
00087         
00088         HAL_Delay(10); 
00089         
00090     }
00091 }