Die Led 0 leuchtet für einen Moment auf, dann jedoch leuchten beide, das ist da du den Sleep-Befehl vergessen (oder absichtlich entfernt) hast. Dadurch erhält der Controller das Signal einer Linie gleich mehrfach und springt dadurch sofort (ohne sichtbare Verzögerung) in den else-Zweig, da er die Schleife ja sofort wieder ausführt.
Versuchs mal so:
Code:
#include "qfixBobbyBoard.h"
#include "qfixSlaveBoard.h"
BobbyBoard links;
SlaveBoard rechts;
int main()
{
while (!links.button(0)) ;
int white = links.analog(3);
while (!links.button(1)) ;
int black = links.analog(3);
int ground = int((white+black)*0.55);
int blub=0;
while (true) {
if (links.analog(3) > ground){
}
else {
if (blub == 0){
links.ledOn(0);
blub = blub + 1;
}
else {
links.ledOn(0);
links.ledOn(1);
}
}
sleep(10); //oder einen anderen, längeren Wert, hängt von der Breite der Linie ab
}
}
Des weiteren würde ich mal schaun ob die Initialisierung der White, Black bzw. Ground-Variable sicher stimmt. Darin könnte ein Fehler liegen den ich nicht überprüfen kann da ich deinen Bot eigentlich nicht kenne (kann nur C programmieren )
Lesezeichen