Lautstärke über Drehregler ?

Ich kann das Verhalten auch nicht bestätigen. Mir ist aber aufgefallen, dass wenn man den Drehregler schnell bewegt, dass es dann zu einem Brummen/Pochern kommt, wenn der Regler ausgeschaltet wird und dann langsam gedreht wird, ist davon nichtgs zu hören.
Ich habe mir jetzt einen anderen Verstärker mit Drehregler bestellt, sobald er da ist, berichte ich von dem Ergebnis

1 „Gefällt mir“

Also bei mir startet tatsächlich beim komplett ab- und wieder andrehen (Poti Klick) die Karte neu. Also das was drauf ist. War mir so vorher auch nicht bewusst.
Der Verstärker ist aber aktuell erst mal rausgeflogen bei mir.

1 „Gefällt mir“

Ich bin in den elektronischen Dingen nicht so firm, wie ich es gerne wäre.
Wenn ich das richtig nachgelesen habe, kann man die beiden Signale eines Drehgebers auch einfach als zwei Schalter interpretieren. Beide geschaltet = Drehrichtung a bzw. leiser, einer = Drehrichtung b bzw. lauter, je nachdem, welcher Kontakt des Drehgebers vom Winkel her eher schaltet.
Was ich nicht verstehe: muss ich den Drehgeber zwangsläufig an digitale Eingänge am Arduino anschließen, oder einfach an A03 und A04?
Ist vermutlich eine blutige-Anfänger-Frage, aber ich bin mir jetzt einfach mal nicht zu schade dafür :wink:

Meines Erachtens gibt es folgende 3 Möglichkeiten die Lautstärkeregelung mit einem Drehknopf umzusetzen:

  1. Potentiometer an extra Audioverstärker oder in Serie zum Lautsprecher
  2. Potentiometer über einen Analogeingang im Arduino einlesen (z.B. A3) und in der SW entsprechend die Lautstärke einstellen; dies wurde z.B. beim Theobert-1000 umgesetzt
  3. Lautstärke über Inkrementalgeber (z.B. KY-040) im Arduino einlesen

Eigentlich hätte ich Lösung 3 favorisiert. Um das zu realisieren ist aber die Verwendung der Interrupt-Pins empfohlen, welche aber im Originalprojekt bereits für die Ansteuerung des DF-Mini verwendet werden (D2/D3).
Entsprechend plane ich die Umsetzung ähnlich wie Theobert, d.h. einen 10kOhm Potentiometer zwischen GND und +5V anschließen, Potentiometer-Ausgang an A3 einlesen und mit entsprechender Verarbeitung (Limitierung / Hysterese / Gradientenbegrenzung) als neuen Lautstärkewert übernehmen.

Hallo Wolfgang (und alle anderen, die Interesse an der - zumindest auch m.E. - besseren Lösung mit dem Inkrementalgeber haben):
BITTE NICHT SO SCHNELL AUFGEBEN!
a) möglicherweise wurde der TonUINO (zunächst) eher auf Übersichtlichkeit und Design entwickelt, d.h. nicht unbedingt auf ökonomische Verwendung der PINs. Kann es sein, dass der PIN-D3 (=INT1) auch auf einem anderen Pin hätte liegen können? btw: mussten die Taster tatsächlich alle auf den Analog-PINs liegen?
b) lt. http://henrysbench.capnfatz.com/henrys-bench/arduino-sensors-and-input/keyes-ky-040-arduino-rotary-encoder-user-manual/ könnte der Inkrementalgeber ggf. auch ohne Verschwendung von Interrupts umgesetzt werden.
Was meint Ihr?

1 „Gefällt mir“

Die Taster lassen sich sicherlich auch mit den Digital-Eingängen einlesen. Auch bei der seriellen Kommunikation mit dem DFMini sollte es möglich sein auf die serielle Hardware Schnittstelle zu wechseln (das ist aber nur eine Vermutung).

Das Problem an einer Umsetzung ohne Interrupt wird sein, dass man nur innerhalb der Main-Schleife den Taster einlesen kann. Wenn der Inkrementalgeber zu schnell gedreht wird, kann es sein, dass man nicht mehr alle Pulse mitbekommt und demnach die Drehrichtung falsch interpretiert. Das ist der Grund, weshalb der Interrupt empfohlen wird (bei einem Flankenwechsel an einem der beiden Pins wird durch den ausgelösten Interrupt das Hauptprogramm unterbrochen und nur eine ganz kurzer Code „Interrupt-Service-Routine“ ausgeführt, der die Tasterzustände einliest). Damit wäre man von der Durchlaufzeit der Main-Schleife unabhängig.

Ich darf an der Box für meine Tochter sowieso keinen Drehregler nachrüsten. Das muss so bleiben, wie das Christkind es gebaut hat :wink:
Ich habe die lose Absicht noch einen weiteren TonUINO aufzubauen und verfolge momentan interessiert die Umsetzung mit dem ESP32. Mit dem sollte die Einbindung eines KY-040 wieder einfacher möglich sein.

Nachdem ich auch nicht so ganz von der Qualität des Drehreglers überzeugt war, habe ich mal (ausversehen) beide Lautsprecherkabel rn R- und L- angeschlossen. Und siehe da: Die Qualität ist auf einmal richtig gut. Auch das Pochern wenn man den Drehregler ganz schnell dreht ist ordentlich zurück gegangen. Jetzt ist es zu 90% so wie ich es haben wollte :slight_smile:

Ich habe heute mal diesen Verstärker mit Drehregler TEA2025B 3W+3W
ausprobiert. Das Board ist etwa so groß wie der RFID reader:

Das Postive an diesem Verstärker ist, dass man die Kabel per Schraubverbinder anbringen kann. Die Soundqualität ist leider nicht sehr gut. Während des drehens hört man ein leichtes Rauschen.
Zudem gibt es die ganze Zeit ein Grundrauschen, auch bei leiser Lautstärke.
Die Lautstärke und Qualität kommt nicht an den PAM8403 ran.
Ich habe sie wieder getauscht.

Bei uns ist der PAM8403 bisher ohne jegliche Probleme im Einsatz. Ich habe zwei Lautsprecher angeschlossen und noch keine Beschwerden gehabt abgesehen von “Lauter!”. Da muss ich die Grundlautstärke noch anpassen und mittelfristig wohl die Lautsprecher tauschen. Aber das ginge hier zu weit :wink:

Ich habe jetzt auch mal einen Drehregler verbaut und bin mit dem finalen Ergebnis sehr zufrieden.

  • Zuerst hatte ich die einfache Variante den Poti zwischen eines der Kabel des Lautsprechers zu klemmen:
    Dabei war ich leider mit den Abstufungen und der “0-Stellung” nicht zufrieden.

Aktuell habe ich den Poti an A7 und an 5.5 und GND geklemmt und in der Software passiert folgendes:

  • Nach dem Starten des Tonuino wird die InitialVolume aus den Settings vom aktuellen Zustand des Poti überschrieben und gesetzt
  • Während Musik spielt, wird im Loop immer wieder der aktuelle Zustand des Poti ausgelesen und entsprechend über eine Funktion direkt die Lautstärke gesetzt
  • Während Pause wird der Poti nicht ausgelesen, nach dem Betätigen des Play-Buttons wird der Poti ausgelesen und die Lautstärke vor dem Abspielen auf den Zustand des Poti gesetzt (falls man im Pausemodus den Lautstörke Regler verdreht)

Nun meine kurze Frage: da der Poti im Wiedergabemodus halt dauerhaft ausgelesen wird: hat das große Auswirkungen auf den Stormverbrauch? Wenn man so will werden die anderen Tasten ja auch regelmäßig ausgelesen?

Falls jemand Quellcode braucht kann ich den heute Abend nachreichen.

Wenn Du im Loop jedesmal die Lautstärke setzt, bekommt der DFPlayer ununterbrochen Signale. Das könnte sich negativ auswirken. Spielt er bei Dir ohne Probleme und reagiert auch auf alle Buttons normal?

Auf den Stromverbrauch sollte sich das nicht messbar auswirken.

Ja funkioniert absolut sauber. Mann könnte aber die Software noch erweitern und prüfen, ob die aktuelle Lautstärke (volume) dem ausgelesenen Wert entspricht. Nur wenn die Werte sich unterscheiden setzt man im DFPlayer die Lautstärke.

Das Auslesen der Lautstärke des DFPlayers im Loop verursacht aber auch Traffic.

Hm aber die kann man ja beim Setzen auf eine Variable schreiben, die dann wieder ausgelesen wird?!

Klar, das ginge. 20 Zeichen

Ich glaube ich habe zwei Arduinos zerschossen… Strom läuft über Powerbank.
Ich wollte den Verstärker einbauen (PAM8403). Habe dafür 5V und GND von Thorstens Platine an den Verstärker gesteckt (an + und -). Ich habe schon eine Box, allerdings mit dem Wemos Shield laufen. Habe die jetzt nicht aufgemacht, wie ich das angeschlossen hatte. Auf jedenfall habe ich jetzt zwei gelötete komplette Platinen zerschossen. Die Lichter gehen nicht mehr und er wird nicht mehr erkannt :frowning: Was habe ich falsch gemacht? Irgendwie steige ich nicht mehr durch…

Schwer zu sagen, zeigst Du uns Bilder?

Ein Bild wäre echt super.
Hast du den Verstärker so angeschlossen:

Bin gerade nicht zu Hause , aber vielleicht reicht ja die Skizze :blush:


Hier leuchtet jetzt nix mehr am Arduino

Was mir an den Fotos auffällt: Bei den Platinen sollten doch Buchsenleisten dabei gewesen sein!? Warum hast du die nicht benutzt um Nano und Player zu sockeln? So könntest du jetzt einfach den Nano tauschen. Genau aus dem Grund haben wir die Buchsenleisten vorgesehen - falls man aus Versehen einen Baustein zerstört. Ich weiß, dieser “Tip” kommt zu spät, aber ich hoffe das Andere die das hier lesen daraus lernen und es beherzigen. :slight_smile: