Hallo

Hier ein Beispiel wie man auf die Ziffern der einzelnen Stellen kommt:
Code:
// aus: https://www.roboternetz.de/phpBB2/ze...=328394#328394
void PrintChar(unsigned int x)
{
   char ergebnis[5]  = {'0','0','0','0','0'};
   while (x >=10000) { ergebnis[0]++; x -=10000; }
   while (x >= 1000) { ergebnis[1]++; x -= 1000; }
   while (x >=  100) { ergebnis[2]++; x -=  100; }
   while (x >=   10) { ergebnis[3]++; x -=   10; }
   ergebnis[4] +=x;
   SerWrite(ergebnis,5);
}
In Ergebniss[0] bis [4] stehen dann die 10tsd, 1tsd, hunis, zehner und einer. Allerdings als ASCII-Code, weil der Startwert jeweils '0' (48 oder 0x30) war. Wenn man die Zuweisung der Startwerte in

char ergebnis[5] = {0, 0, 0, 0, 0};

ändert, enthält das Array nur noch die Werte 0 bis 9 für die jeweilige Ziffer.

Meinen TT-Ball habe ich oberhalb der Taile abgeschnitten, der Abstand meiner Liniensensoren entspricht deshalb eher dem Anstand mit der orginalen Halbkugel. Wenn ich die echten Werte mit eingeschalteten IR-Leds ausgeben lasse, habe ich mit diesem Abstand so ziemlich das Maximum erreicht (Werte für weises Blatt bei knapp 1000). Wenn ich die Sensoren anhebe oder senke werden die Werte kleiner. Die Lichtkegel der IR-LEDs werde ich heut abend mal anschauen.

Gruß

mic