James Devine / Mbed 2 deprecated Cosmic_Pi_STM32_i2c

Dependencies:   mbed Si7020 LPS25H LSM303D

Committer:
pingu_98
Date:
Sun Jan 06 15:30:36 2019 +0000
Revision:
7:7137218c4432
Parent:
2:b60cb847489c
Child:
8:1b347e764f16
First version, i2c sensors all online;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:005629fe3609 1 #include "mbed.h"
pingu_98 7:7137218c4432 2 #include "Si7020.h"
pingu_98 7:7137218c4432 3 #include "LPS25H.h"
pingu_98 7:7137218c4432 4
screamer 0:005629fe3609 5
screamer 0:005629fe3609 6 DigitalOut myled(LED1);
screamer 0:005629fe3609 7
pingu_98 7:7137218c4432 8 Serial pc(SERIAL_TX, SERIAL_RX); //serial debug output, 9600 bps 8 bit, no parity 1 stop bit no flow control.
pingu_98 7:7137218c4432 9
pingu_98 7:7137218c4432 10 //I2C declarations
pingu_98 7:7137218c4432 11 I2C i2c(PB_9,PB_8); // SDA, SCL
pingu_98 7:7137218c4432 12 I2CSlave slave(PB_3,PB_10); // SDA, SCL
pingu_98 7:7137218c4432 13 Si7020 si(&i2c);
pingu_98 7:7137218c4432 14 LPS25H baro(&i2c, LPS25H_G_CHIP_ADDR);
pingu_98 7:7137218c4432 15
pingu_98 7:7137218c4432 16 AnalogIn adc(ADC_TEMP);
pingu_98 7:7137218c4432 17
pingu_98 7:7137218c4432 18 //int I2C_ADDR = 0x00200;
pingu_98 7:7137218c4432 19 static const char I2C_ADDR = 0xE5 ;
screamer 0:005629fe3609 20 int main() {
pingu_98 7:7137218c4432 21
pingu_98 7:7137218c4432 22 //i2c setups
pingu_98 7:7137218c4432 23 i2c.frequency(100000); //Set the clock frequency
pingu_98 7:7137218c4432 24 slave.frequency(100000); //Set the clock frequency
pingu_98 7:7137218c4432 25 slave.address(I2C_ADDR);
pingu_98 7:7137218c4432 26
pingu_98 7:7137218c4432 27 pc.printf("Hello world! \n");
screamer 0:005629fe3609 28 while(1) {
bcostm 2:b60cb847489c 29 myled = 1; // LED is ON
bcostm 2:b60cb847489c 30 wait(0.2); // 200 ms
bcostm 2:b60cb847489c 31 myled = 0; // LED is OFF
bcostm 2:b60cb847489c 32 wait(1.0); // 1 sec
pingu_98 7:7137218c4432 33 //put the code here!
pingu_98 7:7137218c4432 34 float tempuc = adc.read()*100;
pingu_98 7:7137218c4432 35 pc.printf("This is a loop\n");
pingu_98 7:7137218c4432 36 pc.printf("x=%.1f\r\n", tempuc);
pingu_98 7:7137218c4432 37 float humid;
pingu_98 7:7137218c4432 38 if(si.getHumidity(&humid) != 0) {
pingu_98 7:7137218c4432 39 printf("Error getting humidity\n");
pingu_98 7:7137218c4432 40 humid = -1;
pingu_98 7:7137218c4432 41 }
pingu_98 7:7137218c4432 42
pingu_98 7:7137218c4432 43 float temp;
pingu_98 7:7137218c4432 44 if(si.getTemperature(&temp) != 0) {
pingu_98 7:7137218c4432 45 printf("Error getting temperature");
pingu_98 7:7137218c4432 46 temp = -1;
pingu_98 7:7137218c4432 47 }
pingu_98 7:7137218c4432 48 printf("Humidity = %f%% Temperature = %fC\n", humid, temp);
pingu_98 7:7137218c4432 49
pingu_98 7:7137218c4432 50 baro.get();
pingu_98 7:7137218c4432 51 printf("Pressure: %.1f, Temperature: %.1f\r\n",
pingu_98 7:7137218c4432 52 baro.pressure(), baro.temperature());
pingu_98 7:7137218c4432 53
pingu_98 7:7137218c4432 54
pingu_98 7:7137218c4432 55 wait(1);
screamer 0:005629fe3609 56 }
screamer 0:005629fe3609 57 }
pingu_98 7:7137218c4432 58
pingu_98 7:7137218c4432 59
pingu_98 7:7137218c4432 60
pingu_98 7:7137218c4432 61