hatte vor kurzem das gleiche problem... wenn du den Servo an ADC0 oder ADC1 anschließen willst dann mach es so:
1 : Rotes Kabel (Spannungsversorgung+, VDD)
2 : Schwarzes Kabel (Spannungsversorgung-, GND)
3 : Weißes Kabel (Impuls)
und jetzt kannste z.B. des als Code verwenden:
is en leicht veränderter code von radbruch:
	Code:
	 // Servoansteuerung mit sleep(), Servoimpuls an ADC0, 2 Positionen 10.1.09 mic
#include "RP6RobotBaseLib.h"
uint8_t i;
int main(void)
{
   initRobotBase();   // initialisieren
   DDRA |= 1;         // Datenrichtung Port A Bit 0 (das ist ADC0) auf Ausgang
   while(true)
   {
      for(i=0;i<100; i++) // 100 mal Impuls für Position 1 senden
      {
         PORTA |= 1;
         sleep(2);
         PORTA &= ~1;
         sleep(200-2);
      }
	  for(i=0;i<100; i++) // 100 mal Impuls für Position 2 senden
      {
         PORTA |= 1;
         sleep(12);
         PORTA &= ~1;
         sleep(200-12);
      }
      for(i=0;i<100; i++) // 100 mal Impuls für Position 3 senden
      {
         PORTA |= 1;
         sleep(20);
         PORTA &= ~1;
         sleep(200-20);
      }
	  for(i=0;i<100; i++) // 100 mal Impuls für Position 4 senden
      {
         PORTA |= 1;
         sleep(12);
         PORTA &= ~1;
         sleep(200-12);
      }
   }
   return(0);
}
 
						
					
Lesezeichen