Hallo radbruch,
wie gehts dem ASURO Motortreiber? Laufen die Motoren schon wieder?
Dein Linienerkennungsprogramm läuft mit meinem asuro auch sehr gut. Da ich aber als FrontLED eine IR-LED aus einer alten Fernbedienung eingebaut habe, musste ich den Wert für Limit auf 200
Den Programmcode habe ich extra auf die Verhältnisse des Standard des Originalasuro angepasst. In einem meiner zwei ASUROs ist eine 24000mcd superhelle rote LED eingebaut. Dort muss der Wert auch auf 200 erhöht werden. Die Grenzlinienerkennung wird dadurch natürlich um noch einiges stabiler.
Vielleicht hat die ultrahelle, roten LED einen Vorteil weil man sehen kann, ob sie eingeschaltet sind und das Infrortliche eventuell den IR-Empfänger für die Abstandmessung stören könnte.
Im Moment beschäftige ich mich ein wenig mit der Zielfindung über den IR-Abstandsmesser. Gar nicht so einfach.
Ich habe eine kleine Funktion geschrieben, mit der grob der Abstand ermittelt werden kann, in dem die Pulsweite durchge"sweept" wird.
Waste hat das schon mal gemacht ( glaube ich ) aber ich konnte es auf die schnelle nicht finden
Code:
uint8_t abstand()
{
uint8_t k=FALSE,n;
uint16_t j,z;
for(n=1;n<10;n++)
{
OCR2 = 254-n; //OCR2=0xFE ( sehr nahe )
Msleep(2);
z=0;
for(j=0;j<1000;j++) if (PIND & (1 << PD0))z++;
if (z>900) k=n;
}
if(k==9) k=FALSE; // Falls Abstand größer 10 Abstand=FALSE
return k;
}
Lesezeichen