Hallo Leute, Ich bin im moment an meinem Abschluss Projekt für meine Lehre dran...Ich baue einen Vierfüßer der von einer Infrarot Fernbedienung (Selbstgebaut) gesteuert werden soll. Nun bin ich an dem Teil mit der IR Fernbedienung / IR Receiver dran. Mein Problem ist das es ziemlich komplex ist und ich das ganze nicht wirklich verstehe wie ich diese verschiedene Pulse sende und dann vorallem einlese. Meine Frage ist jetzt: Kann ich über die IR-LED (Emitter) ein PWM senden und dieses PWM Signal dann mit einem IR-Receiver Empfangen dieses Signal dann an einem AD-Wandler einlesen und jeweils für die verschiedenen Spannungen 0-5V zb.: 0V-1V = Taste 1 (vorwärtslaufen) 1V-2V = Taste 2 (Rückwärtslaufen).... Die Zweite Idee die ich hatte war das ich Jeweils verschieden viele Pulse über die IR LED Sende und dann an einem normal io Port einlese und dann zähle wie oft der Puls gekommen ist und daher dann bestimme was für eine Taste gedrückt wurde z.B: 1 High = Taste 1 2 High = Taste 2..... Die Zweite Idee habe ich schon ausprobiert mit einer blinkenden IR LED und dann das Ausgangssignal am IR receiver mit dem Oszi zu messen aber da tut sich nix.
Ein paar Grundlagen zum Thema könntest du hier finden: https://www.mikrocontroller.net/articles/IRMP Oliver
Ich habe diese Library schon in mein Programm übertragen aber ich bekomme Fehlermeldungen...: undefined reference to 'irmp_ISR' undefined reference to 'irmp_init' undefined reference to 'irmp_get_data'
Über IR-Codes haben sich schon lange vor Dir Leute Gedanken gemacht, nimm also einen bewährten. Z.B. RC-5 ist gut dokumentiert, zuverlässig und einfach zu programmieren. https://www.sbprojects.net/knowledge/ir/rc5.php
Josia A. schrieb: > habe diese Library schon in mein Programm übertragen Jetzt ist auf einmal auch ein unbekannter µC im Spiel. > aber ich bekomme Fehlermeldungen... Ich denke, dir ist klar, dass es zig µC-Hersteller mit zigtausenden µC mit zig verschiedenen Toolchains gibt. Deshalb ist es interessant zu wiseen: Welches Programm aus welcher Toolchain für welche Zielplattform mit welchem Sourcecode gibt diese Fehler aus? Josia A. schrieb: > Die Zweite Idee habe ich schon ausprobiert mit einer blinkenden IR LED > und dann das Ausgangssignal am IR receiver Am geheimen IR-Receiver... Hast du mal das Datenblatt dieses Bauteils angesehen. Evtl. reagiert der wie viele andere nur auf moduliertes IR-Licht mit einer bestimmten Modulationsfrequenz im Bereich um 35-40kHz: https://www.reichelt.de/ir-empfaenger-module-38khz-90-side-view-tsop-4838-p158403.html https://www.reichelt.de/ir-empfaenger-module-36khz-90-side-view-tsop-31236-p107208.html > von einer Infrarot Fernbedienung (Selbstgebaut) Warum baust du die selber? Nimm doch eine aus dem üblichen Elektroschrott, die sowieso nur herumliegt. Dafür ist dann irmp gut. > Mein Problem ist das es ziemlich komplex ist Eigentlich nicht. Du willst nur das Rad (=IR-Kommunikation) neu erfinden. Und irmp kann dein eigenes Protokoll sicher nicht auf Anhieb decodieren. > und ich das ganze nicht wirklich verstehe Was ich mir in solchen Fällen immer denke: Warum zur Hölle nimmt man etwas als Abschlussprojekt, von dem man absolut nichts versteht? Wenn du das wirklich verstehen willst, dann sieh dir das an: https://de.wikipedia.org/wiki/RC-5 So macht ein Großteil der restlichen Welt die Übertragung von Fernbedienung zum Gerät. Und wenn du als µC einen Arduino nimmst, dann findest du dafür einige Bibliotheken, die RC-5 decodieren können: https://www.google.com/search?q=arduino+rc-5 https://www.elektronik-labor.de/Arduino/RC5.html https://simple-circuit.com/arduino-rc5-ir-remote-control-decoder/
:
Bearbeitet durch Moderator
> Nun bin ich an dem Teil mit der IR Fernbedienung / IR Receiver dran.
Es ist schon nicht ganz einfach fuer einen Anfaenger eine Seite
zu bauen/programmieren, beide auf einmal ist vielleicht etwas viel.
Also nimm im zweifel eine vorhandene FB und dekodiere die.
Wobei das idealerweise eine von einem bekannten Hersteller sein sollte
damit du etwas Doku dazu im Netz findest.
Olaf
von Josia A. schrieb: >und ich das ganze nicht >wirklich verstehe wie ich diese verschiedene Pulse sende und dann >vorallem einlese. Es ist bei IR Fernbedienungen üblich, das die Impulse nicht direkt gesendet werden sondern auf eine Trägerfrequenz aufmoduliert werden. So lassen sich die Signale beim Empfang leichter selektiv verstärken. Damit ereicht man größere Reichweiten und unempfindlichkeit gegenüber Fremdlicht. Wie nun die Daten in den Impulsen codiert werden, da gibt es jede Menge verschiedener Möglichkeiten. Oder du denkst dir selbst was aus. Ein Beispiel von vielen mit dem IC U807 oder SAB3021 Die Trägerfrequenz ist da 35,71kHz. Diese Frequenz wird mit den Datenimpulsen an- und ausgeschaltet. https://hjs.lima-city.de/DDR/ds/SAB3021.pdf https://www.tvsat.com.pl/pdf/u/u807_rft.pdf https://www-user.tu-chemnitz.de/~heha/basteln/Konsumg%C3%BCter/DDR-Halbleiter/u807.gif
Josia A. schrieb: > Ich habe diese Library schon in mein Programm übertragen aber ich > bekomme Fehlermeldungen...: undefined reference to 'irmp_ISR' > undefined reference to 'irmp_init' > undefined reference to 'irmp_get_data' Da hast Du vergessen, irmp.c zu Deinem Projekt hinzuzufügen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.