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:
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);
}
(ungetestet)
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