Hallo

Ich glaube, ich habe jetzt eine brauchbare und kostengünstige Methode zum Anlocken des RP6 gefunden. Basis ist ein Strichlaser (Powerfix PLW2) vom Discounter als Bake, Detektor auf dem RP6 ist ein LDR hinter einer Linse (Durchmesser 40mm, Brennweite ca. 50mm) in einer Pappröhre mit Schlitzblende. Obwohl sich der LDR nicht genau im Brennpunkt der Linse befindet und weder Laserwasserwaage noch Detektor großartig ausgerichtet sind, ist das Ergebniss recht gut (besser als das Video auf jeden Fall :)

Bild hier  
http://www.youtube.com/watch?v=dmXwCAlR7OA

Durch die Linse wird die lichtempfindliche Fläche des Detektors so weit vergrößert, dass auch ohne exakte Ausrichtung schon Reichweiten von über 5m erreichbar sind. Probleme mit der Hintergrundhelligkeit kann man sicher durch eine bessere KI des Suchprogramms ausmerzen:

Code:
// Projekt Ladestation Step 1: RP6 anlocken                         mic 2.3.2011

#include "RP6RobotBaseLib.h"

// Achtung! Die PWM-Werte werden hier OHNE Rampe verändert!
void setMotorPWM(uint8_t power_links, uint8_t power_rechts)
{
extern uint8_t mleft_ptmp, mright_ptmp;

	if(power_links > 210) power_links = 210;
	if(power_rechts > 210) power_rechts = 210;
	mleft_power=mleft_ptmp=power_links;
	mright_power=mright_ptmp=power_rechts;

	OCR1BL = power_links;
	OCR1AL = power_rechts;

	if(power_links || power_rechts)
		TCCR1A = (1 << WGM11) | (1 << COM1A1) | (1 << COM1B1);
	else
		TCCR1A = 0;
}

int main(void)
{
   initRobotBase();              // sollte man nicht vergessen
	PORTA |= ADC0; 					// PullUp einschalten
	powerON();                    // Achtung! Der RP6 kann sich bewegen!

   while(1)
   {
		setMotorPWM(0, 150);			// Bake suchen
		setLEDs(56);
		while(readADC(ADC_ADC0) > 200);

      setMotorPWM(150, 100);		// in Kurve darauf zufahren
      setLEDs(7);
		while(readADC(ADC_ADC0) < 200);
   }

   while(0) 							// debug
	{
		writeInteger(readADC(ADC_ADC0), 10); // ADC Kanal 0
		writeChar('\n');
		mSleep(300);
	}

	while(1); // Notbremse
	return(0);
}
Schritt "Anlocken" ist so eigentlich gelöst, nun steht das Design der Ladestation an.

Gruß

mic