Wenn man einen dauernden Servo-Impuls erzeugen will, klappt das mit meiner Lib nicht. Man muss den Impuls mit stopSERVO() für eine gewisse Zeit ausschalten, damit IR-Empfang stattfindet. In deinem Beispiel kannst du die 1000 probeweise noch auf 900..500 verringern. Das bedeutet, dass für den IR-Empfang dann noch 600..200ms zur Verfügung stehen.Ist es überhaupt möglich den Servo so oft anzusteuern UND IR-Empfang auszuwerten?
Erklärung: In meiner Lib wird der Servo-Impuls voll blockierend erzeugt. Damit werden alle anderen Aktivitäten alle 20ms für 1..2ms blockiert.
Was kann man machen:
1. Such mal im Forum nach anderen Lösungen für die Servoansteuerung mit der RP6 Base. Es gibt da Lösungen, bei denen die RP6-Libs geändert werden (man klinkt sich in eine Interrupt-Routine ein). Damit kann man eine nicht-blockierende Lösung erreichen. Ob damit IR-Empfang möglich ist, must du probieren.
2. Mit einer der Zusatzplatinen Control M32 oder CCPRO M128 kann man Servos mit PWM oder Timern komfortabel ansteuern.
3. Es gibt kleine Platinen zur Servoansteuerung, die mit I2C oder RS232 anzusteuern sind.
Gruß Dirk
Lesezeichen