-
ich hab soweit verstanden aber ich bin in gewisser hinsicht einsteiger in diesem tehma deswegen hätte ich noch ein paar fragen wie mussich ich die servos mit den leds verbinden [verlöten] und kann der roboter wirklich aleine über die leds den arm steuern und wie muss ich den roboter arm an den roboter instalieren das dieser gegenstände aufheben und wo anders ablegen kann ?
ich würde mich freuen wenn ihr mir solche sachen beibringt das ich später
auchmal eigene roboter oder änliches konstruieren kann
Danke
Brauche einen leichten plan
danke vielmals :-k :mrgreen:
-
Hallo fegi97, schön von Dir zu hören. Sicher kannst Du fragen stellen, am besten sind solche, die man sinnvoll beantworten kann.
Die Bemerkung mit dem "Deutschland gewinnt" im Thementhread "Neustes Asuro Greifarm Projekt" passt nicht wirklich und es geht auch nicht darum Dir etwas beizubringen, sondern eher Dir Hinweise zu geben wie Du etwas lernen kannst. Wie man die anderen Teilnehmer dazu gewinnt, einem gute Hinweise zu geben, das ist gerade so wie im Leben, man erzählt über sich und sein Vorhaben und andere finden es interessant und diskuiteren mit.
In diesem Sinn auf gute Zusammenarbeit.
-
-
Hallo Leute!
Zuerst einmal großes Lob an euch! Es ist sehr interessant und lehrreich was hier so gepostet wird.
Ich bin nun auch mal in die "Servofalle" getappt. Hab mir vor kurzem einen Asuro-Bausatz bestellt und bisher nur mal ein wenig rumgetüftelt.
Nun möchte ich gerne, so wie ihr es hier auch getan habt, einen kleinen Servo ansteuern können.....genauer gesagt als Stiftheber arbeiten lassen.
Der Stift soll quasi waagerecht über dem Asuro am Servo befestigt sein und der Servo soll beim Ausführen des Programms eine Drehung von 90° ausführen, so dass der Stift senkrecht in der rundlichen Mulde zwischen den Kollisions-Tastern steht und den Asuro ein wenig anhebt. Danach soll er z.B. einen Kreis fahren (malen).
Nach dem Kreis soll der Stift wieder zurück (90°) zum Ausgangspunkt fahren.
Meine Frage nun : Für diese Servoaktion reicht doch das PWM-Signal EINER LED?! Kann ich dann ohne weiteres auf den von euch hier eingestellten Quellcode zurückgreifen und damit experimentieren? Da ich auf diesem Gebiet ein absoluer Neuling bin hab ich nur ein klein wenig Angst, mir irgendwas zu zerstören.
Achso......ja.....der Servo ist ein ZEBRA ZS-F100.
Würde mich sehr freuen, wenn mir da jemand helfen könnte!
Vielen Dank im Voraus!
Gruß
sneiser
-
Hallo
Das Servo sollte schon ausreichen. Wenn du nur eine Led benötigst würde ich dafür die rote Statusled verwenden. Das würde keine andere Funktion behindern. Einzige Einschränkung wäre der vorsichtige Umgang mit StatusLED(), weil diese Funktion ein Servosignal an der roten StatusLED verändern würde. Die Ansteuerung wäre dafür sehr einfach:
Code:
#include "asuro.h"
char statusledgreen;
int i, p;
int main(void)
{
Init();
for(i=0; i<1000; i++) Sleep(72); // Pause eine Sekunde bei 72kHz-Library
// In asuro.h werden die Farben der StatusLED so definiert:
// #define GREEN 1
// #define RED 2
// #define YELLOW 3
// Zusätzlich wird noch dies definiert:
// #define OFF 0
// #define ON 1
// Da wir zum Setzen der grünen LED die Funktion StatusLED() nicht verwenden dürfen
// merken wir uns ihren Status in der Variablen statusledgreen und schalten sie aus
statusledgreen = OFF;
while (1)
{
for(i=0; i<50; i++) // Impuls 50 mal senden (1 Sekunde!)
{
StatusLED(RED+statusledgreen); // Implus high ausgeben
Sleep(54); // -45° 0,75ms
StatusLED(statusledgreen); // Implus low ausgeben
p=72*20-54; // Impulspause
while(p > 255)
{
Sleep(255);
p=p-255;
}
Sleep(p);
}
if(statusledgreen == ON) statusledgreen=OFF; // grüne StatusLED umschalten
else statusledgreen=ON;
for(i=0; i<50; i++)
{
StatusLED(RED+statusledgreen);
Sleep(72); // Mitte 1ms
StatusLED(statusledgreen);
p=72*20-72;
while(p > 255)
{
Sleep(255);
p-=255;
}
Sleep(p);
}
if(statusledgreen) statusledgreen=0;
else statusledgreen=1;
for(i=0; i<50; i++)
{
StatusLED(RED+statusledgreen);
Sleep(90); // +45° 0,125ms
StatusLED(statusledgreen);
p=72*20-90;
while(p > 255)
{
Sleep(255);
p-=255;
}
Sleep(p);
}
if(statusledgreen) statusledgreen=0;
else statusledgreen=1;
for(i=0; i<50; i++)
{
StatusLED(RED+statusledgreen);
Sleep(72);
StatusLED(statusledgreen);
p=72*20-72;
while(p > 255)
{
Sleep(255);
p-=255;
}
Sleep(p);
}
// if(statusledgreen) statusledgreen=0;
// else statusledgreen=1;
}
return(0);
}
ungetestet
Gruß
mic