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); }







Zitieren

Lesezeichen