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
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
Bis wann sollte das fertig sein?
Ist sowas nicht in den Beispielprogrammen auf der CD zu finden?
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...
Unwissenheit ist ein Segen
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:
Damit hast du in der Variable lineData die Werte der beiden Sensoren.Code:unsigned int lineData[2]; // Platzhalter für die Daten der beiden Sensoren LineData(lineData); // Werte in den Platzhalter laden
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:
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 seinCode: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 }
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.
Unwissenheit ist ein Segen
Genau dieses demo hatte ich gemeint
Thomas
Lesezeichen