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 \/
Lesezeichen