#include "CMUCam4.h"
#define led1 5
#define led2 6
#define led3 7
#define blob_left_led 8
#define blob_middle_led 9
#define blob_right_led 10
#define error_led 11
CMUCam4 camera;//************hier treed de fout steeds op , en dat bij ieder programa dat ik dowloud ***********
unsigned char blob_x;
unsigned char blob_y;
int mode;
int error;
CMUCam4::CMUCAM4_color_range_t blueTracking;
CMUCam4::CMUCAM4_track_data_t trackingData;
void setup()
{
camera.init();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(blob_left_led, OUTPUT);
pinMode(blob_middle_led, OUTPUT);
pinMode(blob_right_led, OUTPUT);
pinMode(error_led, OUTPUT);
blueTracking.redLow = 40;
blueTracking.redHigh = 120;
blueTracking.greenLow = 160;
blueTracking.greenHigh = 255;
blueTracking.blueLow = 150;
blueTracking.blueHigh = 230;
trackingData.centroidX = 0;
trackingData.centroidY = 0;
trackingData.boundX1 = 0;
trackingData.boundY1 = 0;
trackingData.boundX2 = 0;
trackingData.boundY2 = 0;
trackingData.trackedPixels = 0;
trackingData.trackingConfidence = 0;
mode = 0;
}
void loop()
{
if(mode == 0) //send tracking information
{
camera.setTrackColor(&blueTracking);
camera.startTrackColor(&blueTracking);
delay(1000); //give a second to settle
mode = 1;
digitalWrite(led1, HIGH);
}
else if(mode == 1)
{
//get tracking data, and note if error occured
error = camera.getTrackData(&trackingData);
if(error < 0)
digitalWrite(error_led, HIGH);
else
digitalWrite(error_led, LOW);
digitalWrite(led2, HIGH);
delay(100);
mode = 2;
}
else if(mode == 2)
{
//display information
blob_x = trackingData.centroidX;
blob_y = trackingData.centroidY;
Serial.print("Error: ");
Serial.println(error);
Serial.print("Centroid X: ");
Serial.println(blob_x);
Serial.print("Centroid Y: ");
Serial.println(blob_y);
mode = 3;
}
else if(mode == 3)
{
//indicate with LED where target is
if(blob_x < '2') //blob left (50)
{
digitalWrite(blob_left_led, HIGH);
}
else if(blob_x < 'n') //blob middle (110)
{
digitalWrite(blob_middle_led, HIGH);
}
else //blob_x < CMUCAM4_WINDOW_X_MAX
{
digitalWrite(blob_right_led, HIGH);
}
}
}
Lees aub de FAQ eens goed door, en hou alles in 1 topic!
Verder in http://www.circuitsonline.net/forum/view/119115
Gebruik ook de code-tags om je code leesbaar te houden.
[Bericht gewijzigd door Henry S. op (25%)]