partie Capteur de couleur non fonctionnel
Dependencies: mbed GroveColourSensor
main.cpp@0:96895997d17b, 2018-12-21 (annotated)
- Committer:
- Melmino
- Date:
- Fri Dec 21 11:08:43 2018 +0000
- Revision:
- 0:96895997d17b
non fonctionnel
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Melmino | 0:96895997d17b | 1 | #include "mbed.h" |
Melmino | 0:96895997d17b | 2 | #include "GroveColourSensor.hpp" |
Melmino | 0:96895997d17b | 3 | |
Melmino | 0:96895997d17b | 4 | //I2C i2c(p9, p10); |
Melmino | 0:96895997d17b | 5 | |
Melmino | 0:96895997d17b | 6 | int main() { |
Melmino | 0:96895997d17b | 7 | |
Melmino | 0:96895997d17b | 8 | BusOut myleds(LED1, LED2, LED3, LED4); |
Melmino | 0:96895997d17b | 9 | GroveColourSensor colorSensor(p9, p10); |
Melmino | 0:96895997d17b | 10 | |
Melmino | 0:96895997d17b | 11 | |
Melmino | 0:96895997d17b | 12 | int i=0; |
Melmino | 0:96895997d17b | 13 | uint16_t colourValue; |
Melmino | 0:96895997d17b | 14 | unsigned colour; |
Melmino | 0:96895997d17b | 15 | char col[6]; |
Melmino | 0:96895997d17b | 16 | |
Melmino | 0:96895997d17b | 17 | int green, red, blue; |
Melmino | 0:96895997d17b | 18 | |
Melmino | 0:96895997d17b | 19 | colorSensor.powerUp(); |
Melmino | 0:96895997d17b | 20 | |
Melmino | 0:96895997d17b | 21 | while(1) { |
Melmino | 0:96895997d17b | 22 | for (colour = GroveColourSensor::GREEN; colour < GroveColourSensor::NUM_COLORS; colour++) { |
Melmino | 0:96895997d17b | 23 | colourValue = colorSensor.readColour(colour); |
Melmino | 0:96895997d17b | 24 | |
Melmino | 0:96895997d17b | 25 | } |
Melmino | 0:96895997d17b | 26 | |
Melmino | 0:96895997d17b | 27 | while(colourValue>0) |
Melmino | 0:96895997d17b | 28 | { |
Melmino | 0:96895997d17b | 29 | col[i]=colourValue%2; |
Melmino | 0:96895997d17b | 30 | colourValue=colourValue/2; |
Melmino | 0:96895997d17b | 31 | i++; |
Melmino | 0:96895997d17b | 32 | } |
Melmino | 0:96895997d17b | 33 | |
Melmino | 0:96895997d17b | 34 | green = col[1] * 256 + col[0]; |
Melmino | 0:96895997d17b | 35 | red = col[3] * 256 + col[2]; |
Melmino | 0:96895997d17b | 36 | blue = col[5] * 256 + col[4]; |
Melmino | 0:96895997d17b | 37 | |
Melmino | 0:96895997d17b | 38 | if (red>=green && red>=blue) { |
Melmino | 0:96895997d17b | 39 | myleds = 2; |
Melmino | 0:96895997d17b | 40 | wait(0.5); |
Melmino | 0:96895997d17b | 41 | } |
Melmino | 0:96895997d17b | 42 | |
Melmino | 0:96895997d17b | 43 | else if (green>=red && green>=blue) { |
Melmino | 0:96895997d17b | 44 | myleds = 4; |
Melmino | 0:96895997d17b | 45 | wait(0.5); |
Melmino | 0:96895997d17b | 46 | } |
Melmino | 0:96895997d17b | 47 | else if(blue>=red && blue>=green) { |
Melmino | 0:96895997d17b | 48 | myleds = 8; |
Melmino | 0:96895997d17b | 49 | wait(0.5); |
Melmino | 0:96895997d17b | 50 | } |
Melmino | 0:96895997d17b | 51 | // else myleds = i; |
Melmino | 0:96895997d17b | 52 | else { |
Melmino | 0:96895997d17b | 53 | myleds = 15; |
Melmino | 0:96895997d17b | 54 | wait(0.5); |
Melmino | 0:96895997d17b | 55 | } |
Melmino | 0:96895997d17b | 56 | } |
Melmino | 0:96895997d17b | 57 | //colorSensor.powerDown(); |
Melmino | 0:96895997d17b | 58 | |
Melmino | 0:96895997d17b | 59 | } |
Melmino | 0:96895997d17b | 60 |