Binäres Signal über Arduino mit IR-Led senden und mit IR-Transistor empfangen

Gast #3640304
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
Gast #3640338
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.
Gast #3640343
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren