Hallo

Ich möchte ein neues Projekt vorstellen.

Ich habe meinen Asuro mit einem neuen Greifarm ausgestattet der fest am Robo montiert ist und mit dem der Asuro sich auch bewegen kann.

So war der Aufbau geplant:

Bild hier  

Hier ein paar Fotos der Entstehung:

Auf dieser Halterung wird der Arm später gesetzt. Die Halterung besteht aus einem zurecht geschnittenem Stück Aluminium und 2 langen Schrauben die durch die gebohrten Löcher eingelassen wurden.
Die Halterung wird dann später an den Asuro geschraubt:

Bild hier  

2 Servomotoren mit einem Abstand aneinander fixiert:

Bild hier  

Die Greifer aus kleinen gesägten Metallschienen:

Bild hier  

Greifer werden angebracht und der Greifkopf ist fertig:

Bild hier  

Der Mittelteil besteht aus zurechtgeschnittenen Aluminiumschienen so ist der Arm relativ leicht. Zwischen den Schienen sind die Servos passend montiert.

Bild hier  

Der Greifkopf wird an den Mittelteil montiert:

Bild hier  

Nun werden noch die Kabel etwas geordnet und ein kleiner Schalter zur Regelung der Stromversorgung wird angebracht:

Bild hier  

Der Greifarm ist soweit fertig:

Bild hier  

Bild hier  

Am Ende wird er noch an den Asuro geschraubt:

Bild hier  

Hier ein paar kleine Videos des Arms

Video 1: http://www.youtube.com/watch?v=zVLRwRaELbo

Video 2: http://www.youtube.com/watch?v=byIxVQU6Ug0

Hier der Quellcode zum ersten Video (Sehr simpel und noch nicht ausgereift):

Code:
by Thund3r

#include "asuro.h"

int main(void)
{
	Init();
	int z;
	int x;
	StatusLED(OFF);
	while(PollSwitch()<2);
	while(1)
	{
	
	
  for(x=0; x<15; x++)
	  {
	  Servog1(100);
	  Servog2(100);
	  }
	  pause();pause();
	   for(x=0; x<18; x++)
	  {
	  Servog1(33);
	  Servog2(180);
	  }
	   pause();pause();
	 for(x=0; x<15; x++)
	  {
	  Servoh(90);
	  Sleep(3); Sleep(3); Sleep(3); Sleep(3);
	  }
	pause();pause();
	
	for(x=0; x<15; x++)
	  {
	  Servod(33);
	  }
	  pause();pause();
	  	for(x=0; x<15; x++)
	  {
	  Servod(180);
	  }
	  pause();pause();
	  	for(x=0; x<15; x++)
	  {
	  Servod(100);
	  }

	  pause();pause();
	  
	 for(x=0; x<15; x++)
	  {
	  Servoh(160);
	  Sleep(255); Sleep(255); Sleep(255); Sleep(255);
	  }
	
	pause();pause();
		
	
		
	}
	
	while(1);
	return 0;
}

void pause(void)
{
int i;
for(i=0;i<100;i++)
Sleep(200);
}

void Servog1(int pos) // Erster Greifer
{

	StatusLED(GREEN);     
	   Sleep(pos);
     StatusLED(OFF);
      Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
	StatusLED(GREEN);       
	   Sleep(pos);
      StatusLED(OFF);
      Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
	  
}

void Servog2(int pos) // Zweiter Greifer
{

	StatusLED(RED);     
	   Sleep(pos);
     StatusLED(OFF);
      Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
	StatusLED(RED);       
	   Sleep(pos);
      StatusLED(OFF);
      Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
	  
}

void Servoh(int pos) // Hebender Servo
{

	FrontLED(ON);     
	   Sleep(pos);
     FrontLED(OFF);  
      Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
	FrontLED(ON);         
	   Sleep(pos);
      FrontLED(OFF);  
      Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
	  
}

void Servod(int pos) // Drehender Servo
{

	BackLED(ON,ON);     
	   Sleep(pos);
     	BackLED(OFF,OFF);  
      Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
		BackLED(ON,ON);          
	   Sleep(pos);
      	BackLED(OFF,OFF);  
      Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255);
	  
}

Gruß Thund3r