Hallo Georg,

Zitat von
inka
hi hermann,
ich habe noch nicht so ganz genau verstanden wie der wert von 11oo zustande kam.
Ist es die summe der werte der linienfolgesensoren (die höchsten werte) oder ist das was anderes?
es ist der Schwellwert zur Unterscheidung, ob der Asuro noch auf den Linie (mehr oder weniger) drauf ist (ON_LINE, wenn sum<THRESHOLD), oder nicht mehr auf der Linie ist (OFF_LEFT oder OFF_RIGHT, wenn sum>=THRESHHOLD), wobei sum die Summe der Werte des linken und des rechten Fototransistors ist -- siehe auch folgenden Code-Ausschnitt:
Code:
...
while (1) // state machine: position on/off the line
{
LineData(data);
sum = data[LEFT] + data[RIGHT];
if (sum>=THRESHOLD) // not on the line
{
...
}
else // on the line
{
...
}
...
}
...
Ich verwende eine "normale" rote LED, da ist der asuro nur geradeaus gefahren. Beim einsetzen von einer IR diode )ich habe mir steckbare module gemacht) drehte er sich nur im kreis.
Als ich den wert auf 400 gesetzt habe (bei IR) fuhr er auf der linie, allerdings auf einer breiteren (ca. 1,5cm breit) recht flott herum, auf der dünnen linie von der testarena fährt er mit dem gleichen wetr und IR nur sinnlos in der gegend herum
Schön, daß Du "einfach mal probiert hast, die richtigen Werte zu finden", und natürlich ist es auch richtig hier zu fragen [besonders freut micht die Formulierung fuhr er auf der linie, allerdings auf einer breiteren (ca. 1,5cm breit) recht flott herum
].
In folgendem Beitrag im Thread Vollausschlag für die Fotosensoren kannst Du sehen, daß die Summenmesswerte von myIrAsuro zwischen 500 (auf der Linie) und 1950 (auf weißem Untergrund) liegen, da war 1100 eine pragmatische Wahl des Schwellwertes.
Man kann den Schwellwert aber auch einfach experimentell Bestimmen (z.B. für die beiden Setups von Dir mit 1,5cm breiten und mit schmalen Linien)! - Flashe dazu einfach ein Programm, welches die LineData()-Werte des Asuro in einem Terminalprogramm auf dem PC ausgibt, auf den Asuro (falls keines zur Hand, dann findest Du eines in diesem Beitrag).
- Setze den Asuro auf die Linie und bewege ihn dann soweit nach links oder rechts, bis Du möchtest, daß er den Zustand als nicht mehr auf der Linie ansehen soll.
- Verwende die Summe der LineData()-Werte an dieser Stelle als Wert für die Konstante THRESHOLD.
naja, was ich meine ist ob es sowas wie "deutungen" der veränderung und den auswirkungen dieser gibt, z.b. von 200 rauf= schmalere linie, IR-werte irgendwo bei ...?, der schwellenwert bei 1000 und darunter= dickere linie, schlechter diode o.ä...
Ich hoffe, das obige Rezept zur Festlegung von THRESHOLD ist hilfreich.
... auf der dünnen linie von der testarena ...
Welche Testarena? Die Linien auf der RobotChallenge sind 1.5cm breit, siehe hier.
So langsam habe ich nämlich bedenken wegen der anzahl der flashvorgänge, die der prozessor mitmacht
Ich glaube irgendwo gelesen zu haben, daß man den Asuro mindestens 10000 mal Flashen kann, da brauchst Du wohl erst mal keine Bedenken haben ...
Lesezeichen