Lib

Dependencies:   mbed Pixy2_Library2

Committer:
Jordan406
Date:
Thu Jun 25 13:04:04 2020 +0000
Revision:
1:9045b866f1f6
Parent:
0:1cd75d83116f
Pixy2_Lib_I2C

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jordan406 0:1cd75d83116f 1 #include "mbed.h"
Jordan406 0:1cd75d83116f 2 #include "Pixy2_Library.h"
Jordan406 0:1cd75d83116f 3 #define ADRESSE 0xa8
Jordan406 0:1cd75d83116f 4
Jordan406 0:1cd75d83116f 5
Jordan406 0:1cd75d83116f 6 Serial pc (USBTX,USBRX);
Jordan406 0:1cd75d83116f 7 DigitalIn bp1(p24);
Jordan406 0:1cd75d83116f 8 DigitalIn bp2(p25);
Jordan406 0:1cd75d83116f 9 DigitalIn bp3(p26);
Jordan406 0:1cd75d83116f 10 int BP1,BP2,BP3;
Jordan406 0:1cd75d83116f 11 int state = 0;
Jordan406 0:1cd75d83116f 12 int X,X2,X3;
Jordan406 0:1cd75d83116f 13 int Y,Y2,Y3;
Jordan406 0:1cd75d83116f 14 int W,W2,W3;
Jordan406 0:1cd75d83116f 15 int H,H2,H3;
Jordan406 0:1cd75d83116f 16 int S,S2,S3;
Jordan406 0:1cd75d83116f 17 int I,I2,I3;
Jordan406 0:1cd75d83116f 18
Jordan406 0:1cd75d83116f 19 int main()
Jordan406 0:1cd75d83116f 20 {
Jordan406 0:1cd75d83116f 21 int A,A2,A3;
Jordan406 0:1cd75d83116f 22 bp1.mode(PullDown);
Jordan406 0:1cd75d83116f 23 bp2.mode(PullDown);
Jordan406 0:1cd75d83116f 24 bp3.mode(PullDown);
Jordan406 0:1cd75d83116f 25
Jordan406 1:9045b866f1f6 26 Pixy2_Library Cam1(p9,p10,ADRESSE);
Jordan406 0:1cd75d83116f 27
Jordan406 0:1cd75d83116f 28 Cam1.Pixy2_WhiteLED(true);
Jordan406 0:1cd75d83116f 29 while(1) {
Jordan406 0:1cd75d83116f 30 BP1 = bp1.read();
Jordan406 0:1cd75d83116f 31 BP2 = bp2.read();
Jordan406 0:1cd75d83116f 32 BP3 = bp3.read();
Jordan406 0:1cd75d83116f 33 state = 3;
Jordan406 0:1cd75d83116f 34 switch(state) {
Jordan406 0:1cd75d83116f 35 case 0 :
Jordan406 0:1cd75d83116f 36 /*Cam1.Pixy2_SetServo(0,0);
Jordan406 0:1cd75d83116f 37 wait(0.5);
Jordan406 0:1cd75d83116f 38 Cam1.Pixy2_SetServo(500,0);
Jordan406 0:1cd75d83116f 39 wait(0.5);*/
Jordan406 0:1cd75d83116f 40 break;
Jordan406 0:1cd75d83116f 41 case 1 :
Jordan406 0:1cd75d83116f 42 pc.printf("_______________X positions____________________\n\r");
Jordan406 0:1cd75d83116f 43 X = Cam1.Pixy2_GetBlock('x',1);
Jordan406 0:1cd75d83116f 44 X2 = Cam1.Pixy2_GetBlock('x',2);
Jordan406 0:1cd75d83116f 45 X3 = Cam1.Pixy2_GetBlock('x',3);
Jordan406 0:1cd75d83116f 46 pc.printf("Position X = %d\n\r", X);
Jordan406 0:1cd75d83116f 47 pc.printf("Position X2 = %d\n\r", X2);
Jordan406 0:1cd75d83116f 48 pc.printf("Position X3 = %d\n\r", X3);
Jordan406 0:1cd75d83116f 49 break;
Jordan406 0:1cd75d83116f 50 case 2 :
Jordan406 0:1cd75d83116f 51 pc.printf("_______________Y positions____________________\n\r");
Jordan406 0:1cd75d83116f 52 Y = Cam1.Pixy2_GetBlock('y',1);
Jordan406 0:1cd75d83116f 53 Y2 = Cam1.Pixy2_GetBlock('y',2);
Jordan406 0:1cd75d83116f 54 Y3 = Cam1.Pixy2_GetBlock('y',3);
Jordan406 0:1cd75d83116f 55 pc.printf("Position Y = %d\n\r", Y);
Jordan406 0:1cd75d83116f 56 pc.printf("Position Y2 = %d\n\r", Y2);
Jordan406 0:1cd75d83116f 57 pc.printf("Position Y3 = %d\n\r", Y3);
Jordan406 0:1cd75d83116f 58 break;
Jordan406 0:1cd75d83116f 59 case 3 :
Jordan406 0:1cd75d83116f 60 pc.printf("__________________ALL___________________________\n\r");
Jordan406 0:1cd75d83116f 61 X = Cam1.Pixy2_GetBlock('x',1);
Jordan406 0:1cd75d83116f 62 Y = Cam1.Pixy2_GetBlock('y',1);
Jordan406 0:1cd75d83116f 63 W = Cam1.Pixy2_GetBlock('w',1);
Jordan406 0:1cd75d83116f 64 H = Cam1.Pixy2_GetBlock('h',1);
Jordan406 0:1cd75d83116f 65 S = Cam1.Pixy2_GetBlock('s',1);
Jordan406 0:1cd75d83116f 66 A = Cam1.Pixy2_GetBlock('a',1);
Jordan406 0:1cd75d83116f 67 I = Cam1.Pixy2_GetBlock('i',1);
Jordan406 0:1cd75d83116f 68
Jordan406 0:1cd75d83116f 69 X2 = Cam1.Pixy2_GetBlock('x',2);
Jordan406 0:1cd75d83116f 70 Y2 = Cam1.Pixy2_GetBlock('y',2);
Jordan406 0:1cd75d83116f 71 W2 = Cam1.Pixy2_GetBlock('w',2);
Jordan406 0:1cd75d83116f 72 H2 = Cam1.Pixy2_GetBlock('h',2);
Jordan406 0:1cd75d83116f 73 S2 = Cam1.Pixy2_GetBlock('s',2);
Jordan406 0:1cd75d83116f 74 A2 = Cam1.Pixy2_GetBlock('a',2);
Jordan406 0:1cd75d83116f 75 I2 = Cam1.Pixy2_GetBlock('i',2);
Jordan406 0:1cd75d83116f 76
Jordan406 0:1cd75d83116f 77 X3 = Cam1.Pixy2_GetBlock('x',3);
Jordan406 0:1cd75d83116f 78 Y3 = Cam1.Pixy2_GetBlock('y',3);
Jordan406 0:1cd75d83116f 79 W3 = Cam1.Pixy2_GetBlock('w',3);
Jordan406 0:1cd75d83116f 80 H3 = Cam1.Pixy2_GetBlock('h',3);
Jordan406 0:1cd75d83116f 81 S3 = Cam1.Pixy2_GetBlock('s',3);
Jordan406 0:1cd75d83116f 82 A3 = Cam1.Pixy2_GetBlock('a',3);
Jordan406 0:1cd75d83116f 83 I3 = Cam1.Pixy2_GetBlock('i',3);
Jordan406 0:1cd75d83116f 84
Jordan406 0:1cd75d83116f 85 pc.printf("Signature du block = %d\n\r", S);
Jordan406 0:1cd75d83116f 86 pc.printf("Position X = %d\n\r", X);
Jordan406 0:1cd75d83116f 87 pc.printf("Position Y = %d\n\r", Y);
Jordan406 0:1cd75d83116f 88 pc.printf("Largeur = %d\n\r", W);
Jordan406 0:1cd75d83116f 89 pc.printf("Hauteur = %d\n\r", H);
Jordan406 0:1cd75d83116f 90 pc.printf("Angle code-couleur = %d\n\r", A);
Jordan406 0:1cd75d83116f 91 pc.printf("Indice de suivi du block = %d\n\r", I);
Jordan406 0:1cd75d83116f 92
Jordan406 0:1cd75d83116f 93
Jordan406 0:1cd75d83116f 94 pc.printf("______________________________\n\r");
Jordan406 0:1cd75d83116f 95 pc.printf("Signature du block 2 = %d\n\r", S2);
Jordan406 0:1cd75d83116f 96 pc.printf("Position X2 = %d\n\r", X2);
Jordan406 0:1cd75d83116f 97 pc.printf("Position Y2 = %d\n\r", Y2);
Jordan406 0:1cd75d83116f 98 pc.printf("Largeur 2 = %d\n\r", W2);
Jordan406 0:1cd75d83116f 99 pc.printf("Hauteur 2 = %d\n\r", H2);
Jordan406 0:1cd75d83116f 100 pc.printf("Angle code-couleur 2 = %d\n\r", A2);
Jordan406 0:1cd75d83116f 101 pc.printf("Indice de suivi du block 2 = %d\n\r", I2);
Jordan406 0:1cd75d83116f 102
Jordan406 0:1cd75d83116f 103
Jordan406 0:1cd75d83116f 104 pc.printf("______________________________\n\r");
Jordan406 0:1cd75d83116f 105 pc.printf("Signature du block 3 = %d\n\r", S3);
Jordan406 0:1cd75d83116f 106 pc.printf("Position X3 = %d\n\r", X3);
Jordan406 0:1cd75d83116f 107 pc.printf("Position Y3 = %d\n\r", Y3);
Jordan406 0:1cd75d83116f 108 pc.printf("Largeur 3 = %d\n\r", W3);
Jordan406 0:1cd75d83116f 109 pc.printf("Hauteur 3 = %d\n\r", H3);
Jordan406 0:1cd75d83116f 110 pc.printf("Angle code-couleur 3 = %d\n\r", A3);
Jordan406 0:1cd75d83116f 111 pc.printf("Indice de suivi du block 3 = %d\n\r", I3);
Jordan406 0:1cd75d83116f 112 break;
Jordan406 0:1cd75d83116f 113 }
Jordan406 0:1cd75d83116f 114
Jordan406 0:1cd75d83116f 115 wait(0.5);
Jordan406 0:1cd75d83116f 116 }
Jordan406 0:1cd75d83116f 117 }
Jordan406 0:1cd75d83116f 118