Arduino Projekte mit Tinkerbots bauen - Pivot Bibliothek

Pivot

Das Pivot erlaubt dir Kreationen mit Armen oder Beinen zu entwerfen, oder eine Lenkung zu realisieren. Das Pivot kann sich in einer Spanne von 0° bis 180° bewegen. Desweiteren kannst du mit der entsprechenden Funktion den derzeitigen Winkel des Pivots auslesen. So kannst du zum Beispiel einen Hebel bauen. Manchmal, wenn du dein Pivot bewegen willst, wirst du feststellen, dass es versucht eine bestimmte Position zu halten. Um dieses Verhalten auszuschalten, wirf einen Blick auf die „stop“-Funktion. Eine automatische Stromabschaltung beschützt den Motor des Pivots vor zu hohen Belastungen.

 

TBPivot()

 

Instanziiert ein Modul des Typs TBPivot. Es wird ein Header-File („TBPivot.h“) benötigt, um auf die Funktionen von TBPivot zuzugreifen.

Syntax

#include "TBPivot.h"
TBPivot myPivot(YELLOW);
Parameter Werte Beschreibung
color RED, GREEN, BLUE, MINT, PURPLE, YELLOW, WHITE LED-Farbe des Moduls

 

setPosition()

Lässt das Pivot eine Position einnehmen und weist es an, diese Position zu halten.

Syntax

myPivot.setPosition(angle);
myPivot.setPosition(angle, speed);
Parameter Werte Beschreibung
angle 0 – 180 Winkel in Grad bei Blick auf die LED-Seite (links = 0°, rechts = 180°)
speed 0 – 100 Geschwindigkeit der Bewegung

Beispiel

#include "TBPivot.h"
TBPivot myPivot(YELLOW);

void setup() {
 //center the Pivot and hold
 myPivot.setPosition(90);
}

void loop() {
 //pan left at 50% speed
 myPivot.setPosition(0, 50);
 delay(500);
 //pan right at 75% speed
 myPivot.setPosition(180, 75);
 delay(500);
}

 

 

getPosition()

 

Ruft die derzeitige Position des Pivots ab.

Syntax

myPivot.getPosition();
Datentyp des Rückgabewerts Werte Beschreibung
byte 0 – 180 Winkel in Grad bei Blick auf die LED-Seite (links = 0°, rechts = 180°)

Beispiel

#include "TBPivot.h"
TBPivot myPivot(YELLOW);

byte data;

void setup() {
Serial.begin(9600);
}

void loop() {
//pan left at 50% speed
myPivot.setPosition(0, 50);
delay(500);
//get position
data = myPivot.getPosition();
Serial.println(data);
}

 

stop()

 

Stoppt die Bewegung und stoppt das Halten einer Position. Dies ist nützlich, wenn du das Pivot per Hand bewegen willst.

Syntax

myPivot.stop();

Beispiel

#include "TBPivot.h"
TBPivot myPivot(YELLOW);

void setup() {
}

void loop() {
//pan left at 50% speed
myPivot.setPosition(0, 50);
delay(500);
//disable hold
myPivot.stop();
}

 

disablePowerCut(), enablePowerCut()

Schaltet die Stromabschaltungstechnologie des Moduls ein, bzw. aus. Die Stromabschaltung beschützt den Motor vor zu hohen Belastungen. In manchen Fällen schränkt dies die Benutzbarkeit des Moduls ein. Wenn du dir sicher bist, was du tust, kannst du dieses Feature deaktivieren (disablePowerCut) um etwas mehr Leistung aus deinem Pivot herauszuholen. Bitte vergiss nicht, die Stromabschaltung wieder zu reaktivieren (enablePowerCut), wenn du sie nicht mehr benötigst!

Achtung: Das Betreiben des Pivots mit ausgeschalteter Stromabschaltung kann die Lebensdauer reduzieren!

Syntax

myPivot.disablePowerCut();
myPivot.enablePowerCut();

Beispiel

#include "TBPivot.h"
TBPivot myPivot(YELLOW);

void setup() {
}

void loop() {
//Try to pan pivot with heavy load
myPivot.setPosition(180);
delay(500);

/*
Observation: Pivot deactivates (LED blinks purple)
Solution: Deactivate current limiter (disablePowerCut)
*/

//Deactivate current limiter
myPivot.disablePowerCut();
//Try to start motor again
myPivot.setPosition(180);
delay(500);
//Reactivate current limiter if desired
myPivot.enablePowerCut();
}