habe es jetzt so:
Code:
void servo1(int pos)//rechter Servo
{
PORTC |= IO_PC4;
sleep(pos);
PORTC &= ~IO_PC4;
sleep(50-pos);
}
void servo2(int pos)//linker Servo
{
PORTC |= IO_PC6;
sleep(pos);
PORTC &= ~IO_PC6;
sleep(50-pos);
}
int main(void)
{
initRP6Control();
initLCD();
I2CTWI_initMaster(100);
I2CTWI_setRequestedDataReadyHandler(I2C_requestedDataReady);
I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);
mSleep(500);
I2CTWI_transmit3Bytes(Base, 0, CMD_SET_ACS_POWER, ACS_PWR_OFF);
I2CTWI_transmit3Bytes(Base, 0, CMD_SET_WDT, true);
I2CTWI_transmit3Bytes(Base, 0, CMD_SET_WDT_RQ, true);
I2CTWI_transmit3Bytes(I2C_RP6_BASE_ADR, 0, 6, BWD);
showScreenLCD("Servo Test","",""," Test");
mSleep(500);
clearLCD();
while(true)
{
for(x=4;x<25;x++)
{
servo1(x);
servo2(x);
//batpower();
//setCursorPosLCD(1,1);
//writeIntegerLCD(x,DEC);
mSleep(500);
}
//clearLCD();
}
}
ok?
aber funktioniert nichts keine bewegung!
- - - Aktualisiert - - -
eins ist aber auch komisch und zwar habt ihr ja gesagt, dass die digitalservos ihre stellung halten in der sie sind. solange diese strom haben. ich kann meine aber drehen wenn ich sie von hand bewege. sie sind aber richtig angeschlossen. habe mir extra die steckerbelegung angeguckt und alles auf richtigkeit geprüft(spannung und durchgang)
Lesezeichen