Forum: Mikrocontroller und Digitale Elektronik Binäres Signal über Arduino mit IR-Led senden und mit IR-Transistor empfangen


von Fabio (Gast)


Lesenswert?

Hallo Leute,

ich bin gerade bei der Planung meines nächsten Roboters.
Es soll ein Schwarmroboter werden nach diesem hier:
http://www.swarmrobot.org

Nun haperst bei der Kommunikation zwischen den Robotern.
Sie solle über IR-Leds und IR-Transistoren miteinander kommunizieren 
können.
Diese IR-Leds sind an digitale Pin und die IR-Transistoren sind an den 
ADC des Atmega Controllers angeschlossen.
Über diesen digitalen Pins soll nun ein binäres oder hexadezimales 
Signal generiert und an einem Roboter gesendet werden der das Signal 
über den IR-Transistor und ADC ausliest/auswertet.
Leider bin ich ein bisschen planlos wie isch das Programm mäßig 
bewerkstelligen soll.
Gleichzeitig werden die besagten IR-Led/Transistor noch als 
Distanzsensor verwendet. Also werde zwei Funktionen über die selben 
Bauteile implementiert.

Zurzeit verwende ich ein Arduino Due Board zum austeste der Schaltung 
und programmiere diesen über die Arduino Entwicklungsumgebung.
Später werde ich ein eigens geplantes und zur Produktion freigegebenes 
Roboter Mainboard  verwenden und diesen mittels AVR GCC 
programmieren(mit dem ich leider keine grossen Erfahrungen bisher 
gesammelt habe).


So wie ich das jetzt einschätze wird das nicht so einfach gehen wie ich 
mir das gedacht habe.

Könnte mir jemand von euch einen tipp gebe wie ich diese kleine Problem 
angehen kann?


Danke vielmals im voraus und grüsse
Fabio

von Mike (Gast)


Lesenswert?

Fabio schrieb:
> Sie solle über IR-Leds und IR-Transistoren miteinander kommunizieren
> können.

Die erste Frage wäre, welche Datenrate auf der Übertragungsstrecke 
anfällt.

Falls das nur "Kleinkram" ist, könnte man alternativ auch fertige 
Fernbedienungsempfänger verwenden, die einem erheblichen 
Elektronikaufwand im Frontend abnehmen, da sowohl die Abtrennung von 
Falschlicht als auch die automatische Verstärkungsregelung als Hardware 
implementiert sind.

von Frank (Gast)


Lesenswert?

Ich kann jetzt nur schreiben, wie ICH das lösen würde.

Ich würde das Thema Kommunikation vom restlichen Robot-Gehirn physisch 
und logisch trennen, d.h. aus Sicht deines Haupt-Arduino sollte es nur 
eine serielle Schnittstelle geben, über die Kommandos hereinkommen oder 
zurückfließen.

Die IR-Übertragung würde ich mit einem anderen extra-MC (z.B. Arduino 
Nano oder Pico) machen. Es gibt reichlichst Libraries zum Senden und 
Empfangen z.B. von RC5-codierten Signalen.

Das dezentralisierte Konzept würde auch aus meiner Sicht Vorteile bei 
der Entwicklung bringen. Man kann z.B. während der Softwareentwicklung 
vorübergehend Sender und Empänger direkt verbinden, man kann später 
nmühelos auf andere Technologien umstellen (Funk, WLAN, GSM, Induktion, 
Ultraschall ...) usw.

von chris_ (Gast)


Lesenswert?

Man kann auch eine einzelne LED als Sender und Empfänger verwenden:
Beitrag "led debugging"

von Werner S. (wernertrp)


Lesenswert?

Sind das die 11 + 11 Swarmrobots die eine Fußballmannschaft bilden ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.