Pico IR-Empfänger anschließen (TSOP 4838)

  • Hallo Forum,

    an meinen Pico möchte ich gerne einen IR-Empfänger für gepulstes IR anschließen.
    Einen Pin muss ich an GND anschließen. Jedoch braucht der Empfänger für den Betrieb eine konstante Spannung. Kann ich dafür einen GPIO-Pin nehmen? Und muss ich für den dritten Pin einen speziellen Pin beim Pico nehmen?

    Programmieren will ich das ganze mit Python. Gibt es da irgendwas, was ich beachten sollte?

    Vielen Dank vorab und viele Grüße,
    euer Silvius :danke_ATDE:

    Sinnlosigkeit ist für mich kein Grund, etwas nicht zu tun ...

  • Hallo,

    zu den Pins:

    https://datasheets.raspberrypi.com/pico/Pico-R3-A4-Pinout.pdf

    Zu VCC kann ich nicht viel sagen. Da musst du immer schauen ob der Pico den Stromverbrauch des angeschlossenen Geräts abdecken kann. Wenn du das Datenblatt deines Sensors zeigst, dann gibt es hier einige Experten die dir beim richtigen anschließen helfen können.

    Der Pin über den die Daten gesendet werden, kannst du eigentlich jeden Pin nehmen, dessen ZUstände High oder Low abgefragt werden können, bspw. GPIO15.


    zur Programmierung:

    https://datasheets.raspberrypi.com/pico/raspberry…-python-sdk.pdf

    Eigentlich musst du "nur" den Zustand deines gewählten Daten-Pins abfragen. MicroPython bietet dafür das Modul Pin an, das in der Bibliothek machine zu finden ist. Hast du dein Pin-Objekt erstellst, kannst du den Zustand mit value abfragen.

    Wenn du damit angefangen hast und an einer bestimmten Stelle nicht weiter kommst, kannst du deinen Code gerne hier posten und es wird dir sicherlich geholfen.

    Grüße

    Dennis

    🎧 Strahlend soll die Zukunft sein, gut wir werden seh'n, ob wir wie ein Strahlemann lächelnd untergeh'n.  🎧

  • Für den Anschluss des Empfängers gibt es nur wenige Optionen. Da die GPIO Eingänge nur 3,3V vertragen wäre die Einfachste, diesen direkt an den 3,3V GPIO SV Pin anzuschließen. Der Strombedarf des Empfängers sollte ja nicht zu groß sein. Eine andere Option wäre, der Anschluss an 5V, dann musst Du aber das Signal des Empfängers auf max. 3,3V, mit einem Spannungsteiler o. Levelshifter begrenzen.

  • [...]

    Eigentlich musst du "nur" den Zustand deines gewählten Daten-Pins abfragen. MicroPython bietet dafür das Modul Pin an, das in der Bibliothek machine zu finden ist. Hast du dein Pin-Objekt erstellst, kannst du den Zustand mit value abfragen.

    Wenn du damit angefangen hast und an einer bestimmten Stelle nicht weiter kommst, kannst du deinen Code gerne hier posten und es wird dir sicherlich geholfen.

    Grüße

    Dennis

    Selbst wenn ich eine IR-LED nebenher leuchten lasse (und das Umgebungslicht enthält auch infrarote Strahlung) gibt mir das Programm (ich arbeite bereits mit value nur 0 als Ausgabewert.

    Daher kommt meine Annahme, dass ich den Sensor falsch anschlies.

    Beste Grüße,
    Silvius

    Sinnlosigkeit ist für mich kein Grund, etwas nicht zu tun ...

  • Hallo,

    dann könntest du uns ja mal zeigen, wie du den Sensor angeschlossen hast und wie dein Code dazu aussieht.

    Den Code kannst du in Code-Tags einfügen. Einfach auf den </>-Button drücken und dann den Code reinkopieren.

    Grüße

    Dennis

    🎧 Strahlend soll die Zukunft sein, gut wir werden seh'n, ob wir wie ein Strahlemann lächelnd untergeh'n.  🎧

  • > Selbst wenn ich eine IR-LED nebenher leuchten lasse (und das Umgebungslicht

    > enthält auch infrarote Strahlung)

    Die meisten dieser Sensoren sind fuer Fernbedienungen gedacht.

    Die Fernbedienungen senden gepulste Signale mit bestimmten Frequenzen und

    der Sensor filtert "statische" Signale aus um die Strahlung in der Umgebung auszublenden.

  • Hallo,

    dann könntest du uns ja mal zeigen, wie du den Sensor angeschlossen hast und wie dein Code dazu aussieht.

    Den Code kannst du in Code-Tags einfügen. Einfach auf den </>-Button drücken und dann den Code reinkopieren.

    Grüße

    Dennis

    Das ist mein Code. Die Datei heißt main.py (Hauptprogramm) und läuft auf dem Pico.

    Das Output ist folgendes:

    Code
    Start
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    Programm beendet.

    Angeschlossen habe ich ihn wie folgt:

    Pin 1 des TSOPs an Pin 4 des Picos,
    Pin 2 des TSOPs an Pin 3 des Picos und
    Pin 3 des TSOPs an Pin 2 des Picos.

    Ich hoffe, das genügt als Information.

    Viele Grüße,
    Silvius

    Sinnlosigkeit ist für mich kein Grund, etwas nicht zu tun ...

  • @Silvius Lab - official Hast Du dir denn mal das Datenblatt deines IR Empfngers genauer angesehen? Der Empfänger verarbeitet Signale mit einer bevorzugten Trägerfrequenz von 38kHz. Wenn Du das nicht beachtest, werden deine unmodulierten IR Impulse als Störung erkannt und entfernt.

    Nur als Tipp: den "V" orennutzer sollte man besser mit F schreiben. Oft kommt es halt auch auf die kleinen Details an. :cool:

  • @Silvius Lab - official Hast Du dir denn mal das Datenblatt deines IR Empfngers genauer angesehen? Der Empfänger verarbeitet Signale mit einer bevorzugten Trägerfrequenz von 38kHz. Wenn Du das nicht beachtest, werden deine unmodulierten IR Impulse als Störung erkannt und entfernt.

    Das heißt, ich sollte die IR-LED erst mal mittels PWM-Pin am Raspberry Pi mit einer Frequenz von 38kHz blinken lassen und dann den Pico starten?
    Würde der Empfänger dann eine "1" als Ausgabe liefern? (Hat er bereits einmal gemacht.)

    Sinnlosigkeit ist für mich kein Grund, etwas nicht zu tun ...

  • Das heißt, ich sollte die IR-LED erst mal mittels PWM-Pin am Raspberry Pi mit einer Frequenz von 38kHz blinken lassen und dann den Pico starten?

    Nein, damit wirst Du nichts erreichen. So lang dein IR Empfänger nicht richtig angeschlossen ist (VCC?), kann es nicht richtig funktionieren. Erst wenn Du den Empfänger wie erforderlich mit VCC, GND verbindest, kann dieser ein Signal erkennen und ausgeben. Testen könnte man dies grob, mit einer IR Fernbedienung ( wenn die Frequenz einigermaßen passt ). Vielleicht wäre es hilfreich, sich mal anzusehen, wie eine IR FB überhaupt funktioniert. z.B. https://www.rahner-edu.de/grundlagen/sig…-fernbedienung/

    Da Du diesen Weg gewählt hast, musst Du dir nun überlegen, wie dein Sender das Signal mit der Frequenz von 38kHz senden kann und wie man das Ganze am besten codiert.

  • Nein, damit wirst Du nichts erreichen. So lang dein IR Empfänger nicht richtig angeschlossen ist (VCC?), kann es nicht richtig funktionieren.

    Ich habe bisher immer gedacht, der 3.3V Pin ist Eingangsspannung. Jedoch kann ich

    Für die Codierung habe ich mir bereits umfassende Gedanken gemacht.

    Vielen Dank :danke_ATDE::thumbup:

    Sinnlosigkeit ist für mich kein Grund, etwas nicht zu tun ...

  • Moin 'Silvius Lab - official' ,

    Ich habe bisher immer gedacht, der 3.3V Pin ist Eingangsspannung. Jedoch kann ich

    Die 3,3V werden auf dem Pico erzeugt und kann bis max. 300mA belastet werden.

    Steht aber alles im Datenblatt des Pico's

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Mit den max. 5mA ist der IR Empfänger am richtigen Anschluss keine wirkliche Last für den Pico. Statt des TSOP4838 könnte man auch nur einen Fototransistor mit einem Verstärker verwenden, dann braucht man das Signal nicht zu modulieren, muss aber mehr Aufwand in die Fehlerkennung investieren.

  • Hier habe ich ein paar Bilder:

    Sie zeigen den Pico und den Code.

    (Zu den Drähten: Bei Bild 1 ist der obere orange und der untere grau)

    Ist das dem Code entsprechend richtig angeschlossen?

    dann könntest du uns ja mal zeigen, wie du den Sensor angeschlossen hast und wie dein Code dazu aussieht.

    Den Code kannst du in Code-Tags einfügen. Einfach auf den </>-Button drücken und dann den Code reinkopieren.

    Sinnlosigkeit ist für mich kein Grund, etwas nicht zu tun ...

  • Es gibt ja nun mittlerweile mehrere Beiträge, mit gleichem Bezug zu diesem Thema. Nur als gut gemeineter Rat Silvius Lab - official , vielleicht wäre es erstmal sinnvoll zu schreiben was denn überhaupt und über welche Entfernung gesteuert werden soll. Bisher wissen wir nur, dass der RPi Signale / Daten per IR an einen Pico senden soll und dieser dann etwas schalten soll. Zeichne einen Schaltplan für die angeschlossenen Bauteile am RPi und Pico. Das z.B. die LED's z.B. ohne Vorwiderstand betrieben werden, lässt zumindest erahnen, dass es evtl. noch andere Fehler in deinem Aufbau vorhanden sind. Allerdings habe ich leider keine große Hoffnung, da der TE nur bedingt auf Hinweise reagiert.

  • Diese Fotos sind imho nichtssagend. Silvius Lab - official Code bitte hier als Text in einem Codeblock zeigen und Fotos sollten selbsterklärend sein!

    Das was hier gezeigt wurde ist leider nicht brauchbar. :no_sad:

    Dann hoffe ich, dass dies hier brauchbar(er) ist.
    Viele Grüße,
    euer Silvius

    Sinnlosigkeit ist für mich kein Grund, etwas nicht zu tun ...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!