Hallo zusammen, ich habe einen Servo angesteuert. Das folgende Programm zeigt, wie ich ihn angesteuert habe. Nun zum Problem: Der Servo läuft. Es kommen immer kurze Takte. Nun bekomm ich es aber nicht hin, dass der Servo einen längeren Weg hinterlegt. Also nun macht er ja ca. 1 mm. Wie bekomm ich es hin, dass er z.B. 6 mm macht? Die Zeit habe ich verändert. Passiert aber nicht viel. Könnt ihr mir da ein Beispiel geben? Programm: int count = 0; ISR (TIMER0_OVF_vect) { TCNT0 = 6; count++; switch(count) { case 20: PORTA = 0x01; break; case 21: PORTA = 0x00; count = 0; break; TCCR0A = 0x04; } } int main() { sei(); TCCR0A = 0x05; //Vorteiler 64 TCNT0 = 0x00; //Timer vorladen TIMSK0 = 0x01; //Interrupt enablen while(1) { } }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.