Kopfhörerbuchsenplatine

Gibt es eine Möglichkeit die maximale Lautstärke bei angeschlossener Kopfhörerbuchse zu begrenzen? Es klappt zwar gut aber war doch sehr laut für Kinder.

PS: Es gibt einen parallelen Thread welches das gleiche Thema hat. War mir unsicher wo ich schreiben sollte. Vielleicht kann man die zusammenbringen.

1 Like

Moin @Erni Der DFplayer DAC Ausgang geht ohne Umwege auf die Buchse.

Bild

Das Signal wird „hallig“ aus dem DFplayer kommen. Vielleicht probierst du mal die Equalizer Settings aus.

Die Anschlüsse auf der 1.51 über dem DF Player sind 1:1 die auf der Kopfhörerplatine.

Hi Stephan,
danke für die Antwort.

Also so (korrigierte Version):

Grüße

1 Like

Die Platine kann über einen Pin (JD, Jack Detect) den Status (Kopfhörer eingesteckt / nicht eingesteckt) an den Arduino weitergeben. Darüber kann man dann ggf. die Lautstärke absenken etc. Ist aber momentan nicht in der FW implementiert.

Ich habe die zwei wichtigen Infos aus dem anderen Thread hier her geholt und den Thread dann geschlossen.

Um einen kleinen Beitrag beizusteuern, habe ich den folgenden Code geschrieben, den man so in die aktuelle Version übernehmen könnte. Der wird nur aktiviert wenn man das JACKDETECT rauskommentiert. Habe mich da an dem FIVEBUTTON Mode orientiert.
Wenn Kopfhörer eingesteckt werden, wird eine Initiale Lautstärke für Kopfhörer aktiviert. Gleichzeitig kann im Kopfhörermodus nicht über eine festgelegte Lautstärke erhöht werden. Wenn man die Kopfhörer rausgesteckt wird alles wieder zurückgesetzt.

Bei mir funktioniert es aber ich würde mich freuen, wenn jemand den Code testen könnte.

Edit: Ein Jumperkabel geht vom JD der Kopfhörerbuchsenplatine zu einem offenen Digitalen Pin an Thorsten’s Platine, in meinem Fall Pin 8.

/* ------------------------->  Vor dem Setup   <---------------------------- */

// uncomment the below line to enable jack detected max volume support
// #define JACKDETECT

#ifdef JACKDETECT
  // Definition des Jackdetect Pins
  #define jdPin 8
#endif

#ifdef JACKDETECT
  // Variablen für Prüfung des Kopfhöreranschlusses
  int jdMaxVolume = 15 ;     // Maximale Lautstärke wenn Kopfhörer angeschlossen ist
  int jdInitVolume = 10 ;     // Initiale Lautstärke wenn Kopfhörer angeschlossen ist
  int jackDetectState = HIGH ;         // aktueller Status - ob Kopfhörer angeschlossen ist
  int lastJackDetectState = HIGH;     // vorhergehender Status - ob Kopfhörer angeschlossen ist
  int beforeJackdetectVolume = 10;     // Lautstärke bevor Kopfhörer angeschlossen wurden
  int beforeJackdetectMaxVolume = 10;     // Maximale Lautstärke bevor Kopfhörer angeschlossen wurden
#endif

/* ------------------------->  Im Setup   <---------------------------- */

#ifdef JACKDETECT
  // JackDetect Pin
  pinMode(jdPin, INPUT_PULLUP);
#endif

/* ------------------------->  Im Loop   <---------------------------- */

#ifdef JACKDETECT
 // Prüfung und Aktualisierung des Köpfhöreranschlusses
  
  // Aktuellen jackdetect Status einlesen
  jackDetectState = digitalRead(jdPin);
 
  // Vergleich zwischen aktuellem und vorhergehendem Status
  if (jackDetectState != lastJackDetectState) {
    // Wenn Status sich geändert hat
    if (jackDetectState == LOW) {
      // Wenn aktueller Stauts LOW, dann ist der Kopfhörer angeschlossen
      beforeJackdetectVolume = volume;       // Speichern der Lautstärke bevor Kopfhörer angeschlossen wurden
      beforeJackdetectMaxVolume = mySettings.maxVolume;     // Speichern der aktuellen Maximalen Lautstärke - bevor Kopfhörer angeschlossen sind
      mySettings.maxVolume = jdMaxVolume;    // Maximale Lautstärke auf Kopfhörermodus geändert
      volume = jdInitVolume;    // Aktivieren der Initialen Lautstärke bei Anschluss der Kopfhörer - wenn rauskommentiert, wird die maximale Lautstärke im Kopfhörermodus gesetzt 
      Serial.println(F("Köpfhörer angeschlossen"));
    } else {
      // Wenn aktueller Stauts HIGH, dann ist der Kopfhörer ausgesteckt
      mySettings.maxVolume = beforeJackdetectMaxVolume;    // Maximale Lautstärke zurücksetzen
      volume = beforeJackdetectVolume;
      // volume = mySettings.initVolume; // Alternativ kann man die Initiale Lautstärke beim entfernen des Kopfhörers einstellen lassen
      Serial.println(F("Köpfhörer ausgesteckt"));
    }
  }
  // Speichern des akuellen Status als letzten Status für den nächsten Loop
  lastJackDetectState = jackDetectState;
#endif
6 Like

Hallo Thorsten, ich würde gerne eine Deiner Kopfhörerbuchsenplatinen kaufen. Geht das über Paypal? Viele Grüße Michael

Hallo Michi,
schreib dem Thorsten eine mail mit der Bitte.
Erni

Darf man fragen, was das genau für eine Buchse ist? Bzw wo ich diese einzeln beziehen kann? Ich habe vor mir eine eigene Grundplatine zu entwerfen und alle Funktionen, die ich interresant finde einzubauen

Kann jemand was zur Verfügbarkeit sagen?
Ich habe 2 mal bei Thorsten per Mail angefragt, aber leider keine Antwort erhalten. Vielleicht ist er ja im Urlaub oder sowas?

Könntete man auch die Maße und Position der beiden Stiftleisten auf der Kopfhörerbaugruppe haben?
Mein Platine wird mit Kopfhörerbuchse doch zu groß und die Huckepackidee kostet mich kaum Platz.

Als ich Thorsten vor ca 2 Wochen gefragt hane, waren gerade keine Verfügbar.

Ich habe dir jedes mal geantwortet - schau bitte mal in deinem Spam Ordner nach :wink:

Neue Buchsen sind jedenfalls da und können verschickt werden.

Hallo,
ist mein Versuch die Kopfhörerverdratung nachzuvollziehen so richtig?


@Torsten @HiSEBA
Ich danke Euch

Nur einen kurzen Blick drauf geworfen, Würd sagen des passt.

Hab ich direkt bei Thorsten angefragt - gibt es bei ihm noch mehr als die Tonuino Platine und die Kopfhörerbuchse?

Hat jemand noch eine rumliegen? Ich müsste mein Gehäuse darauf anpassen (3D Druck) und bekomme leider keine Antwort - vemrutlich viel zu tun.

Wäre super wenn sich jemand meldet.

Danke

Was genau hast du denn wo gefragt?

Ich habe welche da: bei Interesse bitte einfach Mail an tonuino@voss.earth :grimacing:

vor 2 Wochen per Mail und PN hier aber habs gerade noch mal per Mail gesendet - vielen Dank!

Hi zusammen,

großartig, dass es diese Platine gibt!

Leider will das bei mir noch nicht wir gewünscht. Wenn ich den Kopfhörer einstecke, höre ich aus Kopfhörer und Lautsprecher. Stecke ich den Kopfhörer nicht ein, höre ich nichts. Es liegt bestimmt an den Lötstellen, aber vielleicht könnt ihr mir einen Tipp geben, wo ich nachlöten muss. Ich habe alles schon nachgelötet, aber ohne Erfolg. Daher würde mir helfen, wenn ihr mir sagt, welche Pins bei o.g. Problem die wahrscheinlichsten Fehlerquellen sind.

Viele Grüße
Chris

Das Verhalten ist nicht normal, klar. Poste mal bitte ein Foto der Platinenunterseite.