Erweiterung: Anschluss Bluetooth Kopfhörer (Vorerst Theorie)

Hallo,

da meine beiden Töchter jetzt Bluetooth Kopfhörer haben und kabelgebundene sowieso nie so richtig mit Kindern harmonierten, habe ich mir überlegt, welche einfachen Möglichkeiten es gibt, ein Bluetooth Sendemodul zu integrieren.

Möglichkeit #1
Die einfachste Möglichkeit wäre ein USB Bluetooth Adapter 2-1, Beispiel:
Teuer per Prime


Billig per Ali:

Reine Sendeadapter habe ich (noch) nicht gefunden.

Diese Baureihe von Adaptern werden mit dem Kopfhöreranschluss (falls nicht vorhanden: Suchfunktion verwenden, es gibt genug Schaltpläne/Gehäuse dafür in diesem Forum) verbunden. Jetzt kommt der Haken: Die Stromversorgung. Leider haben all diese Adapter ein Männchen als Stecker, da kann man nur eine USB Verlängerung nehmen und z.B. an die Powerbank anschließen.

Möglichkeit #2
Die elegantere Variante wäre, ein Modul direkt im Player zu integrieren.


Dieses Modul bietet genug Variationsmöglichkeiten um es mit dem DF Player und der Powerbank / Akku zu verbinden. Dazu ist nicht einmal ein Kopfhöreranschluss notwendig: Die DAC-Outputs des DF Players werden direkt (Koppelkondensatoren sind lt. Schaltplan am Modul) an die Eingangsbuchse des Moduls angelötet (z.B. auf der Rückseite der Buchse).
Den Button auf der Platine müsste man noch mit VCC oder GND bzw. einem Arduino Pin verbinden - oder man verbaut einen Taster am Gehäuse. (Mir ist aus der Beschreibung nicht klar, in welchem Modus der Player startet: Receiver oder Transmitter). Das Modul scheint auch noch einiges mehr zu können.

Möglichkeit #3
Ist die Kombination aus #1 und #2:
Man kauft einen Adapter von #1 und knackt das Gehäuse und baut die Platine in den Player ein.

Tipp
Ich verwende bei allen Bluetooth Experimenten folgenden zusätzlichen Mini DC-DC Wandler (plus Elko) um Störgeräusche zu eliminieren. Ins and VCC/GND outs an das BT-Modul. Elko (500-1000uf) kommt zwischen VCC/GND des Moduls(!).

Ich habe mir jetzt einen Adapter von #1 bestellt und werde mal mit diesem experimentieren. Ergebnisse werde ich hier posten.

LG
Matthias

4 „Gefällt mir“

Bei deinen Skills bin ich überzeugt, das Du das hinbekommst.
Bin gespannt, obs für OttoNormalo nachbaubar sein wird :wink:

Ich habe es über eine Kopfhörerbuchse uns so ein Bluetooth transmitter realisiert.


Vorteil ist, du kannst den Transmitter auch für Handy oder so nutzen und an die Kopfhörerbuchse ein anderen Kopfhörer.

… nur, dass Dein Link auf einen Receiver verweist und nicht auf einen Transmitter.

Peer: Dürfte beides sein. Die Handelspartner aus Fernost tun sich jedenfalls immer unglaublich schwer mit Begriffen wie „Receiver“ und „Transmitter“

Ich bin mir da nicht so sicher. Das Gerät sieht mir nicht nur nach der Beschreibung, sondern auch nach der Aufmachung (Knöpfe, etc.) sehr nach einem reinen Reveiver aus.

Zu Möglichkeit #2: Das folgende Modul scheint mir sehr gut geeignet, da es genau das für uns Nötige beinhaltet:

Die DAC-Ausgänge des DFPlayers können direkt angeschlossen werden und ansonsten benötigt es nur die 5V-Spannungsversorgung und einen Taster zum Koppeln. Letzterer könnte auch über einen Digital-Out-Pin des Arduino getriggert werden.

Edit: Das Modul zieht bei 5V laut Datenblatt 35mA. Damit könnte es theoretisch direkt über einen Digital-out-Pin des Arduino gespeist werden können und somit ohne weitere Beschaltung ein/ausschaltbar sein, da die Grenze je Arduino-Ausgang bei 40mA liegt. Oder sollte man sich da weiter von den 40mA fernhalten um einen Schaden des Arduino zu vermeiden?

2 „Gefällt mir“

2 in 1 Bluetooth adapter with Bluetooth receive and Bluetooth transmit function
Bluetooth transmitter
wirelessly streams audio to Bluetooth speakers or headphones from your TV or older media devices like portable CD players that lack built-in Bluetooth
Bluetooth receiver
wirelessly streams audio from your phone or tablet to your existing wired home stereo system, speakers, or headphones

Steht im Text

OK, überzeugt. Das hatte ich nicht gelesen.

Ich frage mich nur, wo der im Text genannte FX/RX-Switch sein soll. Auf den Bildern ist nichts zu erkennen…

Peer: Das Modul gefällt mir schon sehr gut, v.a. die variable Eingangsspannung (3.3-5V) und ein separater AGND Pin (wenn er nicht mit PGND zusammen gelötet ist , AGND und DGND/PGND sind für die meisten Modulhersteller Fremdwörter und werden hirnlos kurzgeschlossen…)
Die gleiche Platine noch erheblich preiswerter:


…gleich einmal bestellt.

1 „Gefällt mir“

ups. hab das letzte gekauft. Link hier:

Das wäre ja was tolles wenn das klappt.
Wie zuversichtlich seid ihr denn, dann wurde ich auch gleich einen bestellen? Dauert ja immer 2-3 Wochen bis das Zeug da ist.

Würde der den Lautsprecher bei Aktivität abschalten? Und wie sieht es aus wenn man auch eine Klinke haben möchte?

Wenn ich das letzte Bild des de.aliexpress-Links richtig interpretiere, sind AGND und PGND über die Rückseite der Platine direkt miteinander verbunden:

Aber das würde im TonUINO sowieso der Fall sein, da der DFPlayer seine beiden GND-Kontakte ebenfalls miteinander verbunden hat.

@Tobi-zer: Ich bin ziemlich zuversichtlich, dass es funktioniert.

Der Transmitter würde für sich aber unabhängig vom Lautsprecher immer das senden, was an seinen Eingängen anliegt (sofern ein Gerät gekoppelt ist).

Wenn man das Modul über den Arduino ein- und ausschaltbar machen will, muss man über den Arduino die Stromzufuhr zum DFPlayer trennen. Evtl. geht das direkt über einen Arduino-Ausgang (d.h. das Bluetooth-Modul bekommt 5V von einem Ditigal Out), aber ich wäre beim Stromverbrauch von 35mA da vorsichtig und würde das über einen Transistor oder einer ähnlichen Schaltung zuschaltbar machen.

Dann würde aber der Lautsprecher immernoch angesteuert werden, da der DFPlayer meines Wissens keine Möglichkeit bietet, einzelne Ausgänge (DAC und Speaker) zu deaktivieren. Das Einfachste wäre hier ein externer mechanischer 2xUM-Schalter. Dann bräuchte man auch nicht den o.g. Trnsistor.

Das Signal für das Koppeln dürfte man problemlos über den Arduino und somit über die Software regeln können (aber es fehlt ein Rückkanal ob nun eine Verbindung besteht oder nicht).

All das würde aber nicht vom Einstecken/Rausziehen eines Kopfhörers an einer Klinkenbuchse beeinflusst werden. Hierzu würde ich anregen, ein kleines Redisign der TonUINO-Kopfhörerbuchsenplatine vorzunehmen (Hinweis an @HiSEBA) : Wenn man auf der Platine neben den Speaker-Anschlüssen zusätzlich auch noch DACL, DACR und (bisher gar nicht verwendet) den Pin 4 des SJ-3579AN als geschalteten GND herausführt, kann man an der Platine nicht nur einen Lautsprecher anschließen, der bei Einstecken eines Kopfhörers ausgeschaltet wird, sondern auch eine beliebige DAC-Senke, die über den verwendeten geschalteten GND ebenfalls deaktiviert wird. Somit könnte man die Kopfhörerbuchsenplatine auch für externe (Stereo-)Verstärker oder eben ein Bluetooth-Modul verwenden. Beim Bluetooth-Modul müssten dann aber alle seine GND-Kontakte über den schaltbaren GND laufen, da anscheinend AGND und PGND verbunden sind.

Diese Zuversicht freut mich :grin:
Also kann ich mir mal einen kommen lassen.

Was meinst du mit

Das Signal für das Koppeln dürfte man problemlos über den Arduino und somit über die Software regeln können (aber es fehlt ein Rückkanal ob nun eine Verbindung besteht oder nicht).

?
Das Audio Signal kommt ja vom DFPlayer.
Bin da leider nicht so in der Materie.

Ja, das Audio-Signal kommt vom DFPlayer. Aber bei dem Bluetooth-Modul braucht man ja noch die Möglichkeit, das Modul mit einem Bluetooth-Empfänger zu koppeln, d.h. nach geeigneten Empfängern zu suchen und einen zu aktivieren. Das läuft z.T. über einen anzuschließenden Taster, der - wenn gedrückt - den entsprechenden Pin des Bluetooth-Moduls auf GND zieht. Das kann man entweder ganze einfach über einen zusätzlichen Taster umsetzen (damit bekommt der TonUINO aber noch einen Taster), oder man integriert das in die TonUINO-Software und überlässt das dem Arduino. Dann könnte man eine enstprechende Funktion bliebig auf die vorhandenen Tasten (oder auch auf eine RFID-Karte) legen. Dazu würde man statt eines Tasters den entsprechenden Eingang des Bluetooth-Moduls mit einem DigitalOut-Pin des Arduino verbinden.

Was man aber auch dann nicht hat, ist eine Rückmeldung des Bluetooth-Moduls an den Arduino, ob nun ein Gerät erfolgreich gekoppelt wurde oder nicht, oder ob es gerade nach einem geeigneten Empfänger sucht. Wobei: Wenn man das unbedingt braucht, wäre auch das möglich: Das Bluetooth-Modul hat ja einen Ausgang für eine LED um an dieser den internen Zustand anzuzeigen. Diesen Ausgang aber abzufragen und das daran anliegende Signal korrekt zu interpretieren ist eine ganz ander Geschichte…

Auf Ebay findet sich eine genauere Funktionsbeschreibung.

Demnach kennt das Modul zwei Modi zum Aufbauen einer Bluetooth-Verbindung:

  1. Im Easy Connection Mode geht das so: Beim erstmaligen Einschalten sucht das Modul automatisch nach Bluetooth-Empfängern. Einen so gefundenen Empfänger merkt es sich (also dessen MAC-Adresse) und verbindet sich bei zukünftigen Starts automatisch mit diesem. Wenn man auf einen anderen Empfänger wechseln will, muss man den Empfänger ausschalten, den neuen einschalten und dem Modul durch Drücken eines CON-Tasters (bzw. Verbinden des CON-Pins mit GND) sagen, dass es den bisherigen Empfänger vergessen und einen neuen suchen soll.
  2. Es gibt einen AT Command Custom Connection Mode, bei dem man dem Modul über AT-Commands (über die UART RX- und TX-Pins) direkt die MAC-Adresse des gewünschten Empfängers mitteilen kann. Eine Beschreibung wie das genau geht habe ich aber nicht gefunden.

Danke dir für deine Erklärung.
Gleich mal bestellt.

Dann sollte es ja gehen auch ohne an der Firmware ask machen. Denn da bin ja auf euch angewiesen (nutze die CubieKid Platine)

Aber Musik senden würde nicht gehen?
Das wäre richtig cool.

Digitale und analoge Masse hirnbefreit verbunden. Das ist wie das Amen im Gebet bei den Chinesen (genauso wie die stoische Kopie von Layoutfehlern) . Naja, beim DF-Player könnte es noch klappen, bei Differenzialverstärkern - gute Nacht.

Musik senden würde auch gehen. Da bräuchte man das bidirektionale Modul. Würde ich aber einfach lösen: BT-Empfängermodul mit Vorverstärker (am Besten mit Lautstärkeregelung). Mittels zweipoligem Schalter würde ich dann entweder den DF-Player oder das BT-Empfängermodul schalten. Wäre für Beginner die einfachste Lösung. Bei allen weiteren Szenarien würde ich nicht mehr auf DF-Player Basis arbeiten (wollen).