PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HILFE!!!: zu programierung



SCHÜLER
28.03.2006, 16:10
Hi,

Ich bin schüler und muss heute für einen asuro ein programm schreiben so das er mit dem optischen senor des asuro standard bei einer weißen fläche fährt und bei einer schwarzen fläche stehen bleibt bitte um rasche hilfe !!!!!!!!

mfg schüler

womb@t
28.03.2006, 16:55
Bis wann sollte das fertig sein?

bad-joker
28.03.2006, 17:29
Ist sowas nicht in den Beispielprogrammen auf der CD zu finden?

maze2k
28.03.2006, 17:35
Schau dir doch einfach mal das Beispielprogramm zur Linienverfolgung an.

Da schaust du, wie erkannt wird, ob eine Linie vorhanden ist oder nicht (schwarz oder weiß), und dann kannst du das recht einfach anpassen...

Vielleicht krame ich nachher mal die CD raus, dann schau ich mal. Wenn ich was finde, poste ich es nachher, falls es noch nichts anderes hilfreiches gibt :)

Achja, in welcher Sprache willst du programmieren? Die Asuro-Beispielprogramme sind ja alle in C...

maze2k
28.03.2006, 17:46
Ok, ich hab die CD gleich rausgesucht :)

Also du findest unter ASURO_src/SelfTest die Klasse LineDemo.c
Da siehst du, wie die Sensoren abgefragt werden

Im Prinzip ist das dann sowas hier:



unsigned int lineData[2]; // Platzhalter für die Daten der beiden Sensoren
LineData(lineData); // Werte in den Platzhalter laden


Damit hast du in der Variable lineData die Werte der beiden Sensoren.
Am besten testest du diese beiden Zeilen in einem neuen Programm und lässt dir die Werte via IR an den PC zurückgeben. Das machst du ein paar mal, jeweils mit schwarzem und mit weissem Untergrund. Dann weisst du, welche Werte die Sensoren liefern.
Du kannst dann eine Schwelle s definieren, die irgendwo zwischen den Werten für "schwarz" und "weiss" ist.

Dann schreibst du in dein Programm noch eine if-Abfrage:


if (lineData[0] > s && lineData[1] > s) {
// hier kommt der Code für's fahren rein
} else {
// hier kommt der Code für's NICHT fahren rein
}

Je nachdem, bei welcher Farbe du fahren möchtest, musst du den Code fürs Fahren in den else-Teil bauen, aber ich denke mal, das müsste klar sein :)

Du kannst die Abfragen natürlich auch noch erweitern und beide Sensoren einzeln behandeln, oder nur einen davon... Aber ich hoffe, es ist jetzt klar, wie du die Sensoren abfragen kannst.

bad-joker
28.03.2006, 17:54
Genau dieses demo hatte ich gemeint
Thomas