Hallo William!
So wie ich die Beschreibung des Mini Serverboards http://www.shop.robotikhardware.de/s...roducts_id=118 interpretiere, lässt sich dieses Ding extrem einfach über den RS232 (Serieller Port) steuern. Entweder direkt am Computer (9-Poliger RS323-Anschluss) oder an einem Microcontroller. Beide Lassen sich direkt anschließen.
Ich denke, dass es für dich um ein vielfaches einfacher sein dürfte, dieses Mini-Serverboard direkt am Computer zu betreiben.
Dafür brauchst du einen RS232. Wenn du so etwas nicht am Laptop hast, dann kauf dir so einen "USB to RS232"-Adapter, wie du ihn ja bereits bei Amazon gefunden hast.
Und dann brauchst du nur noch eine einfache Programmiersprache, die Daten über den RS232 an das Mini-Serverboard schicken kann. Ich empfehle dafür Python (http://python.org/) und das Python-Modul pySerial (http://pyserial.sourceforge.net/).
Auf der pySerial-Homeapge wird auch schon gezeigt, wie man damit Daten über die Serielle schicken kann.
Ein einfaches Python-Programm zum Ansteuern würde dann z.B. so aussehen:
Code:
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import serial
import time
STARTBYTE = chr(255)
SERVONR = chr(0)
#Info: POS_MIN = chr(0)
# POS_MAX = chr(254)
ser = serial.Serial("COM1")
for i in range(10):
pos = 25 * i
cmd = STARTBYTE + SERVONR + chr(pos)
ser.write(cmd)
time.sleep(1.0)
ser.close()
Dieses Mini-Programm läuft 10 Sekunden und bewegt dabei den "Servo 0" von der Position 25 nach 250. Das kann man natürlich noch viel feiner definieren. ``time.sleep`` wird ungenau, je kleiner der Wert wird. Bei ``time.sleep(0.01) ist nach meiner Erfahrung auch bei moderneren Computern unter Windows Schluss. Am besten, du experimentierst ein wenig.
Hier noch ein Beispiel:
Code:
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import serial
import time
STARTBYTE = chr(255)
SERVONR = chr(0)
#Info: POS_MIN = chr(0)
# POS_MAX = chr(254)
start_time = time.time()
ser = serial.Serial("COM1")
for pos in range(0, 254, 2):
cmd = STARTBYTE + SERVONR + chr(pos)
ser.write(cmd)
time.sleep(0.01)
ser.close()
print "Dauer:", time.time() - start_time
Hier wird in 2'er-Schritten gesteuert.
Damit kannst du dich auf dein eigentliches Fachgebiet konzentrieren und musst dich nicht in die Mikrocontroller-Programmierung einarbeiten. Und wenn du Fragen zur Programmierung in Python hast --> http://python-forum.de
mfg
Gerold
Lesezeichen