Ursprünglich wollte ich das Anlocken ja nur mit Bordmitteln des RP6 lösen:
PHP-Code:
// Projekt Ladestation Step 1: RP6 anlocken                         mic 9.2.2011

#include "RP6RobotBaseLib.h"

// ACS als LED-Sensor: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=39560

uint8_t getACS(void)
{
    
DDRD |= ACS_PWR;                    // Pins als Ausgang
    
DDRB |= ACS_PWRH;
    
PORTD &= ~ACS_PWR;                // Anoden gegen GND schalten
    
PORTB &= ~ACS_PWRH;
    
sleep(10);                            // Kurz warten und Stoppuhr starten
    
setStopwatch1(0);
    
startStopwatch1();
    
DDRD &= ~ACS_PWR;                    // Anoden als Eingang
    
DDRB &= ~ACS_PWRH;
    while(!(
PIND ACS_PWR));        // Warten bis Pegel wieder high ist
    
stopStopwatch1();

// writeInteger(getStopwatch1(), 10); writeString_P("\n\r"); mSleep(100); // debug

    
return(getStopwatch1());        // Messwert zurückgeben
}

int main(void)
{
   
initRobotBase();              // sollte man nicht vergessen
    
powerON();                    // Achtung! Der RP6 kann sich bewegen!
    
enableACS();                  // ACS muss für die Helligkeitsmessung
    
setACSPwrHigh();              // eingeschaltet sein

   
while(1)
   {
        
moveAtSpeed(0150);
        while(
getACS() > 20task_motionControl();
      
moveAtSpeed(200150);
        while(
getACS() < 20task_motionControl();
   }
   return(
0);

Das funktioniert, aber das Ausrichten des Lasers ist quasi unmöglich.

Inzwischen habe ich den Bootlader als Problem ausgemacht. Wenn man zum Laden den Akku vom Kontroller trennt, startet der RP6 nach Beenden des Ladens nicht mehr. Also muss man wohl mit angeschlossenem RP6 laden, der Kontroller könnte dabei selbst die Ladekontrolle übernehmen. Ansatz wäre viellecht ein Sleep-Modus aus dem ihn sein Watchdog regelmässig wieder aufweckt.

Warum soll der RP6 verschiedenfarbige LEDs auf der Station erkennen können? Welche Informationen willst du ihm zublinken?