PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ultraschall-Bestückung für ASURO



Hansi41
25.01.2008, 22:37
Hallo,
ich überlege meinen ausro mit einer ultraschall-ortung zu besttücken, hat jem,and schon einmal damit erfahrungen gemacht, oder kann mir jeamnd hilfreiche tips im voraus geben,
ich bin für jede antwort dankbar!!! :arrow:[/code]

m.a.r.v.i.n
25.01.2008, 23:25
Hallo,
mit der Ultraschallerweiterung aus dem Asuro Buch Band 1 habe ich keine sehr guten Erfahrungen gemacht. E. Henkes hat aber eine sehr gute Beschreibung darüber gemacht.
http://www.henkessoft.de/Roboter/ASURO.htm

Mit einigen Fertig Modulen von Devantech (SRF04,05) und dem Maxbotix EzSonar EZ01 hatte ich mehr Erfolg.
Näheres unter:
http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Ultraschallsensoren

Hier gibt es auch noch ein paar Fotos einer Asuro Erweiterungsplatine für Ultraschall Module:
http://www.flickr.com/photos/hmblgrmpf/tags/ultraschall/

Programmcode kann ich bei Bedarf auch noch auftreiben.

damaltor
25.01.2008, 23:57
ansonsten hilft die suchfunktion dir weiter, es gibt einige threads darüber.

was meinst du mit "ortung"? soll der asuro seine eigene position bestimmen bzw orten können, oder meinst du eine abstandssensorik?

Hansi41
26.01.2008, 12:17
hallo,
danke für eure beiträge, also mit ortung meine ich tatsächlich die abstandssensorik, also dass der asuro erkennt wie weit er von einem gegenstand entfernt ist und dann ab einem bestimmten toleranz wert stoppt und dann beispielsweise mit hilfe der odometrie eine drehung macht und danach wieder alles von vorne los geht, also so was meinte ich zum beispiel,

außerdem hätte ich da noch eine frage an m.a.r.v.i.n, du meintest deine erfahrungen mit der bestückund aus dem band 1 seien schlecht, was meinst du genau damit?
war die sensorik nicht genau, oder wie?

PS: ich habe jetzt mal die ganzen threads durchgelesen und habe gelesen, dass wohl die ausro libr. 2.7 nicht mehr mit dem quellcode aus dem ausro band 1 zusammenpasst, da wohl ein andere timer verwendet wurde, könntet ihr mir den einstieg etwas erleichtern und mal schnell den richtigen code posten (hab vor lauter codes in den threads den überblick verloren)?

Das wär super nett,
DANKE!

Hansi41
26.01.2008, 16:29
hallo, ich bin mal auf suche gegangen und habe folgenden code aufgestöbert von pinsel120866:

#include "asuro.h"
int abstand=0; //Variable int

int main(void)
{
Init();
SerWrite("\r\n --- ultrasonic test ---",29); //Senden von ultrsonic test (1)
Msleep(1000); //warten

do //do Schleife
{
abstand = Chirp(); //Chirp senden (2)
SerWrite("\r\n distanz in cm: ",20); //
Msleep(500); //errechnete Distanz anzeigen
Printint(abstand); // (3)
}
while(1);
return 0;
}

allerdings verstehe ich noch nicht ganz genau den code; ich habe mal ein paar bemerkungen an den rand gemacht, so wie ich denke könnte der code funktionieren, könntet ihr mal kurz drüber schauen ob das auch stimmt?

(1)= Warum steht da \r\n\?
(2)= Steht Chirp sozusagen für die Aufforderung das Signal zu senden und auszuweten, oder wie?
(3)= Warum steht da plötzlich print? diesen befehl kenne ich eig nur aus java?

ihr seht, bei mir dauert es immer ein wenig länger^^
bin über jede antwort dankbar

sloti
26.01.2008, 17:49
Hi hans,

also "\r" steht für eine neue Zeile und mit "\n" geht man zum Zeilenanfang. Die funktion Chirp kommt aus einer ultraschall lib, die irgendjemand hier im Forum entwickelt hat. Musste mal die Such funktion benutzten. Und Print int ist eine Funktion aus einer neueren Lib ich weiß nicht wo sie zum ersten mal auftaucht aber in der 2.6 ist sie auf jeden fall mit drin. Mit der kann man einfach nur Zahlenwerte ausgeben und nimmt einem das Umwandeln von integer zu ansi zeichen.

mfg
Erik

pinsel120866
26.01.2008, 19:55
Hallo hansi,

der Code, den du gefunden hast, tut nichts anderes, als dir die ermittelte Entfernung des US-Moduls via Hyperterminal in Zentimeter mitzuteilen.

Es ist eine gute Hilfe um den Poti einzustellen. Du hältst ein Hindernis vor den US-Bausatz und drehst so lange am Poti herum, bis die errrechnete Entfernung mit der Wirklichkeit übereinstimmt.

Um danach den ASURO durchs Zimmer zu schicken, musst du ein ANDERES Programm flashen.

damaltor
27.01.2008, 00:41
Hansi, bitte benutze den code-button. danke! ;)

Hansi41
27.01.2008, 13:32
also erstmal danke für eure tips und erklärungen,
@pinsel: das mit dem code das war mit klar, aber trotzde mnocheinmal danke
@sloti: vielen dank, aber wo steht denn, welche libr ich benutze?
@damaltor: das versuche ich die ganze zeit, aber irgendwie bekomm ich das noch nicht hin, muss noch ein wenig üben

sloti
27.01.2008, 13:45
Die einzelnen Bibliotheken sind in deinem Projekt Ordner (Firsttry) dort siehst du eine asuro.h und eine asuro.c. Die .h datei ist die header datei. Die muss in jedem Programm eingebunden wer den. "#inculed <asuro.h>" wirst du in jedem asuro Programm finden (müssen). Wenn eine der beiden libs öffnest steht oben drin welche das ist. Wenn du die von der CD benutzt wird das wohl die 2.1 haben. (Frag mich nicht warum die bei 2.1 angefangen haben :)) In der asuro.c sind alle Funktionen.
Ich hoffe das war einigermaßen gut erklärt.

mfg
Erik

Hansi41
27.01.2008, 13:48
aha, jetzt hab ic hdas auch mal verstanden, also habe nachgeschaut und es ist tatsächlich die Bibliothek 2.1, die ist doch eig total veraltert, wo kann ich denn neuere versionen downloaden?
auf der seite www.arexx.com?

sloti
27.01.2008, 13:59
http://sourceforge.net/project/showfiles.php?group_id=155217 Auf der Seite gibt es die neue 2.7 sowohl die etwas ältere 2.6, die ich noch nutzte.

mfg
Erik

Hansi41
27.01.2008, 14:34
und wenn ich jetzt die neuere downloade, dann muss ic heinfach die alte löschen und die neue dahin kopieren, wo vorher die alte sic hbefand oder wie?

sloti
27.01.2008, 14:37
An sich sollte das gehen ja. Aber als sich die 2.7 noch in der beta phase befand wars eine Objektbibliothek aus der man sich die segemente rauskopieren musste. Wenn da aber eine asuro.h und eine asuro.c ist dann brauchste einfach nur die alte überschreiben.


mfg
Erik

Hansi41
27.01.2008, 14:49
ah ok, dann mach ich das jetzt mal...
danke