Hallo,
ich habe heute mal versucht, einen Servo anzusteuern. Dazu wollte ich
ganz einfach anfangen:
1 | #include <avr/io.h>
|
2 | #define F_CPU 8000000UL
|
3 | #include <util/delay.h>
|
4 |
|
5 | int main() {
|
6 | // Alle Pins des Ports B als Ausgang definieren:
|
7 | DDRD = 0xff;
|
8 |
|
9 | while(1) {
|
10 | // 5 auf high
|
11 | PORTD=(1<<PD5);
|
12 | _delay_ms(1);
|
13 | // 5 auf low
|
14 | PORTD &= ~(1<<PD5);
|
15 | _delay_ms(9);
|
16 | _delay_ms(10);
|
17 | }
|
18 | }
|
Ich benutze das Pollin Board, bei F_CPU habe ich 16, 8, 4, 1
ausprobiert. Der Takt müsste auf intern gestellt sein.
Doch leider bewegt sich der Servo nur in eine Richtung bis zum Anschlag.
Wo liegt das Problem?
Grüße