AU.ROB Menü

11. Jan. 2011

Ziel: Mein Programm zur Gesichtserkennung liefert permanent X/Y Daten. Diese X/Y Daten verwende ich als Grundlage für die Steuerung von zwei Servos auf denen eine Web-Cam sitzt.
Servo-1 => X Achse
Servo-2 => Y Achse

Anmerkung zu Servos bzw. unterschied zu einem Elektromotor:
Ein normaler Elektromotor erzeugt schlicht und einfach eine Drehbewegung, wobei man die Drehrichtung meist durch die Polung einstellen kann. Der einfache Elektromotor kann sich beliebig oft drehen, allerdings ist es schwierig genaue Bewegungen zu erzeugen – man kann nicht einfach sagen: “Jetzt 3 Umdrehungen vorwärts und dann 2 Rückwärts”.
Der Servo funktioniert komplett anders, da man normalerweise nicht mehr als eine halbe Umdrehung mit der Achse machen kann, diese aber auf wenige Grad genau steuern kann. Dazu ist im Servo bereits eine Steuerlogik und ein Getriebe verbaut.

Hier mal mein erster Erguss – ansteuern eines Servos:

int servoPin = 2;     // Steuerpin für den Servo
int minPulse = 500;   // Minimalposition des Servos
int maxPulse = 2500;  // Maximalposition des Servos
int pulse = 0;        // Aktueller Pulswert

long lastPulse = 0;   // Zeitpunkt des letzten Pulses
int refreshTime = 20; // Zeit dazwischen

boolean updown = true; // Pegel - rauf oder runter

void setup() {
pinMode(servoPin, OUTPUT);  // Servopin ist ein Ausgabepin
pulse = minPulse;           // Position des Servos startet auf Minimum
Serial.begin(9600);         // Serielle Verbindung zur Kontrolle
}

void loop() {
if(updown) {
pulse++;
if(pulse >= maxPulse) {
updown = false;
}
} else {
pulse--;
if(pulse <= minPulse) {
updown = true;
}
}

// Neuer Puls nach der eingestellten Pause
if (millis() - lastPulse >= refreshTime) {
digitalWrite(servoPin, HIGH);   // Puls beginnt
delayMicroseconds(pulse);       // Länge des Pulses bestimmt neue Position
digitalWrite(servoPin, LOW);    // Puls endet
lastPulse = millis();           // Speichert die aktuelle Zeit
}
}

Keine Kommentare »

Keine Kommentare vorhanden.

Kommentar schreiben

RSS-Feed für diese Kommentare. | TrackBack URI

Letzte Kommentare

Links

Letzte Artikel

Roboternetz.de

Copyright © Roboternetz.de - Alle Rechte vorbehalten.

Archive