HELP Vraag over Line Follower AREXX AAR-05

HELP

Morgen heb ik mijn examen (Beeldende Kunst) en dan moet een AAR AREXX-05 een zwarte lijn volgen. MAAR HIJ DOET HET NIET.

Ik snap zelf heel weinig van programmeren maar ik ging er van uit dat de standaard code die bij de robot hoort het zou doen. De robot rijdt prima maar volgt de zwarte lijn niet.

Hierbij een link naar de product-informatie die ik bijgeleverd kreeg: http://www.produktinfo.conrad.com/datenblaetter/175000-199999/191694-an-01-nl-ARDUINO_ROBOTER_AAR_04.pdf

Dit is de code die ik heb:

#define SPEED 0x8F

int speedLeft,speedRight;
unsigned int lineData[2];
int ADOffset;

void setup()
{
//Setup: Initalization
//pin 9 left foreward
pinMode(9, OUTPUT);
//pin 10 left backward
pinMode(10, OUTPUT);
//pin 5 right foreward
pinMode(5, OUTPUT);
//pin 6 right backward
pinMode(6, OUTPUT);
//Front led
pinMode(7,OUTPUT);

//Then set the start value of the signals to zero:
digitalWrite(9, 0); //pin 9 to ground
analogWrite(10, 0);
analogWrite(5, 0);
digitalWrite(6, 0); //pin 6 to ground
digitalWrite(7,HIGH); //FrontLED ON
//Startup delay:
delay(2000);

}

void LineLeft (void)
{
speedLeft += 1;
if (speedLeft > 0xFE) speedLeft = 0xFF;
}

void LineRight (void)
{
speedRight += 1;
if (speedRight > 0xFE) speedRight = 0xFF;
}
void loop()
{
LineDemo();
}

void LineDemo(void)
{
int i;
unsigned char j;

for (j = 0; j < 0xFF; j++) LineData(lineData);
LineData(lineData);
ADOffset = lineData[0] - lineData[1];
speedLeft = speedRight = SPEED;
for(;:wink: {
LineData(lineData);
i = (lineData[0] - lineData[1]) - ADOffset;
if ( i > 4) {
LineLeft();
}
else if ( i < -4) {
LineRight();
}
else {
speedLeft = speedRight = SPEED;
}
analogWrite(9,speedLeft);
analogWrite(5,speedRight);
}
}
void LineData(unsigned int *linedata)
{
linedata[0]=analogRead(A6); //left linesensor
delay(10);
linedata[1]=analogRead(A7); //right linesensor
delay(10);
}

De robot rijdt maar volgt de lijn niet.. Heeft iemand een idee waarom hij de lijn niet volgt?

Veel dank alvast!

p.s sorry als ik het ergens verkeerd heb gepost, zoals ik al zei: ik ben hier niet zo bekend mee.. Maar wel leergierig!

Hoi en welkom.

Lekker op tijd met je robot.
Heb je de handleiding gelezen en gezien dat daar fouten in staan ?
Dat belooft al niet veel goeds.
Maar goed, die handleiding is ook een raar ding.
Want het pretendeert een inleiding in de Arduino wereld te zijn, maar het is duidelijk geschreven voor en door iemand die allang geïntroduceerd is.
Maar daar heb je nu ook niets aan.

Je vertelt dat de robot wel rijdt, maar dat ie de lijn niet volgt.
Om de lijn te kunnen volgen, moet ie de lijn ook kunnen zien.
Daarom heeft ie een lampje (LED) die op de grond schijnt, en en twee "oogjes" die kijken of ze een reflectie van dat lampje zien.
Die oogjes zijn infrarood sensoren, aldus de handleiding.
Dus moet de LED ook infrarood licht schijnen.
Nou moet jij eerst maar eens zien of die LED ook schijnt, en jouw probleem is dan dat je met je eigen ogen geen IR licht kunt waarnemen.
Misschien heb je mazzel en komt er ook ander licht uit de LED en kun je toch wat zien.
Anders heb je mooi pech gehad.
Tenzij..
Je een telefoon met een camera hebt.
Want die kan wel IR licht registreren.
Dus geeft die LED wel licht ?

De code is op z'n best matig.
Maar die zet pin 7 altijd aan en dus zou de LED moeten oplichten.
Als er geen licht van komt, dan moet je de robot terugsturen naar conrad, maar er wel eerst even over bellen.
Want omdat je de robot hebt uitgepakt, mag je 'm niet meer terugsturen staat in de handleiding.....
Das hetzelfde als mijn zeer hoog geprezen internet provider die als je er heen belt omdat je internet het niet doet, tegen je vertelt dat je dan even op internet moet kijken of er problemen bekend zijn in jouw gebied.

Dus nog een keer: begin met te kijken of het lampje ook schijnt.

En als ie wel schijnt, dan moet je alle andere en mogelijk storende lichtbronnen eens uit doen en nog maar eens kijken of ie een lijn wil volgen.