Ziel soll es sein die Servos über die IR Fernbedienung zu steuern.
Es würde erstmal reichen wenn ich 2 Servos ansteuern könnte, das wäre eine gute Grundlage. Doch scheint das so noch nicht richtig zu sein.
hier nochmal der
neue code:
Gruss und danke für die Hilfe carlitocoCode:/* * **************************************************************************** * RP6 ROBOT SYSTEM - Base * **************************************************************************** Dieses Prorgamm wird gebaut um mienen Servoarm mit Hilfe einer IR-vernbedienung zu bedienen. ************************************************* */ #include "RP6RobotBaseLib.h" uint8_t i, pause, servo_stellzeit, servo_delay; //#define RC_EURO_SKY #define RC_PROMO8 #ifdef RC_PROMO8 // RC Type: Conrad - Promo8 #define RC5_KEY_LEFT 21 #define RC5_KEY_RIGHT 22 #endif void servo(uint8_t w0) {} void receiveRC5Data(RC5data_t rc5data) { writeString_P("Toggle Bit:"); writeChar(rc5data.toggle_bit + '0'); writeString_P(" | Device Address:"); writeInteger(rc5data.device, DEC); writeString_P(" | Key Code:"); writeInteger(rc5data.key_code, DEC); writeChar('\n'); switch(rc5data.key_code) { case RC5_KEY_LEFT: // Turn left: writeString_P("LEFT\n"); { i=0; servo_stellzeit=16; DDRA |= E_INT1; // E_INT1 als Ausgang DDRC |= 3; // SCL und SDA als Ausgang // 5 - 15 - 25 // Min - Mitte - Max servo(15); // Grundstellung while (1) { servo(17); servo(18); servo(19); servo(20); servo(21); servo(22); servo(23); servo(24); } setLEDs(0b100000); } break; case RC5_KEY_RIGHT: // Turn right: writeString_P("RIGHT\n"); { i=0; servo_stellzeit=16; DDRA |= E_INT1; // E_INT1 als Ausgang DDRC |= 3; // SCL und SDA als Ausgang // 5 - 15 - 25 // Min - Mitte - Max servo(15); // Grundstellung while (1) { servo(14); servo(13); servo(12); servo(11); servo(10); servo(9); servo(8); servo(7); servo(6); } setLEDs(0b000100); } break; } } /*****************************************************************************/ int main(void) { initRobotBase(); setLEDs(0b111111); writeChar('\n'); writeString_P("RP6 controlled by RC5 TV Remote\n"); writeString_P("___________________________\n"); mSleep(500); setLEDs(0b000000); powerON(); // Set the RC5 Receive Handler: IRCOMM_setRC5DataReadyHandler(receiveRC5Data); return 0; }







Zitieren

Lesezeichen