Freud mich das es jemand beeindruckt XD
Also Sensoren:
2x IR Entfernungssensor Sharp GP2Y0A02YK ( für die Weite ;front & fack)
1x IR Entfernungssensor Sharp GP2D120 ( Nähe ; front -> ground )
1x Elektronischer Kompaß CMPS03
2x Ultraschall Entfernungsmesser SRF10 ( front & back )
2x PIR-BEWEGUNGSSENS. 5M AMN31111J ( left & right @front)
1x RT868F5 High-End FM-Transceiver-Modul ( @UART )
1x Licht-/Spannungs-Wandler TSL260 = 260R (@top )
...RP6s standard Sensoren

Ja sind von robotikhardware.de /conrad.de

Hab das Programm in AutoIt geschriben =P

Bin folgend vorgegangen:
RP6 Sendet immer ,außer er erhält Daten.
Die Daten fangen immer mit char "a" an um Datenmüll zu filtern.
Folgend die Kategorisierung 2xchar + den Wert.

Das Steuerungsprogramm verhindert ,dass zu viele Daten aufeinmal gesendet werden und erkennt in einer anderen Funktion ob der Befehl abgearbeitet/empfangen wurde an zB den neuen Servostellwerten.

Mal grob beschrieben =)

Code:
//RP6 datenverarbeitung
void ActorsActiv2(void)
{
	
	if(getBufferLength()) 
	{
		externalPort.LED1 = true; 
		outputExt();

		uint8_t buffer_pos = 0;
		while(true)
		{
			
			receiveBuffer[buffer_pos] = readChar();
			buffer_pos++;
			if(receiveBuffer[(buffer_pos-1)] =='a')   
			{
				
				mSleep(20);
				receiveBuffer[buffer_pos] = readChar();
				if(receiveBuffer[buffer_pos] =='s')                                // servo unten =  asu XX
				{																	// servo oben  =  aso XX
																					// servo beide =  asb XX(u) XX(o)
					mSleep(20);
					receiveBuffer[(buffer_pos+1)] = readChar();
					if(receiveBuffer[(buffer_pos+1)] =='u') 
					{
						uint8_t Checkertick  = paraVAR ();
						w02 = Checkertick;
						servo(Checkertick , 22, 11);
					}
...usw

Programm Sendepuffer

	Func _CommSendstring2($DatatoTransmite)
		$buffedtime = 200
		if TimerDiff($sendwait) > $buffedtime Then
			_CommSendstring($DatatoTransmite)
			$sendwait = TimerInit()
		Else
			$toWait = 0
			$toWait= $buffedtime - TimerDiff($sendwait)
			Sleep($toWait)
			$sendwait = TimerInit()
			GUICtrlSetData($EditHo8 , " für "  & Int($toWait)&"ms")
			GUICtrlSetData($EditBE8 , $DatatoTransmite)
			_CommSendstring($DatatoTransmite)
		EndIf
	EndFunc
Hmm Bluetooth... wollt ich auch mal einsetzen ,aber wollte mich erst mal an etwas mit nur einem Prot zum senden und empfangen ranwagen =) Und ueberhaupt kann ich über RT868F5 kein bisschen klagen ,die Anwendung ist quasi so als hätte man ein Kabel \/