V-Plotter
V-Plotter / Hanging Wall Plotter "Plotbert"
Zur Codeweek 2015, wurde in einem Workshop für Kinder und Jugendliche begonnen ein V-Plotter, auch hanging wall plotter zu bauen.
Dieser steht dem HQ für allerei Spielereien zur Verfügung.
Aufbau
Ein Raspberry2 steuert über 8 Pins 2 StepperMotoren 28BYJ-48 (5V DC) via 2 passender H-Brücken. Und ein Die Pinbelgung auf dem Raspberry:
MOTOR_LEFT:
- _pins[0] = 11
- _pins[1] = 10
- _pins[2] = 13
- _pins[3] = 12
MOTOR_RIGHT:
- _pins[0] = 5
- _pins[1] = 4
- _pins[2] = 9
- _pins[3] = 8
Verwendung
$ ssh pi@172.22.99.103 (pw: raspberry)
starten des c++ Kommandointerpreters
$ vplotter
* l <length> // direct control, left motor * r <length> // direct control, right motor * m <dx> <dy> // move relative to current position * g <x> <y> // move to absolute coordinate * c // calibrate printer position * u // move pen up * d // move pin down * w
Quellen sind unter:
/home/pi/V-Plotter
Oder bei Github:
V-Plotter C++ Repo
script interface: Klassen Definition (Ruby)
Um bessere damit spielen zu können, haben wir eine Ruby Schnittstelle gebaut:
class VPlotter VPlotter.selectPlotter("plotbert") lädt die richtig config für unseren Plotter VPlotter.penUp() VPlotter.penDown() Stift auf und absetzen VPlotter.rotateLeftMotor( int Entfernung in 1/10 mm) VPlotter.rotateRightMotor( int Entfernung in 1/10 mm) Wert<0 = aufrollen, Wert>0 = abrollen VPlotter.goto(x,y) absolute Bewegung vom Koordinaten Ursprung aus VPlotter.move(x,y) relative Bewegung von aktueller Position VPlotter.home() zum Kalibrierungspunkt fahren
VPlotter.test() schreibt das Wort Test an die aktuelle Position VPlotter.setPen(int 0-100) servo motor position für definierte Stiftposition VPlotter.calibrate() zum neu kalibieren des V-Plotters die Stiftspitze zum Kalibrierungspunkt bringen und calibrate() ausführen
VPlotter.customConfig(posMotorRight(x,y), posMotorLeft(x,y), calibrationPoint(x,y), height, width) es ist unter Angabe der Rahmenparameter auch möglich andere Plotter damit zu steuern VPlotter.printSpeed(int [1-10-∞]) ändert die Zeichengeschwindigkeit, default=10, langsam=1, Werte über 10 sind möglich aber können zu übersprungenen Steps führen die die Zeichnung zerstören