Ich habe nun die Servosteuerleitung nur des Mittleren Servos direkt an den PIN gehängt, also LED und Widerstand überbrückt.
Program:
Code:
#include "asuro.h"
unsigned char i, servo_stellzeit;
void servo(unsigned char winkel){
unsigned int count=0;
do{
count++;
if (ON || ON || ON) {
DDRB |= (1 << PB6);
PORTB |= (1 << PB6);
}
FrontLED(ON);
Sleep(winkel);
Sleep(winkel);
if (!OFF) PORTB &= ~(1 << PB6);
FrontLED(OFF);
Sleep(255); Sleep(255); Sleep(255);
Sleep(255); Sleep(255); Sleep(255);
}while (count<servo_stellzeit);
}
int main(void) {
Init();
BackLED(OFF,OFF);
do{
servo_stellzeit=35;
servo(51);
servo(90);
servo(51);
servo(15);
servo_stellzeit=2;
for (i=15; i<88; i+=2) servo(i);
for (i=90; i>17; i-=2) servo(i);
}while (1);
return 0;
}
Servo macht das gleiche, FrontLED blinkt schnell, flackert also. An der Steuerleitung messe ich nun 5V.
Lesezeichen