Demo for the Mbed Connect Cloud board
Dependencies: C12832 CCS811 MMA7660 Sht31 TSL2561
View the tutorial for this demo here.
working/main_working.h
- Committer:
- Jenny Plunkett
- Date:
- 2017-11-09
- Revision:
- 1:6791f0504ab0
- Parent:
- 0:801b555a3dd8
File content as of revision 1:6791f0504ab0:
//---------------------------------------------------------------------------- // The confidential and proprietary information contained in this file may // only be used by a person authorised under and to the extent permitted // by a subsisting licensing agreement from ARM Limited or its affiliates. // // (C) COPYRIGHT 2016 ARM Limited or its affiliates. // ALL RIGHTS RESERVED // // This entire notice must be reproduced on all copies of this file // and copies of this file may only be made by a person if such person is // permitted to do so under the terms of a subsisting license agreement // from ARM Limited or its affiliates. //---------------------------------------------------------------------------- #include "mbed.h" #include "C12832.h" #include "CCS811.h" #include "Sht31.h" #include "TSL2561.h" #include "MMA7660.h" // GLOBAL VARIABLES HERE C12832 lcd(PE_14, PE_12, PD_12, PD_11, PE_9); Sht31 temp_sensor(PF_0, PF_1); DigitalOut led(PB_8, 1); InterruptIn button(PF_2); CCS811 air_sensor(PF_0, PF_1); TSL2561 light_sensor(PF_0, PF_1, TSL2561_ADDR_HIGH); MMA7660 accel(PF_0, PF_1); // FUNCTION DEFINTIONS HERE void lcd_print(const char* message) { lcd.cls(); lcd.locate(0, 3); lcd.printf(message); } void toggle_led() { led = !led; } void read_temp() { float t = temp_sensor.readTemperature(); float h = temp_sensor.readHumidity(); char val[32]; sprintf(val, "TEMP: %3.2fC, HUM: %3.2f%%", t, h); lcd_print(val); } void read_air() { air_sensor.init(); uint16_t eco2, tvoc; air_sensor.readData(&eco2, &tvoc); char val[32]; sprintf(val, "eCO2: %dppm, TVOC: %dppb", eco2, tvoc); lcd_print(val); } void read_light() { int vis = light_sensor.getLuminosity(TSL2561_VISIBLE); int infr = light_sensor.getLuminosity(TSL2561_INFRARED); char val[32]; sprintf(val, "VIS: %d, INFR: %d ", vis, infr); lcd_print(val); } void read_accel() { float x = accel.x(); float y = accel.y(); float z = accel.z(); char val[32]; sprintf(val, "x=%.2f y=%.2f z=%.2f", x, y, z); lcd_print(val); } int main() { // MAIN CODE HERE lcd_print("Hello World!"); button.rise(&toggle_led); light_sensor.begin(); light_sensor.setGain(TSL2561_GAIN_0X); light_sensor.setTiming(TSL2561_INTEGRATIONTIME_402MS); while(1) { // WHILE LOOP CODE HERE read_temp(); wait_ms(2000); read_air(); wait_ms(2000); read_light(); wait_ms(2000); read_accel(); wait_ms(2000); } }