Hallo
Ganz wichtig finde ich eine kleine Verzögerung nach dem Einschalten der FrontLED, weil auch LEDs nicht schlagartig hell werden. Zusätzlich sollte man mehrfach einlesen um "Ausreiserwerte" zu eliminieren:
(ungetestet)Code:#include "asuro.h" // PrintChar-Funktion nach izaseba (mit int-Parameter) void PrintChar(unsigned int x) { char ergebnis[] = {'0','0','0','0'}; while (x >=1000){ ergebnis[0]++; x -=1000; } while (x >=100){ ergebnis[1]++; x -=100; } while (x >= 10) { ergebnis[2]++; x -=10; } ergebnis[3] +=x; SerWrite(ergebnis,4); } int main(void) { unsigned int werte[2], data[2]; Init(); FrontLED(ON); Sleep(100); while(1) { LineData(data); werte[0]=data[0]; werte[1]=data[1]; LineData(data); werte[0]=(werte[0]+data[0])/2; werte[1]=(werte[1]+data[1])/2; PrintChar(werte[0]); SerWrite("-", 1); PrintChar(werte[1]); SerWrite("\n\r", 2); werte[0]=500; while(werte[0]--) Sleep(72); } return(0); }
Ausgabe von Linienwerten: https://www.roboternetz.de/community...ata()-auslesen
Noch mehr Werte: https://www.roboternetz.de/community...l=1#post246414
Vielleicht reicht dir das schon für erste Versuche.
Gruß
mic
[Edit]Diagramm für getunte LineLED:
https://www.roboternetz.de/phpBB2/al...hp?pic_id=1381
Mit der orginalen Led sind die Werte bedeutend kleiner. Ein Vorteil hoher Werte wurde allerdings bisher noch nicht beschrieben ;)
Lesezeichen