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
diff -r f41f244de0b3 -r 7a63cb7ec666 main.cpp
--- 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