Go Down

Topic: Roborealm 1.0 und Arduino, kein weiterkommen (Read 2643 times) previous topic - next topic

kabelmann

Jan 06, 2011, 09:12 pm Last Edit: Jan 06, 2011, 10:03 pm by kabelmann Reason: 1
Hallo,


möchte gern eine Webcam steuern, die auf einem Servo Pan Tilt Mechanismus montiert ist.


Die x / y Koordinaten zur Verarbeitung durch den Arduino Uno werden von Roborealm v 1.0 bereitgestellt,

eine seperate Webcam ist hierzu verbunden und " beobachtet" den kompletten Bewegungsbereich am Schreibtisch.




Ziel ist es, mit einem passenden Auswertungsfilter in Roborealm 1.0, letztlich von der Webcam auf dem Pan Tilt

Mechanismus verfolgt zu werden.


Die Hardware (Servos, Spannungsversorgung, etc) ist angeschlossen und bereits erfolgreich mit dem Nunchuck getestet.

Der Arduino Uno bekommt auch Daten vom SSC Modul in Roborealm 1.0, die Rx Led fackert.

Habe den Arduino Uno COM Port auf 8 Datenbits, keine Parität, 1 Stoppbit, keine Flussteuerung und auf

2400 Baud laufen.

Die verschiedenen getesteten Sketches sind auch auf 2400 Baud eingestellt bei "Serial.begin" , die Servo Pins

wurden auch editiert.


Leider passiert gar nichts an den Servos.


Habe diverse Sketches aus verschiedenen Quellen getestet,

leider ohne Erfolg.

Hier eine zufällige Auswahl, habe aber noch mehr getestet:

http://kabelmann.dyndns.org/bilder/1.pde
http://kabelmann.dyndns.org/bilder/2.pde
http://kabelmann.dyndns.org/bilder/3.pde
http://kabelmann.dyndns.org/bilder/4.pde
http://kabelmann.dyndns.org/bilder/5.pde


Habe ich ein generelles Verständnisproblem?

Könnte es an der Arduino Uno Schnittstellenkonfiguration liegen?

Kommen über den COM Port Daten die über das Sketch nicht richtig verarbeitet werden?



Langsam gehen mir die Ideen aus, habe leider nur keine bis

minimalste Programmierkenntnisse, deswegen habe ich auch versucht

fertige Sketches anzupassen, was mir auch nach einigem Try and

Error bei der Nunchuck-Steuerung gelang.




Für Hilfestellung und Anregung bin ich dankbar und verbleibe mit Gruß



Michael

uwefed

#1
Jan 06, 2011, 10:50 pm Last Edit: Jan 06, 2011, 11:04 pm by uwefed Reason: 1
Zusammanfassend:
Webcam1 nimmt ein Bild auf, PC verarbeitet es und gibt Steuerkoordinaten an den Arduino weiter , der die Servos an der CAM 2 bewegt damit ein bestimmter Ausschnitt im  Blickwinkel der CAM2 ist.

Kommen Daten am Arduino an? Blinkt das RX LED?

Wenn Du manuell über das Terminal Steuerkoordinaten schickst dann funktioniert die Ansteuerung der Servos?
Kontrollier mal was der PC schickt. (Display am Arduino anhängen und Werte ausgeben).

Dein Code scheint zu funktionieren (Version 5 hab ich kontrolliert).
Dein Code erwartet immer 4 Byte, einen Buchstaben und 3 Zahlen. Bei 1 und 2 stelligen Werten müssen Nullen vorangehen ( für 3 muß 003 kommen)

Grüße Uwe

kabelmann

#2
Jan 07, 2011, 12:01 am Last Edit: Jan 07, 2011, 03:14 am by kabelmann Reason: 1
Hallo,


ja, deine Zusammenfassung ist korrekt.

Daten kommen am Arduino an, die RX Led Blinkt.


Wenn ich per Serial Monitor oder per Terminal Befehle sende wie T080 für x Achse auf 80 Grad
oder P160 drehen sich die Servos wie gewünscht in die richtige Position.
Langsam verstehe ich was ich hier versuche  ;)

Habe ein Tool gefunden das mir die Daten die über den Com Port gehen anzeigt, leider verfüge ich nicht über ein Display  :(

Beim Serial Monitor der IDE werden die Worte die ich sende Angezeigt, bei Roborealm 1.0  kommt aber nichts. Scheinbar habe ich die Wandlung und Weiterleitung der 4 bit Worte in der Software an sich noch nicht ganz richtig vollzogen.

Allem Anschein nach gibt das SSC Modul die Daten nicht direkt weiter sondern nur wenn diese durch ein VB Script vorher portiert wurden.


Werde weiter daran Analysieren.

Verbleibe vorab mit Dank für den Schubs in die richtige Richtung  :)

Michael

uwefed

Wenn Du ein Seriell-USB modul oder einen weiteren Arduino hast kannst Du beim Steuerungsarduino die TX Leitung mit der RX des Interfaces oder des Arduinos (ATmega328 entfernen) verbinden und dieses dann mit USB. Ein Terminalfenster müßte die zurückgesendeten Werte darstellen.
Grüße Uwe

kabelmann

#4
Jan 07, 2011, 08:06 pm Last Edit: Jan 07, 2011, 08:08 pm by kabelmann Reason: 1
Habe leider nicht die Möglichkeit den Versuchsaufbau nachzustellen, bin noch nicht so gut ausgestattet diesbezüglich.

Habe stattdessen softwareseitig experimentiert, es gibt ja zum Glück eine Reihe von freien Serial Port Monitoren.

Leider bekomme ich der Software Roborealm 1.0 keinen Ton entlockt, es werden keine 4 Bit Worte richtung Arduino gesendet bzw. nicht im Serial Port Monitor angezeigt.

Frage mich nur was dann die LED zum blinken bringt...irgendwas wird da wohl transferiert.

Werde mich der Problematik mit neuen Denkansätzen aus anderer Richtung nähern müssen...

Fest steht das es wohl nicht am Sketch oder an der Hardware liegen kann...


Verbleibe mit Gruß

Michael

uwefed

Verschickst Du keinen Ashii Wert sondern den Numeischen Wert? Laß mal das 13-Led mit dem übertragenen Wert blinken: lang für die Zehnerstelle und kurz für die Einerstelle:  also zB 48 4x lang 8x kurz; lange Pause nächsten Wert.
So bekommst Du mal eine Idee was daherkommt.
Grüße Uwe

kabelmann

#6
Jan 15, 2011, 12:09 am Last Edit: Jan 15, 2011, 12:09 am by kabelmann Reason: 1
Hallo,

nein, ich gebe direkt den numerischen Wert in den Serialmoitor ein, z.B X160 und Y024, habe das Sketch dementsprechend angepasst, bezogen auf die Variablen, vorher P und T.


Leider habe ich keine Idee wie ich das mit der Ausgabe an der Pin 13 LED Codetechnisch umsetzen kann...frage mich ausserdem ob die einzelnen Worte noch erkennbar sind, oder ob die LED nicht konstant leuchtet, selbst bei 2400 Baud.

Ich vermute mittlerweile das Roborealm 1.0 keine Dezimal sondern eine ASCII Ausgabe hat.

Bin derzeit auf der Suche nach einer ähnlichen Software die auch "Koordinaten im Bild erkennt" und diese auf dem Com Port ausgeben kann...

Habe Bemerkt das da noch ein langer weg vor mir liegt, scheinbar geht dies alles nicht ohne tiefere Kentnisse im Bereich
Programmierung.

Vielleicht ne Idee wie ich dort einen Einstieg finden kann?

Google bietet viel Material, leider etwas zuviel für mich als "Neuling",
ich kann dort noch nicht die Spreu vom Weizen trennen...


MfG

Michael

Go Up