a beter verjin

Dependencies:   m3pi mbed ADJD-S371_ColourSens

Fork of TestColorSensor by Kyle Chiang

Committer:
TaintedTruth
Date:
Wed Nov 20 21:06:40 2013 +0000
Revision:
1:d481b2912c2a
Parent:
0:1eada136b388
Child:
2:5c0159599726
12c fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TaintedTruth 0:1eada136b388 1 #include "mbed.h"
TaintedTruth 0:1eada136b388 2 #include "m3pi.h"
TaintedTruth 0:1eada136b388 3
TaintedTruth 0:1eada136b388 4 DigitalOut sensorLED(p8);
TaintedTruth 0:1eada136b388 5 I2C colorSensor(p28, p27);
TaintedTruth 0:1eada136b388 6 //Serial bt(p13, p14); // tx, rx
TaintedTruth 0:1eada136b388 7
TaintedTruth 0:1eada136b388 8 const int addr = 0x74;
TaintedTruth 1:d481b2912c2a 9 m3pi m3pi;
TaintedTruth 1:d481b2912c2a 10
TaintedTruth 1:d481b2912c2a 11
TaintedTruth 0:1eada136b388 12
TaintedTruth 0:1eada136b388 13 int main() {
TaintedTruth 0:1eada136b388 14
TaintedTruth 1:d481b2912c2a 15 char cmd[2];
TaintedTruth 1:d481b2912c2a 16 //sensorLED = 1;
TaintedTruth 1:d481b2912c2a 17 m3pi.locate(0,1);
TaintedTruth 1:d481b2912c2a 18 m3pi.printf("Start");
TaintedTruth 1:d481b2912c2a 19 wait(1);
TaintedTruth 0:1eada136b388 20
TaintedTruth 0:1eada136b388 21 while(1) {
TaintedTruth 1:d481b2912c2a 22
TaintedTruth 1:d481b2912c2a 23
TaintedTruth 1:d481b2912c2a 24 cmd[0] = 0x00;
TaintedTruth 1:d481b2912c2a 25 cmd[1] = 0x01;
TaintedTruth 1:d481b2912c2a 26 colorSensor.write(addr,cmd,2);
TaintedTruth 1:d481b2912c2a 27
TaintedTruth 1:d481b2912c2a 28 int result_low;
TaintedTruth 1:d481b2912c2a 29 int result_high;
TaintedTruth 1:d481b2912c2a 30
TaintedTruth 0:1eada136b388 31
TaintedTruth 0:1eada136b388 32 //Red
TaintedTruth 0:1eada136b388 33 cmd[0] = 0x40;
TaintedTruth 1:d481b2912c2a 34 wait(.1);
TaintedTruth 0:1eada136b388 35 colorSensor.write(addr,cmd,1);
TaintedTruth 0:1eada136b388 36 colorSensor.read(addr, cmd,1);
TaintedTruth 1:d481b2912c2a 37 result_low = (int) cmd[0];
TaintedTruth 0:1eada136b388 38
TaintedTruth 0:1eada136b388 39 cmd[0] = 0x41;
TaintedTruth 1:d481b2912c2a 40 wait(.1);
TaintedTruth 0:1eada136b388 41 colorSensor.write(addr,cmd,1);
TaintedTruth 0:1eada136b388 42 colorSensor.read(addr, cmd,1);
TaintedTruth 1:d481b2912c2a 43 result_high = (int) cmd[0];
TaintedTruth 0:1eada136b388 44
TaintedTruth 0:1eada136b388 45 int red = (result_high << 8) + result_low;
TaintedTruth 0:1eada136b388 46
TaintedTruth 0:1eada136b388 47 //Green
TaintedTruth 0:1eada136b388 48 cmd[0] = 0x42;
TaintedTruth 1:d481b2912c2a 49 wait(.1);
TaintedTruth 0:1eada136b388 50 colorSensor.write(addr,cmd,1);
TaintedTruth 0:1eada136b388 51 colorSensor.read(addr, cmd,1);
TaintedTruth 1:d481b2912c2a 52 result_low = (int) cmd[0];
TaintedTruth 0:1eada136b388 53
TaintedTruth 0:1eada136b388 54 cmd[0] = 0x43;
TaintedTruth 1:d481b2912c2a 55 wait(.1);
TaintedTruth 0:1eada136b388 56 colorSensor.write(addr,cmd,1);
TaintedTruth 0:1eada136b388 57 colorSensor.read(addr, cmd,1);
TaintedTruth 1:d481b2912c2a 58 result_high = (int) cmd[0];
TaintedTruth 0:1eada136b388 59
TaintedTruth 0:1eada136b388 60 int green = (result_high << 8) + result_low;
TaintedTruth 0:1eada136b388 61
TaintedTruth 0:1eada136b388 62 //Blue
TaintedTruth 0:1eada136b388 63 cmd[0] = 0x44;
TaintedTruth 1:d481b2912c2a 64 wait(.1);
TaintedTruth 0:1eada136b388 65 colorSensor.write(addr,cmd,1);
TaintedTruth 0:1eada136b388 66 colorSensor.read(addr, cmd,1);
TaintedTruth 1:d481b2912c2a 67 result_low = (int) cmd[0];
TaintedTruth 0:1eada136b388 68
TaintedTruth 0:1eada136b388 69 cmd[0] = 0x45;
TaintedTruth 1:d481b2912c2a 70 wait(.1);
TaintedTruth 0:1eada136b388 71 colorSensor.write(addr,cmd,1);
TaintedTruth 0:1eada136b388 72 colorSensor.read(addr, cmd,1);
TaintedTruth 1:d481b2912c2a 73 result_high = (int) cmd[0];
TaintedTruth 0:1eada136b388 74
TaintedTruth 0:1eada136b388 75 int blue = (result_high << 8) + result_low;
TaintedTruth 0:1eada136b388 76
TaintedTruth 0:1eada136b388 77 // Print for debugging
TaintedTruth 0:1eada136b388 78
TaintedTruth 0:1eada136b388 79 //bt.printf("R:%d",red);
TaintedTruth 0:1eada136b388 80 //bt.printf("G:%d",green);
TaintedTruth 0:1eada136b388 81 //bt.printf("B:%d",blue);
TaintedTruth 0:1eada136b388 82
TaintedTruth 1:d481b2912c2a 83 m3pi.cls();
TaintedTruth 1:d481b2912c2a 84 m3pi.locate(0,1);
TaintedTruth 0:1eada136b388 85 m3pi.printf("R:%d",red);
TaintedTruth 0:1eada136b388 86 wait(1.5);
TaintedTruth 1:d481b2912c2a 87
TaintedTruth 1:d481b2912c2a 88 m3pi.cls();
TaintedTruth 1:d481b2912c2a 89 m3pi.locate(0,1);
TaintedTruth 0:1eada136b388 90 m3pi.printf("G:%d",green);
TaintedTruth 0:1eada136b388 91 wait(1.5);
TaintedTruth 1:d481b2912c2a 92
TaintedTruth 1:d481b2912c2a 93 m3pi.cls();
TaintedTruth 1:d481b2912c2a 94 m3pi.locate(0,1);
TaintedTruth 0:1eada136b388 95 m3pi.printf("B:%d",blue);
TaintedTruth 0:1eada136b388 96 wait(1.5);
TaintedTruth 0:1eada136b388 97 }
TaintedTruth 0:1eada136b388 98 }