PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Den überblick verloren.... Nicro servo contr. VB Bascom ???



Mikel36
14.12.2008, 09:07
Moin MOin

Ich bin ein absoluter flachkopp
Habe mir also den Micro servo cont. gekauft kabel zum pc usw.

Ich möchte das gerne direkt vom pc ansprechen also über ein prg
die 8 servos steuern.

habe mir nun bascom angeschaut 8-[
ok geht wohl nicht ohne rn-control oder?

dann Visualbasic 2008 geladen
ahhh ohhh nichts
ich bekomme es nicht hin...

kann mir jemand helfen oder sagen wo ich mal ein beispiel prg finde ...


oder muss ich mir die rn-control kaufen aber dann sende ich die prg ja an die rn controll und steuer wieder nicht direckt vom PC

würde mich freuen wenn jemand mir hilft

micha :-s

Willa
14.12.2008, 09:37
Aus der Doku:
1. Byte: Startbyte ist immer 255
2. Byte: Servonummer 0 bis 7 (oder 8 bis 15)
3. Byte: Servoposition 0 bis 254
Beispiel: Print chr(255); chr(7); chr (254);
Du könntest jetzt z.B. einfach in ein Terminalprogramm (googeln) folgendes per Hand eingeben:
255
7
254

dann sollte sich servo nr. 7 bewegen.

radbruch
14.12.2008, 10:09
Hallo


einfach in ein Terminalprogramm (googeln) folgendes per Hand eingeben:
255
7
254

Ganz so einfach geht es leider nicht. So sendet man die ascii-Codes der einzelnen Ziffern (und lfcr), das Servoboard benötigt aber die Werte als Bytes. Dazu benötigt man ein Programm das die Werte direkt über die Schnittstelle sendet, in Basic formuliert man das so: print chr(wert).

Eine Möglichkeit mit Bordmitteln:

Man erzeugt eine kleine Textdatei mit drei Zeichen als Inhalt mit dem Editor oder in der Dos-Konsole:

copy con servo.txt[Enter]
abc[strg-z][Enter]

Dann öffnet man diese Textdatei mit dem Hexeditor und ändert die Zeichen auf der Hexseite des Editfensters in FF 01 7f. nach dem Speichern hat man nun eine Datei mit den gewünschten Steuerbytes (Kommando, Servo-Nr., Position) die man an das Servoboard senden kann:

copy servo.txt com1:[Enter]

Das könnte man nun noch steigern indem man mehrere Dateien erzeugt und ein kleines Batchmenu programmiert. Alternativ könnte man auch 256 Ein-Byte-Dateien erzeugen und die Befehle beim Senden zusammenbasteln:

copy 255.txt+1.txt+127.txt com1:[Enter]

Besser und eleganter ist natürlich die Verwendung eines Hochsprachenkompilers wie VisualBasic oder -C für den PC oder kostenlose Alternativen wie z.B. profan (http://xprofan.com/content.mx?download).

Gruß

mic

Mikel36
14.12.2008, 10:24
danke die antwort von Willa war mir lieber .
Ich habe VisualBasic 6 und 2008

habe damit noch nicht viel gemacht
ich bekomme es nicht hin ich .

also tonne auf und rein damit

aber danke radbruch ich bin jetzt auch gebrochen ;)

ICH GEBE NICHT AUF !!!

Willa
14.12.2008, 10:49
Ok, dann ist es ein ganz bisschen komplizierter..... Lies dir mal meinen Artikel im Wiki durch, der erklärt wie man Programme in SharpDevelop mit VB.Net schreibt (opensource und fast genauso wie Visualstudio).
https://www.roboternetz.de/wissen/index.php/Windows_Programm_zum_Steuern_des_AVR%27s

Du legst dann auf einen Button
SerialPort.Write(Chr(255))
SerialPort.Write(Chr(7))
SerialPort.Write(Chr(254))
Ich könnte mir vorstellen dass das funktioniert..... Vielleicht hat radbruch da ja noch eine Idee zu.

radbruch
14.12.2008, 11:03
Hallo

Für erste Versuche eignet sich auch das Testprogramm des Herstellers:

http://www.pololu.com/picture/0J912.494.png (http://www.pololu.com/docs/0J23)
(Bild von http://www.pololu.com/docs/0J23)

:)

Link zur Doku des Servoboards: http://www.pololu.com/file/0J37/ssc03a_guide.pdf


Ich bin ein absoluter flachkopp...
Das kann ja jeder behaupten ;) Es gibt viele Möglichkeiten das Servoboard anzusteuern, entscheidend ist doch, welche Vorkenntnisse bezüglich der zu verwendenden Programmiersprache man hat. Für weitere Tipps sollte man wissen, welche Aufgabe die acht Servos erfüllen sollen und was das Steuerprogramm leisten soll.

Gruß

mic