Hallo
Ich vermute, mit "Sensor" meinst du das Servo.
Das einfach Programm oben sollte das Servo immer in die Mittelstellung bewegen. Hier eine kleine Erweiterung für zwei Positionen:
Die For-Schleifen senden den jeweiligen Impuls mehrmals um dem Servo Zeit zu geben die neue Position anzufahren.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(10);
PORTA &= ~1;
sleep(200-10);
}
for(i=0;i<100; i++) // 100 mal Impuls für Position 2 senden
{
PORTA |= 1;
sleep(20);
PORTA &= ~1;
sleep(200-20);
}
}
return(0);
}
Gruß
mic