So vielleicht, ich hab's nicht getestet:
grußCode:// RP6 steuert ein Servo an der SL1-LED mit Sleep() #include "RP6RobotBaseLib.h" #define RC_PROMO8 #ifdef RC_PROMO8 #define RC5_KEY_SERVO_RIGHT 46 #define RC5_KEY_SERVO_LEFT 60 #endif #define servorechts 10 #define servolinks 20 uint8_t servopos=15; uint8_t stellzeit; 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'); if (rc5data.key_code == RC5_KEY_SERVO_RIGHT) if(servopos > servorechts) // wenn nicht in Position while(--servopos >= servorechts) // Position schrittweise annähern for(stellzeit=0; stellzeit<5; stellzeit++) // Signal mehrmals senden { setLEDs(1); sleep(servopos); setLEDs(0); sleep(200-servopos); } if (rc5data.key_code == RC5_KEY_SERVO_LEFT) if(servopos < servolinks) while(++servopos <= servolinks) for(stellzeit=0; stellzeit<5; stellzeit++) { setLEDs(1); sleep(servopos); setLEDs(0); sleep(200-servopos); } } int main(void) { initRobotBase(); IRCOMM_setRC5DataReadyHandler(receiveRC5Data); powerON(); setLEDs(0); while(true) { task_RP6System(); } return 0; }






Zitieren

Lesezeichen