Kopfhöreranschluss möglich?

#17

Achtung: der folgende Text war weitestgehend falsch. Ich hatte die Pinbelegung der Klinkenbuchse falsch interpretiert und so wohl etwas die Robustheit des DF Player getestet.

Ich habe das mal wie folgt ausprobiert:

  • Lautsprecher über den Öffner des 3,5mm Klinkenanschlusses am Speaker-Anschluss des DF-Player (+ direkt am Lautsprecher, - am Öffner-Eingang, Lautsprecher- am Öffner-Ausgang) verbunden
  • die anderen 3 Pins des 3,5mm Klinkenanschlusses (L/R/GND) an den entsprechenden Anschlüssen des DF Player (DAC R / DAC L / GND) angeschlossen

Dadurch wird folgendes Verhalten erreicht:

  • wenn der Kopfhörer nicht gesteckt ist, wird der Ton - wie immer - über den Lautsprecher wiedergegeben
  • sobald der Kopfhörer steckt, wird die Verbindung zum Lautsprecher 1-kanalig getrennt (==> keine Wiedergabe über Lautsprecher) und der Ton wird über den Kopfhörer wiedergegeben
  • die Lautstärke kann in beiden Fällen angepasst werden (im DF-Player wird hier anscheinend nicht unterschieden zwischen DAC Ausgang und Speaker-Ausgang

Der letzte Punkte ist auch der Grund, weshalb ich noch zögere das so umzusetzen. Die Begrenzung der Maximallautstärke hätte ich gerne abhängig davon, ob über Lautsprecher oder Kopfhörer wiedergegeben wird.
Eine mögliche Idee wäre:

  • Lautstärke+ vom DF Player über den Öffner-Kontakt der Klinkenbuchse führen
  • die Öffner-Seite zum DF Player über einen hochohmigen Widerstand mit +5V verbinden und vom Arduino zurücklesen
  • evtl. die andere Seite des Öffner-Kontakts hochohmig mit GND verbinden (sofern der Ausgang des DF Players potentialfrei ist, wird das nötig sein)

Das habe ich aber noch nicht ausprobiert, genauso wenig wie ein zusätzliches Relais (der Aufwand steigt…)

Ich muss mir das wohl nochmal genauer anschauen und gebe dann ein Update…

0 Likes

#18

Das mit der gesteckt Erkennung ist über die geschaltet Masse der Klinkenbuchse relativ einfach. Einen PIN des arduino als Input parametrieren und den pullup einschalten. Wenn dann der PIN beim einlesen high wird ist ein Kopfhörer gesteckt und die Lautstärke kann entsprechend angepasst werden.

0 Likes

#19

Das verstehe ich nicht ganz.
Kannst du das mit einem Schaubild skizzieren?
Welche Kopfhörerbuchse hast du verwendet?

0 Likes

#20

Wie schließe ich den Kameraden denn an?

0 Likes

#21

Minus vom DFPlayer an Masse der Buchse, Plus vom DFPlayer an R und L der Buchse (da der DFPlayer nur Mono ausgibt muss man die beiden Kopfhörer parallel schalten, könnte sein dass das Probleme mit der Impedanz und/oder Lautstärke gibt, weiss ich nicht). Auf der abgehenden Seite der Buchse dann den Lautsprecher. Die Buchse schaltet durch zum LS solange kein Stecker eingesteckt ist, sobald der eingesteckt ist wird der LS getrennt und das Signal geht nur noch auf den Kopfhörer.

2 Likes

#22

Hi Christopher,
verstehe ich die Richtig:
L vom DF an L der Klinkenbuchse und zum L Lautsprecher
R vom DF an R der Klinkenbuchse und zum R Lautsprecher
Ein Arduino-Pin (X) zum GND der Klinkenbuchse und von da zu einem anderen Arduino-Pin (Y)?

Dann in der Software: Wenn der Output von X bei Y ankommt Softwareseitig die Lautstärken anpassen?
Braucht es dann noch weitere Hardware? Und hast du das getestet? Und jetzt werd ich richtig frech: Hast du den Teil der Software auch zum Nachlesen / Kopieren?

Das klingt einfacher als das was du hier Beschreibst:


(zumindest für jemanden der sehr wenig Löterfahrung hat.)

0 Likes

#23

Ok. Ich kann es selbst beantworten (in der Restekiste war noch eine Buchse. :
Das Ergebnis ist so noch zu Laut.

0 Likes

#24

EDIT: Hier jetzt die versprochene Bebilderte Erklärung

Habe es so bei mir am laufen und funktioniert soweit gut, der Vorteil meiner Variante ist, das man das Echte Stereo Signal bekommt und sich um den Mono-Downmix nicht kümmern braucht weil das ja schon der Player On-Board alles macht.

  1. Am Anschluss des Lautsprechers muss nichts verändert werden, dieser bleibt an SPK_1 & SPK_2
    und wird somit weiter vom OnBoard Verstärker (8002) betrieben.
  2. Auf der Unterseite des DFPlayer muss der 0Ohm SMD Widerstand entfernt werden (rot markiert)
  3. Auf der gegenüberliegenden Seite muss am vorderen freien PAD (grün markiert) eine Litze angelötet
    werden (0,35mm² oder kleiner), dieses geht zur Klinkenbuchse (erster Kontakt vom eingang der
    Buchse betrachtet) und zwar auf die Seite welche den Kontakt zum Stecker verliert sobald dieser
    gesteckt wird.
  4. Als Klinkenbuchse benötigt ihr eine welche die Masse trennen kann
    zum Beispiel: 3,5mm
    https://www.develektro.com/SCHURTER-48022300-KLINKENBUCHSE-35MM-EINBAU-3POL
    oder 6,35mm
    https://www.reichelt.de/einbau-klinkenbuchse-stereo-3-pol-6-35-mm-cliff-cl1220a-p228165.html?PROVID=2788&gclid=EAIaIQobChMInNmL-_SO4AIVHYmyCh02YwRnEAQYByABEgKZwvD_BwE&&r=1
  5. Der Kontakt auf der gegenüberliegenden Seite wird mit Masse (GND) verbunden.
  6. Die Beiden Anderen Kontakte wie im Bild zu sehen anschließen, vom Buchseneingang aus gesehen erst DAC-L dann DAC-R
  7. Wenn man nur möchte das der Lautsprecher ausgeht sobald ein Kopfhörer gesteckt wird, war es das auch schon.
  8. Möchte man auch über die Software Einfluss nehmen, brauchen wir noch ein Kabel vom öffnenden Massekontakt der Buchse (dort wo auch das zusätzliche Kabel des DFPlayer angeschlossen ist) zu einem freien Pin des Arduino und im Letzten Schritt dan die Software anpassen.

#define headphonePin xx
bool headphoneIn =0 ; // zur Verriegelung der späteren if-Abfrage, damit diese nur einmal ausgeführt wird
unsigned int last_Volume; // Merker für das Volume vor dem Stecken des Kopfhörer
unsigned int last_max_Volume; // Merker für das eingestellte max-Volume for dem Stecken des Kopfhörer
unsigned int max_Volume = 20;


//Dieser Teil kommt in das Setup ( void setup() {...} )
pinMode(headphonePin, INPUT_PULLUP);

//Dieser Teil wird im do {...} Teil der loop() {...} ausgeführt   ( void loop(){ do {...}..} )
//Erkennung ob ein Kopfhörer eingesteckt ist, "headphoneIn" verriegelt jeweils die Abfrage so das sie nur einmal durchlaufen wird
    if ((digitalRead(headphonePin)== 1) && (headphoneIn == 0)){

      Serial.println("Kopfhörer wurde eingesteckt");
      headphoneIn = 1;
      last_max_Volume = max_Volume; // Das letzte max. Volume merken
      last_Volume = myDFPlayer.readVolume();
      max_Volume = 10;
      if(myDFPlayer.readVolume() >= max_Volume){
          myDFPlayer.volume(10);
      }
      
    } else if ((digitalRead(headphonePin)== 0) && (headphoneIn == 1)){
      Serial.println("Kopfhörer wurde entfernt");
      headphoneIn = 0;
      max_Volume = last_max_Volume;
      myDFPlayer.volume(last_Volume);
      }
10 Likes

Gibt es eine Anleitung für Dummies?
FAQ Kategorie Hardware
#25

@Christopher Das gehört aber sowas von nach #tipps-und-tricks! :+1:t2:

1 Like

#26

Sehr coole Idee,

Ich habe mir folgenden Headphone Amp bestellt:
€ 1,97 26%OFF | TPA6132 Difference Balanced Single Port Output Amplifier Board I Headphone Amp HIFI 2.3 ~ 5.5V
https://s.click.aliexpress.com/e/K7JGkd7

Da der einen 5v Steuer Ausgang hat werde ich mit einem 5v Relais den Lautsprecher weg schalten.

Voll cool soviele verschiedenen Möglichkeiten etwas umzusetzen. :slight_smile:

0 Likes

Unsere TonUINO-Interpretation: Bäm!BooBox
#28

Hallo,
klingt nach einer interessanten Lösung, die ohne SMD-Komponenten auslöten und Programmierung auskommt :blush:
Freue mich über Deine Erfahrung und Deine Schaltung zu lesen!
Gruß
Lety

0 Likes

#29

Gibts hier inzwischen was neues? Meine frau hat einen Kopfhörer Ausgang bestellt… :smiley:

0 Likes

#30

@Christopher,

ich habe mal versucht das nach deiner Vorlage aufzubauen.
Dei Kopfhörer werden versorgt, allerdings wird bei mir dann nicht der Lautsprecher abgeschaltet. Das müsste doch auch ohne Programmierung klappen oder?

Gruß Mathias

1 Like

#31

Also bei mir funktionieren die Teile wunderbar… Lautstärke passt auch :+1:

aLiEnHeAd
Nov. '18
Super. sowas hab ich gesucht.
Wer warten kann, bekommt bei AliExpress 5 Stück für US $0.85
https://de.aliexpress.com/item/5Pcs-5-Pin-3-5mm-Audio-Jack-Socket-PCB-Panel-Mount-for-Headphone-With-Nut/32734945261.html

0 Likes

#32

Eine kurze Frage zur Sicherheit:
Ist folgender Anschluss korrekt:
GND -> 1
DAC_L -> 2
DAC_R -> 5
3 und 4 unbelegt lassen?
Ohne weiteres Dazutun wird dann bei Verwendung des Kopfhörers am DFPlayer die Ausgabe über Speaker unterbrochen?
Nachtrag: oder dienen 3 und 4 als Schalter in Richtung Speaker? Wie verbinde ich dann Speaker?
Nachtrag 2: Oder muss ich gar GND vom DFPlayer mit 1 und dem Speaker-- verbinden, Speaker-+ vom DFPLayer auf 2 und 5 legen und dann von 3 oder 4 auf Speaker-+? Sorry für die Verwirrung :slight_smile:

2019-02-18%2011_28_07-Hei%C3%9Fer%20verkauf%205%20Pin%203%2C5mm%20Stereo%20Audio%20Jack%20Socket%20PCB%20Panel%20Mount%20f%C3%BCr%20Kopfh%C3%B6re

0 Likes

#33

Ja das klappt auch ohne programmierung sofern du die richtige Buchse verwendest (eine bei der die Masse geschaltet wird oder einen unabhängigen Hilfskontakt hat) und du den DFPlayer modifiziert hast (0 Ohm Widerstand raus und Kabel wie beschrieben angelötet).

NEIN! lies dir bitte nochmal die Anleitung durch.
Mit der von dir abgebildeten Buchse kannst du den Lautsprecher hinter dem Verstärker unterbrechen hast aber keine Rückmeldung zum Arduino und kannst keinen Einfluss auf das Ereignis nehmen.

0 Likes

#34

Das ist mir bewusst.
Meine Frage bezieht sich darauf, wie ich die von aLiEnHeAd verwendete Buchse einbinden muss. Bin mit euren unterschiedlichen Ansätzen in den Verdrahtungsvorstellungen etwas durcheinander geraten.
Den wesentlichen Unterschied habe ich nun hoffentlich verstanden, bin mir aber nicht sicher, ob ich die Verdrahtung nun richtig im Kopf habe bzw. ob ich richtig verstanden habe, wie die Schaltfunktion der Buchse ist:
Ich verbinde also GND vom DFPlayer mit der Buchse (Anschluss 1) und dem Speaker+. Führe Speaker- vom DFPlayer an L und R von der Buchse (Anschluss 2 und 5), da es sich um ein Monosignal handelt.
Dann führe ich über 3 oder 4 einen der beiden Kanäle an Speaker- weiter, da die Buchse bei Nichtverwendung über 3/4 weiterleitet und nur beim Anschließen eines Kopfhörers diese Verbindung öffnet.
Ist das korrekt?
Oder muss wie von Wolfgang beschrieben DAC_R und DAC_L mit der Buchse verbunden werden? Bei der Anzahl an Anleitungen und Umsetzungsmethoden ist mir nicht klar, was bei der Verwendung “meiner” Buchse das richtige Vorgehen ist.

0 Likes

#35

Wenn du den Verstärker kurz schließen willst ja, ansonsten würde ich davon abraten. Lass das GND vom DFPlayer weg, dann könnte es klappen wenn ich deine idee jetzt richtig interpretiert habe

0 Likes

#36

Hallo @aLiEnHeAd ,
könntest du mal eine Skizze machen wie Du das alles angeschlossen hast?

Bei Reichelt und Co (weil’s schneller gehen soll als bei Ali) gibt es sowas hier:

Oder das hier:

Ist das das gleiche? Ist “2 Öffner” hier das Stichwort? Sorry, Fragen über Fragen, aber ich bin ahnungslos.

Mein Ziel ist:
standardmäßig Output über Lautsprecher.
Wenn Kopfhörer angeschlossen wird, dass nur Ausgabe über Kopfhörer, Lautsprecher gibt Ruhe.

Danke

1 Like

#37

Hi @Alwiz,
ich war mir auch nicht sicher, wie ich das Ziel (standardmäßig Output über Lautsprecher.Wenn Kopfhörer angeschlossen wird -> nur Ausgabe über Kopfhörer, Lautsprecher gibt Ruhe.) erreiche und habe einfach ein bisschen rumprobiert. Ausgang beim DFPlayer geht über + und - an die Buchse und von dort weiter zum Lautsprecher d.h. die Kopfhörer bekommen auch nur ein Mono-Signal. Durch die transparenten Deckel der Buchsen sieht man ganz schön, welches Kabel beim Ein- und Ausstecken unterbrochen bzw. durchgeschleift wird.
Sobald ich das nächste Mal an die Box komme, schaue ich nach, wie ich es genau angeschlossen habe.

0 Likes