Hallo,
lange ist es her, dass ich nichts mehr gebastelt habe und hier geschrieben habe. In den nächsten Monaten werde ich wohl wieder etwas mehr Zeit dafür haben.

Hier meine Frage:

Ich würde gerne zwei gleiche Roboter bauen. Die sollen sehr einfach gehalten werden. Im Moment sollten sie über Infrarotdioden per Reflektion Hindernisse erkennen. So weit so gut.

Angenommen wenn eine Wand das Licht zurück reflektiert soll der Roboter A stehen bleiben.

Wenn der Roboter B den Roboter A aus grösserer Entfernung "anstrahlt" sollte dies nicht als Hindernis erkannt werden (da der Roboter noch zu weit weg ist). Bei direktem Blickkontakt kann man halt das Licht über eine grössere Entfernung sehen als bei reflektierten Licht.

Die Lösung für mein Problem: (oder auch nicht)

Roboter A sendet immer eine bestimmte bit Kette. z.B. 10111 nur wenn er diese Kette auch empfängt, weis er, dass er vor einem Hindernis steht.
Sendet der Roboter B im selben Moment seine Kette (z.B. 11011), kommt beim Roboter A nur Müll an (eine Mischung aus beiden). Ein Roboter müsste dann warten, dass der andere noch mal sein Signal verschickt. (Kollisionen erkennen und abwarten)

Sendet dann nur der Roboter B noch mal seine 11011 die von Roboter A empfangen wird. Wüsste A, das er mit B "sprechen" kann.

Was haltet ihr davon?
Funktioniert so Kommunikation zwischen Swarmbots?

Kann ein PIC oder Atmel gleichzeitig senden und empfangen? Interrupts beim empfang würden ja das Senden vom nächsten bit verzögern.
Gibt es da ein bestimmtes Protokoll.

Über einzelne Denkanstösse wäre ich Dankbar. Ich will eigendlich nur wissen nach was ich genau suchen sollte und ob die Grundidee so passt.

Grüsse,

Tornado