a beter verjin
Dependencies: m3pi mbed ADJD-S371_ColourSens
Fork of TestColorSensor by
main.cpp@1:d481b2912c2a, 2013-11-20 (annotated)
- 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?
User | Revision | Line number | New 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 | } |