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.
Diff: main.cpp
- Revision:
- 5:7a63cb7ec666
- Parent:
- 3:f41f244de0b3
- Child:
- 6:9aeb18bebe85
--- a/main.cpp Fri Nov 29 12:46:05 2019 +0000 +++ b/main.cpp Fri Dec 06 14:29:16 2019 +0000 @@ -3,9 +3,11 @@ Serial USB_link(USBTX, USBRX); // USB initialization +PwmOut LED(A2); // LED initialization + glibr capt1(D4,D5); // I²C initialization : D4 = SDA ; D5 = SCL -glibr capt2(D6,D7); // D6 = SDA ; D7 = SCL -glibr capt3(D8,D9); // D8 = SDA ; D9 = SCL + +//CAN can1(D0, D1); // CAN initialization bool initialization(void) { @@ -13,8 +15,12 @@ USB_link.baud(115200); USB_link.format(8, SerialBase::None, 1); - // sensors initalization - if( (capt1.ginit())&& (capt1.enableLightSensor(true))&& (capt2.ginit())&& (capt2.enableLightSensor(true)) && (capt3.ginit())&& (capt3.enableLightSensor(true)) ) { + // LED initialization + LED.period_ms(10); + LED.write(0.5); + + // sensor initalization + if( (capt1.ginit()) && (capt1.enableLightSensor(true)) && (capt1.enableProximitySensor(true)) ) { return true; } else { return false; @@ -23,47 +29,32 @@ int main (void) { - int i; - uint16_t r[3],g[3],b[3],a[3]; - if (initialization()) { - USB_link.printf("Initialization complete \r\n"); - } else { - USB_link.printf("Error during initialization\r\n"); - } - + char color; + uint16_t r,g,b; + uint8_t a; + if (initialization()) USB_link.printf("Initialization complete \r\n"); + else USB_link.printf("Error during initialization\r\n"); + while(1) { - capt1.readRedLight(r[0]); - capt1.readGreenLight(g[0]); - capt1.readBlueLight(b[0]) ; - capt1.readAmbientLight(a[0]); - - capt2.readRedLight(r[1]); - capt2.readGreenLight(g[1]); - capt2.readBlueLight(b[1]) ; - capt2.readAmbientLight(a[1]); + capt1.readRedLight(r); + capt1.readGreenLight(g); + capt1.readBlueLight(b); + capt1.readProximity(a); + + //display of red, green and proximty variables + USB_link.printf("r: %hu g : %hu prox : %hu \r\n ",r,g,a); - capt3.readRedLight(r[2]); - capt3.readGreenLight(g[2]); - capt3.readBlueLight(b[2]) ; - capt3.readAmbientLight(a[2]); + if (a<100) { + color = 0 ; // 0 means no object being measured + } else if (r > g ) { + color = 1 ; // 1 means red + } else if (g > r ) { + color = 2 ; // 2 means green + } + //can1.write(CANMessage(1200,&color,1)); + + // USB_link.printf("color : %c", color); + } - // display of color - /*for(i=0; i<3; i++) { - if (a[i]>100) { - USB_link.printf("n ||"); - } else if (r[i] > g[i] ) { - USB_link.printf("r ||"); - } else if (g[i] > r[i] ) { - USB_link.printf("g ||"); - } - } - USB_link.printf("\r\n");*/ - - //display of red and green variables - for(i=0; i<3; i++) { - USB_link.printf("Capt%d r: %hu g : %hu || ",i,r[i],g[i]); - } - USB_link.printf("\r\n"); - } return 0; } \ No newline at end of file