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.
main.cpp@0:1eada136b388, 2013-11-19 (annotated)
- Committer:
- TaintedTruth
- Date:
- Tue Nov 19 02:13:11 2013 +0000
- Revision:
- 0:1eada136b388
- Child:
- 1:d481b2912c2a
Color sensor testing;
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 | 0:1eada136b388 | 9 | |
TaintedTruth | 0:1eada136b388 | 10 | int main() { |
TaintedTruth | 0:1eada136b388 | 11 | |
TaintedTruth | 0:1eada136b388 | 12 | m3pi m3pi; |
TaintedTruth | 0:1eada136b388 | 13 | sensorLED = 1; |
TaintedTruth | 0:1eada136b388 | 14 | char cmd[1]; |
TaintedTruth | 0:1eada136b388 | 15 | |
TaintedTruth | 0:1eada136b388 | 16 | while(1) { |
TaintedTruth | 0:1eada136b388 | 17 | char result_low; |
TaintedTruth | 0:1eada136b388 | 18 | char result_high; |
TaintedTruth | 0:1eada136b388 | 19 | |
TaintedTruth | 0:1eada136b388 | 20 | //Red |
TaintedTruth | 0:1eada136b388 | 21 | cmd[0] = 0x40; |
TaintedTruth | 0:1eada136b388 | 22 | colorSensor.write(addr,cmd,1); |
TaintedTruth | 0:1eada136b388 | 23 | colorSensor.read(addr, cmd,1); |
TaintedTruth | 0:1eada136b388 | 24 | result_low = cmd[0]; |
TaintedTruth | 0:1eada136b388 | 25 | |
TaintedTruth | 0:1eada136b388 | 26 | cmd[0] = 0x41; |
TaintedTruth | 0:1eada136b388 | 27 | colorSensor.write(addr,cmd,1); |
TaintedTruth | 0:1eada136b388 | 28 | colorSensor.read(addr, cmd,1); |
TaintedTruth | 0:1eada136b388 | 29 | result_high = cmd[0]; |
TaintedTruth | 0:1eada136b388 | 30 | |
TaintedTruth | 0:1eada136b388 | 31 | int red = (result_high << 8) + result_low; |
TaintedTruth | 0:1eada136b388 | 32 | |
TaintedTruth | 0:1eada136b388 | 33 | //Green |
TaintedTruth | 0:1eada136b388 | 34 | cmd[0] = 0x42; |
TaintedTruth | 0:1eada136b388 | 35 | colorSensor.write(addr,cmd,1); |
TaintedTruth | 0:1eada136b388 | 36 | colorSensor.read(addr, cmd,1); |
TaintedTruth | 0:1eada136b388 | 37 | result_low = cmd[0]; |
TaintedTruth | 0:1eada136b388 | 38 | |
TaintedTruth | 0:1eada136b388 | 39 | cmd[0] = 0x43; |
TaintedTruth | 0:1eada136b388 | 40 | colorSensor.write(addr,cmd,1); |
TaintedTruth | 0:1eada136b388 | 41 | colorSensor.read(addr, cmd,1); |
TaintedTruth | 0:1eada136b388 | 42 | result_high = cmd[0]; |
TaintedTruth | 0:1eada136b388 | 43 | |
TaintedTruth | 0:1eada136b388 | 44 | int green = (result_high << 8) + result_low; |
TaintedTruth | 0:1eada136b388 | 45 | |
TaintedTruth | 0:1eada136b388 | 46 | //Blue |
TaintedTruth | 0:1eada136b388 | 47 | cmd[0] = 0x44; |
TaintedTruth | 0:1eada136b388 | 48 | colorSensor.write(addr,cmd,1); |
TaintedTruth | 0:1eada136b388 | 49 | colorSensor.read(addr, cmd,1); |
TaintedTruth | 0:1eada136b388 | 50 | result_low = cmd[0]; |
TaintedTruth | 0:1eada136b388 | 51 | |
TaintedTruth | 0:1eada136b388 | 52 | cmd[0] = 0x45; |
TaintedTruth | 0:1eada136b388 | 53 | colorSensor.write(addr,cmd,1); |
TaintedTruth | 0:1eada136b388 | 54 | colorSensor.read(addr, cmd,1); |
TaintedTruth | 0:1eada136b388 | 55 | result_high = cmd[0]; |
TaintedTruth | 0:1eada136b388 | 56 | |
TaintedTruth | 0:1eada136b388 | 57 | int blue = (result_high << 8) + result_low; |
TaintedTruth | 0:1eada136b388 | 58 | |
TaintedTruth | 0:1eada136b388 | 59 | // Print for debugging |
TaintedTruth | 0:1eada136b388 | 60 | |
TaintedTruth | 0:1eada136b388 | 61 | //bt.printf("R:%d",red); |
TaintedTruth | 0:1eada136b388 | 62 | //bt.printf("G:%d",green); |
TaintedTruth | 0:1eada136b388 | 63 | //bt.printf("B:%d",blue); |
TaintedTruth | 0:1eada136b388 | 64 | |
TaintedTruth | 0:1eada136b388 | 65 | m3pi.printf("R:%d",red); |
TaintedTruth | 0:1eada136b388 | 66 | wait(1.5); |
TaintedTruth | 0:1eada136b388 | 67 | m3pi.printf("G:%d",green); |
TaintedTruth | 0:1eada136b388 | 68 | wait(1.5); |
TaintedTruth | 0:1eada136b388 | 69 | m3pi.printf("B:%d",blue); |
TaintedTruth | 0:1eada136b388 | 70 | wait(1.5); |
TaintedTruth | 0:1eada136b388 | 71 | |
TaintedTruth | 0:1eada136b388 | 72 | } |
TaintedTruth | 0:1eada136b388 | 73 | } |