Program to read temperature and humidity over I2C from the GE ChipCap2 sensor, using the MBED LPC11U24 board. !!! NOT WORKING !!! This reference program for Arduino DO work: http://hastebin.com/tilolukave.go If you locate the error please let me know at mario@baldini.systems

Dependencies:   mbed

Committer:
mbn12
Date:
Fri Aug 08 01:03:08 2014 +0000
Revision:
0:9ce639d07eeb
Child:
1:7008e7b00996
Program to read temperature and humidity over I2C; from the GE ChipCap2 sensor, using the MBED LPC11U24 board.; ; !!! NOT WORKING !!!; This reference program for Arduino DO work: http://hastebin.com/tilolukave.go

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbn12 0:9ce639d07eeb 1 /*
mbn12 0:9ce639d07eeb 2
mbn12 0:9ce639d07eeb 3 Program to read temperature and humidity over I2C
mbn12 0:9ce639d07eeb 4 from the GE ChipCap2 sensor, using the MBED LPC11U24 board.
mbn12 0:9ce639d07eeb 5
mbn12 0:9ce639d07eeb 6 Autor: Mario Baldini <mario@baldini.systems>
mbn12 0:9ce639d07eeb 7 2014/08
mbn12 0:9ce639d07eeb 8
mbn12 0:9ce639d07eeb 9 !!! NOT WORKING !!!
mbn12 0:9ce639d07eeb 10 This reference program for Arduino DO work: http://hastebin.com/tilolukave.go
mbn12 0:9ce639d07eeb 11
mbn12 0:9ce639d07eeb 12 If you locate the error in this mbed version,
mbn12 0:9ce639d07eeb 13 please e-mail me at mario@baldini.systems
mbn12 0:9ce639d07eeb 14
mbn12 0:9ce639d07eeb 15 Reading the output (in linux): sudo screen /dev/ttyACM0 115200
mbn12 0:9ce639d07eeb 16
mbn12 0:9ce639d07eeb 17
mbn12 0:9ce639d07eeb 18 */
mbn12 0:9ce639d07eeb 19
mbn12 0:9ce639d07eeb 20 #include "mbed.h"
mbn12 0:9ce639d07eeb 21
mbn12 0:9ce639d07eeb 22 Serial pc(USBTX, USBRX);
mbn12 0:9ce639d07eeb 23 I2C i2c(p28,p27); //sda,scl
mbn12 0:9ce639d07eeb 24
mbn12 0:9ce639d07eeb 25
mbn12 0:9ce639d07eeb 26 int main() {
mbn12 0:9ce639d07eeb 27 pc.baud(115200);
mbn12 0:9ce639d07eeb 28 pc.printf("begin\r\n");
mbn12 0:9ce639d07eeb 29
mbn12 0:9ce639d07eeb 30 int address = 0x28;
mbn12 0:9ce639d07eeb 31 char data[4];
mbn12 0:9ce639d07eeb 32 data[0] = 0x00;
mbn12 0:9ce639d07eeb 33 data[1] = 0x00;
mbn12 0:9ce639d07eeb 34 data[2] = 0x00;
mbn12 0:9ce639d07eeb 35 data[3] = 0x00;
mbn12 0:9ce639d07eeb 36
mbn12 0:9ce639d07eeb 37 char data_write[3];
mbn12 0:9ce639d07eeb 38 data_write[0] = 0xA0;
mbn12 0:9ce639d07eeb 39 data_write[1] = 0x00;
mbn12 0:9ce639d07eeb 40 data_write[2] = 0x00;
mbn12 0:9ce639d07eeb 41
mbn12 0:9ce639d07eeb 42
mbn12 0:9ce639d07eeb 43 i2c.frequency(400000);
mbn12 0:9ce639d07eeb 44
mbn12 0:9ce639d07eeb 45
mbn12 0:9ce639d07eeb 46 while(true) {
mbn12 0:9ce639d07eeb 47 pc.printf("loop()\r\n");
mbn12 0:9ce639d07eeb 48 data[0] = 0x00;
mbn12 0:9ce639d07eeb 49 data[1] = 0x00;
mbn12 0:9ce639d07eeb 50 data[2] = 0x00;
mbn12 0:9ce639d07eeb 51 data[3] = 0x00;
mbn12 0:9ce639d07eeb 52
mbn12 0:9ce639d07eeb 53
mbn12 0:9ce639d07eeb 54 // TRY 1
mbn12 0:9ce639d07eeb 55 i2c.start();
mbn12 0:9ce639d07eeb 56 i2c.write(address, data_write, 3);
mbn12 0:9ce639d07eeb 57 wait_ms(50);
mbn12 0:9ce639d07eeb 58 i2c.stop();
mbn12 0:9ce639d07eeb 59
mbn12 0:9ce639d07eeb 60 i2c.start();
mbn12 0:9ce639d07eeb 61 i2c.read(address, data, 4);
mbn12 0:9ce639d07eeb 62 i2c.stop();
mbn12 0:9ce639d07eeb 63
mbn12 0:9ce639d07eeb 64 pc.printf("Ver.1 Data[]\t 0x%X 0x%X 0x%X 0x%X \r\n\n", data[0],data[1],data[2],data[3]);
mbn12 0:9ce639d07eeb 65
mbn12 0:9ce639d07eeb 66
mbn12 0:9ce639d07eeb 67
mbn12 0:9ce639d07eeb 68
mbn12 0:9ce639d07eeb 69 // TRY 2
mbn12 0:9ce639d07eeb 70 i2c.start();
mbn12 0:9ce639d07eeb 71 i2c.write(0xA0);
mbn12 0:9ce639d07eeb 72 i2c.write(0x00);
mbn12 0:9ce639d07eeb 73 i2c.write(0x00);
mbn12 0:9ce639d07eeb 74 i2c.stop();
mbn12 0:9ce639d07eeb 75 wait_ms(50);
mbn12 0:9ce639d07eeb 76
mbn12 0:9ce639d07eeb 77 i2c.start();
mbn12 0:9ce639d07eeb 78 i2c.read(address, data, 4);
mbn12 0:9ce639d07eeb 79 i2c.stop();
mbn12 0:9ce639d07eeb 80 pc.printf("Ver.2 Data[]\t 0x%X 0x%X 0x%X 0x%X \r\n\n", data[0],data[1],data[2],data[3]);
mbn12 0:9ce639d07eeb 81
mbn12 0:9ce639d07eeb 82
mbn12 0:9ce639d07eeb 83
mbn12 0:9ce639d07eeb 84 // TRY 3
mbn12 0:9ce639d07eeb 85 i2c.write(address, data_write, 3);
mbn12 0:9ce639d07eeb 86 i2c.write(0xA0);
mbn12 0:9ce639d07eeb 87 i2c.write(0x00);
mbn12 0:9ce639d07eeb 88 i2c.write(0x00);
mbn12 0:9ce639d07eeb 89 wait_ms(50);
mbn12 0:9ce639d07eeb 90
mbn12 0:9ce639d07eeb 91
mbn12 0:9ce639d07eeb 92 i2c.read(address, data, 4);
mbn12 0:9ce639d07eeb 93 data[0] = i2c.read(0x01);
mbn12 0:9ce639d07eeb 94 data[1] = i2c.read(0x01);
mbn12 0:9ce639d07eeb 95 data[2] = i2c.read(0x00);
mbn12 0:9ce639d07eeb 96 data[3] = i2c.read(0x00);
mbn12 0:9ce639d07eeb 97 pc.printf("Ver.3 Data[]\t 0x%X 0x%X 0x%X 0x%X \r\n\n", data[0],data[1],data[2],data[3]);
mbn12 0:9ce639d07eeb 98
mbn12 0:9ce639d07eeb 99
mbn12 0:9ce639d07eeb 100
mbn12 0:9ce639d07eeb 101 wait_ms(2000);
mbn12 0:9ce639d07eeb 102 }
mbn12 0:9ce639d07eeb 103 }