Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: m3pi mbed ADJD-S371_ColourSens
Fork of TestColorSensor by
main.cpp@4:f38d0db83e1c, 2013-11-21 (annotated)
- Committer:
- nolanwagener
- Date:
- Thu Nov 21 00:25:39 2013 +0000
- Revision:
- 4:f38d0db83e1c
- Parent:
- 3:b3c41c85fb1e
- Child:
- 5:3dd9b0a35aee
awefdsafasdfwaefqweafaw
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 | 3:b3c41c85fb1e | 5 | I2C colorSensor(p28, p27); //SDA, SCL |
| TaintedTruth | 2:5c0159599726 | 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 | 2:5c0159599726 | 11 | int read(char lowByteRegister) { |
| TaintedTruth | 2:5c0159599726 | 12 | char cmd[1]; |
| TaintedTruth | 3:b3c41c85fb1e | 13 | char echo[2]; |
| TaintedTruth | 1:d481b2912c2a | 14 | |
| TaintedTruth | 2:5c0159599726 | 15 | cmd[0] = lowByteRegister; |
| TaintedTruth | 2:5c0159599726 | 16 | colorSensor.write(addr,cmd,1); |
| TaintedTruth | 3:b3c41c85fb1e | 17 | colorSensor.read(addr,echo,2); |
| TaintedTruth | 2:5c0159599726 | 18 | int result_low = (int) echo[0]; |
| TaintedTruth | 2:5c0159599726 | 19 | |
| TaintedTruth | 2:5c0159599726 | 20 | /* |
| TaintedTruth | 2:5c0159599726 | 21 | cmd[0] = lowByteRegister + 1; |
| TaintedTruth | 2:5c0159599726 | 22 | colorSensor.write(addr,cmd,1); |
| TaintedTruth | 2:5c0159599726 | 23 | colorSensor.read(addr,echo,1); |
| TaintedTruth | 2:5c0159599726 | 24 | int result_high = (int) echo[0]; |
| TaintedTruth | 2:5c0159599726 | 25 | bt.printf("hi:%0x ",result_high); |
| TaintedTruth | 2:5c0159599726 | 26 | |
| TaintedTruth | 2:5c0159599726 | 27 | return (result_high << 8) | result_low; |
| TaintedTruth | 2:5c0159599726 | 28 | */ |
| TaintedTruth | 2:5c0159599726 | 29 | |
| TaintedTruth | 2:5c0159599726 | 30 | return result_low; |
| TaintedTruth | 2:5c0159599726 | 31 | } |
| TaintedTruth | 0:1eada136b388 | 32 | |
| TaintedTruth | 0:1eada136b388 | 33 | int main() { |
| TaintedTruth | 0:1eada136b388 | 34 | |
| TaintedTruth | 2:5c0159599726 | 35 | bt.baud(115200); |
| TaintedTruth | 2:5c0159599726 | 36 | |
| TaintedTruth | 1:d481b2912c2a | 37 | char cmd[2]; |
| TaintedTruth | 2:5c0159599726 | 38 | sensorLED = 1; |
| TaintedTruth | 1:d481b2912c2a | 39 | m3pi.locate(0,1); |
| TaintedTruth | 1:d481b2912c2a | 40 | m3pi.printf("Start"); |
| TaintedTruth | 1:d481b2912c2a | 41 | wait(1); |
| TaintedTruth | 0:1eada136b388 | 42 | |
| TaintedTruth | 0:1eada136b388 | 43 | while(1) { |
| TaintedTruth | 1:d481b2912c2a | 44 | cmd[0] = 0x00; |
| TaintedTruth | 1:d481b2912c2a | 45 | cmd[1] = 0x01; |
| TaintedTruth | 1:d481b2912c2a | 46 | colorSensor.write(addr,cmd,2); |
| TaintedTruth | 1:d481b2912c2a | 47 | |
| TaintedTruth | 3:b3c41c85fb1e | 48 | cmd[0] = 0x06; |
| TaintedTruth | 3:b3c41c85fb1e | 49 | cmd[1] = 0x04; |
| TaintedTruth | 3:b3c41c85fb1e | 50 | colorSensor.write(addr,cmd,2); |
| TaintedTruth | 3:b3c41c85fb1e | 51 | |
| TaintedTruth | 2:5c0159599726 | 52 | int red = read(0x06); |
| TaintedTruth | 2:5c0159599726 | 53 | // int green = read(0x42); |
| TaintedTruth | 2:5c0159599726 | 54 | // int blue = read(0x44); |
| TaintedTruth | 0:1eada136b388 | 55 | |
| TaintedTruth | 0:1eada136b388 | 56 | // Print for debugging |
| TaintedTruth | 0:1eada136b388 | 57 | |
| TaintedTruth | 2:5c0159599726 | 58 | bt.printf("R:%0x ",red); |
| TaintedTruth | 2:5c0159599726 | 59 | //bt.printf("G:%0x ",green); |
| TaintedTruth | 2:5c0159599726 | 60 | //bt.printf("B:%0x ",blue); |
| TaintedTruth | 2:5c0159599726 | 61 | wait(1); |
| TaintedTruth | 2:5c0159599726 | 62 | |
| TaintedTruth | 2:5c0159599726 | 63 | /* |
| TaintedTruth | 2:5c0159599726 | 64 | cmd[0] = 0x06; |
| TaintedTruth | 2:5c0159599726 | 65 | colorSensor.write(addr,cmd,1); |
| TaintedTruth | 2:5c0159599726 | 66 | colorSensor.read(addr,cmd,1); |
| TaintedTruth | 2:5c0159599726 | 67 | red = cmd[0]; |
| TaintedTruth | 0:1eada136b388 | 68 | |
| TaintedTruth | 2:5c0159599726 | 69 | cmd[0] = 0x07; |
| TaintedTruth | 2:5c0159599726 | 70 | colorSensor.write(addr,cmd,1); |
| TaintedTruth | 2:5c0159599726 | 71 | colorSensor.read(addr,cmd,1); |
| TaintedTruth | 2:5c0159599726 | 72 | green = cmd[0]; |
| TaintedTruth | 2:5c0159599726 | 73 | |
| TaintedTruth | 2:5c0159599726 | 74 | cmd[0] = 0x08; |
| TaintedTruth | 2:5c0159599726 | 75 | colorSensor.write(addr,cmd,1); |
| TaintedTruth | 2:5c0159599726 | 76 | colorSensor.read(addr,cmd,1); |
| TaintedTruth | 2:5c0159599726 | 77 | blue = cmd[0]; |
| TaintedTruth | 2:5c0159599726 | 78 | |
| TaintedTruth | 2:5c0159599726 | 79 | bt.printf("Rc:%d ",red); |
| TaintedTruth | 2:5c0159599726 | 80 | bt.printf("Gc:%d ",green); |
| TaintedTruth | 2:5c0159599726 | 81 | bt.printf("Bc:%d ",blue); |
| TaintedTruth | 2:5c0159599726 | 82 | */ |
| TaintedTruth | 2:5c0159599726 | 83 | |
| TaintedTruth | 2:5c0159599726 | 84 | /* |
| TaintedTruth | 1:d481b2912c2a | 85 | m3pi.cls(); |
| TaintedTruth | 1:d481b2912c2a | 86 | m3pi.locate(0,1); |
| TaintedTruth | 0:1eada136b388 | 87 | m3pi.printf("R:%d",red); |
| TaintedTruth | 0:1eada136b388 | 88 | wait(1.5); |
| TaintedTruth | 1:d481b2912c2a | 89 | |
| TaintedTruth | 1:d481b2912c2a | 90 | m3pi.cls(); |
| TaintedTruth | 1:d481b2912c2a | 91 | m3pi.locate(0,1); |
| TaintedTruth | 0:1eada136b388 | 92 | m3pi.printf("G:%d",green); |
| TaintedTruth | 0:1eada136b388 | 93 | wait(1.5); |
| TaintedTruth | 1:d481b2912c2a | 94 | |
| TaintedTruth | 1:d481b2912c2a | 95 | m3pi.cls(); |
| TaintedTruth | 1:d481b2912c2a | 96 | m3pi.locate(0,1); |
| TaintedTruth | 0:1eada136b388 | 97 | m3pi.printf("B:%d",blue); |
| TaintedTruth | 0:1eada136b388 | 98 | wait(1.5); |
| TaintedTruth | 2:5c0159599726 | 99 | */ |
| TaintedTruth | 0:1eada136b388 | 100 | } |
| TaintedTruth | 0:1eada136b388 | 101 | } |
