Pixy (cmucam5) Library HelloWorld Program

Dependencies:   Pixy mbed

Fork of TestPixy by FRC - Hackathon

Committer:
haarkon
Date:
Thu May 31 17:37:26 2018 +0000
Revision:
0:ff2018f6c7cd
Child:
1:b3e8acec058f
Tested Pixy Library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
haarkon 0:ff2018f6c7cd 1 #include "mbed.h"
haarkon 0:ff2018f6c7cd 2 #include "Pixy.h"
haarkon 0:ff2018f6c7cd 3
haarkon 0:ff2018f6c7cd 4 Serial pc (PA_2, PA_3, 921600);
haarkon 0:ff2018f6c7cd 5 PIXY Pixy (PA_0, PA_1, 230400);
haarkon 0:ff2018f6c7cd 6
haarkon 0:ff2018f6c7cd 7 DigitalOut led1 (PA_5);
haarkon 0:ff2018f6c7cd 8 DigitalOut led2 (PD_2);
haarkon 0:ff2018f6c7cd 9 DigitalOut disquette (PA_12);
haarkon 0:ff2018f6c7cd 10
haarkon 0:ff2018f6c7cd 11 int main()
haarkon 0:ff2018f6c7cd 12 {
haarkon 0:ff2018f6c7cd 13 int nbCC, nbNM, cr;
haarkon 0:ff2018f6c7cd 14 Byte msg, brightness = 50;
haarkon 0:ff2018f6c7cd 15 T_pixyCCBloc CCBuf;
haarkon 0:ff2018f6c7cd 16 T_pixyNMBloc NMBuf;
haarkon 0:ff2018f6c7cd 17
haarkon 0:ff2018f6c7cd 18 pc.printf ("\r\nHelloWorld\r\n");
haarkon 0:ff2018f6c7cd 19 led1 = 1;
haarkon 0:ff2018f6c7cd 20 led2 = 0;
haarkon 0:ff2018f6c7cd 21 disquette = 0;
haarkon 0:ff2018f6c7cd 22
haarkon 0:ff2018f6c7cd 23 wait (5);
haarkon 0:ff2018f6c7cd 24 if (Pixy.checkPixy() == -1) {
haarkon 0:ff2018f6c7cd 25 pc.printf ("\rNo Pixy\n\r");
haarkon 0:ff2018f6c7cd 26 while(1);
haarkon 0:ff2018f6c7cd 27 } else {
haarkon 0:ff2018f6c7cd 28 pc.printf ("\rLet's go\n\r");
haarkon 0:ff2018f6c7cd 29 }
haarkon 0:ff2018f6c7cd 30
haarkon 0:ff2018f6c7cd 31 do {
haarkon 0:ff2018f6c7cd 32 Pixy.setBrightness (brightness);
haarkon 0:ff2018f6c7cd 33 wait (0.2);
haarkon 0:ff2018f6c7cd 34 cr = Pixy.detectedObject (&nbNM, &nbCC);
haarkon 0:ff2018f6c7cd 35 pc.printf ("\r\nBrightness = %3d => nbCC = %2d - nbNM = %2d : cr = %2d ? ", brightness, nbCC, nbNM, cr);
haarkon 0:ff2018f6c7cd 36 msg = pc.getc();
haarkon 0:ff2018f6c7cd 37 pc.printf("%c\r\n", msg);
haarkon 0:ff2018f6c7cd 38 if (msg=='a') brightness += 5;
haarkon 0:ff2018f6c7cd 39 if (msg=='q') brightness -= 5;
haarkon 0:ff2018f6c7cd 40 if (msg=='z') brightness += 1;
haarkon 0:ff2018f6c7cd 41 if (msg=='s') brightness -= 1;
haarkon 0:ff2018f6c7cd 42 } while (msg != 'X');
haarkon 0:ff2018f6c7cd 43
haarkon 0:ff2018f6c7cd 44 while (1) {
haarkon 0:ff2018f6c7cd 45 if (Pixy.checkNewImage()) {
haarkon 0:ff2018f6c7cd 46 cr = Pixy.detectedObject (&nbNM, &nbCC);
haarkon 0:ff2018f6c7cd 47 pc.printf ("\r\tnbCC = %2d - nbNM = %2d : cr = %2d\n", nbCC, nbNM, cr);
haarkon 0:ff2018f6c7cd 48 while (nbCC > 0) {
haarkon 0:ff2018f6c7cd 49 CCBuf = Pixy.getCCBloc ();
haarkon 0:ff2018f6c7cd 50 nbCC--;
haarkon 0:ff2018f6c7cd 51 pc.printf ("\rCC %5d : x=%5d, y=%5d - w=%5d, h=%5d, a=%5d\n", CCBuf.signature, CCBuf.x, CCBuf.y, CCBuf.width, CCBuf.height, (short)CCBuf.angle);
haarkon 0:ff2018f6c7cd 52 }
haarkon 0:ff2018f6c7cd 53 while (nbNM > 0) {
haarkon 0:ff2018f6c7cd 54 NMBuf = Pixy.getNMBloc ();
haarkon 0:ff2018f6c7cd 55 nbNM--;
haarkon 0:ff2018f6c7cd 56 pc.printf ("\rNM %4x : x=%5d, y=%5d - w=%5d, h=%5d\n", NMBuf.signature, NMBuf.x, NMBuf.y, NMBuf.width, NMBuf.height);
haarkon 0:ff2018f6c7cd 57 }
haarkon 0:ff2018f6c7cd 58 led1 = !led1;
haarkon 0:ff2018f6c7cd 59 led2 = !led2;
haarkon 0:ff2018f6c7cd 60 }
haarkon 0:ff2018f6c7cd 61 }
haarkon 0:ff2018f6c7cd 62 }