ich habe mal eine Frage und zwar habe ich mir einen Roboterarm gekauft, wenn ich diesen anschließe rast er unkontrolliert zu einer Position hin kann man dies über den Code verlangsamen? Also ich möchte ihm eine Parkposition geben und wenn ich sage fahre zu den und den Positionen also Grad rast er plötzlich los.
Du musst uns schon deutlich mehr Informationen zu deinem Projekt geben (Hardware und Software ), Wenn Du Servos langsam bewegen willst, muss Du das entsprechend programmieren - von allein bewegen sich Servos immer mit ihrer Maximalgeschwindigkeit.
Wie gesagt, brauchen wir mehr Informationen, aber meine MobaTools Lib kann Servos langsam bewegen.
Hi, ja entschuldige nein sie sind nicht sprach gesteuert, ich habe einen arduino nano sowie 6 tower pro mg996r servo motoren
#include <Servo.h>
// Array für 6 Servos
Servo servos[6];
// Pins der Servos
int servoPins[6] = {2, 3, 4, 5, 6, 7};
// Zielpositionen für jeden Servo
int targetPos[6] = {2, 50, 70, 45, 60, 20}; // deine gewünschten Positionen
void setup() {
for (int i = 0; i < 6; i++) {
servos[i].attach(servoPins[i]);
}
}
void loop() {
// jeden Servo nacheinander fahren lassen
for (int i = 0; i < 6; i++) {
moveServo(servos[i], targetPos[i]);
delay(500); // kleine Pause nach jedem Servo
}
}
// Funktion für langsame Bewegung zu Zielposition
void moveServo(Servo &s, int pos) {
int currentPos = 2; // Startposition Mitte, kann angepasst werden
if (currentPos < pos) {
for (int p = currentPos; p <= pos; p++) {
s.write(p);
delay(20); // langsame Bewegung
}
} else {
for (int p = currentPos; p >= pos; p--) {
s.write(p);
delay(20);
}
}
}
Ich denke mal “sagen” wirst du es ihn nicht. Sondern das Programm macht es. Daher wäre es Sinnvoll, wenn auch wir das Programm kennen, mit dem du es ihm “sagen” willst. Und welche Schaltung, welcher Roboterarm, wäre wuch noch sinnvoll zu wissen.
Wenn Du ein Servo langsam und ohne Startruck bewegen willst, musst Du die tatsächliche Startposition des Servos kennen. Irgendeine Position als Start zu verwenden - wie in deinem Sketch - funktioniert nicht.
Problem ist dabei, dass Du beim Starten des Sketches die Position nicht kennst. Die erste Bewegung wird also ohne spezielle Maßnahmen immer mit max. Tempo sein.
Meine MobaTools sind da übrigends weitgehend kompatibel zur servo.h - ausser dass du das Bewegungstempo vorgeben kannst.