Code für Drehregler für Lautstärke an AiO

Hallo zusammen.

Hier hat doch bestimmt schon mal wer einen Poti für die Lautstärkeregelung an einer AiO Platine verbaut oder? Ich brauche Hilfe beim Anpassen des Codes dafür. Ich habe mich an diesem Beitrag Lautstärke per Poti langgehangelt und mich an @Tobi7241 Anpassungen für den Code orientiert. Der war natürlich nicht für die AiO Version (2.2) gedacht und ich bekomme es nicht selbst gelöst. Die Lautstärke schwankt dolle zwischen laut/leise…

Jedenfalls, könnte mir hier jemand sagen, an welchen Stellen ich da was ändern muss?

Danke und schöne Grüße

Hi, probiers doch mal mit meinem Affenbox Fork.

Neben dem Drehencoder, bietet mein Fork auch die Möglichkeit der Steuerung über eine Infrarot Fernbedienung oder einem großen Tastenfeld für Shortcuts.

@marco-117 Hey Danke! Ja, den hatte ich mir auch schon einmal angeschaut und mich gefragt, ob es denn dazu genau dieser Rotary Encoder KY 040 sein muss, oder es auch ein ganz normales Poti tut, dass ich hier eben noch habe?

Ich finde Potis nicht gut geeignet.

  • Man braucht einen Logarithmischen Poti oder muss einen linearen Poti, logarithmisch umrechnen.
  • Potis sind statisch, wenn man ihn voll aufdreht und dann die box einschaltet, dröhnt sie bei voller Lautstärke los.
  • Der DFPlayer nimmt nur digitale werte von 0-30 an. Ein Poti ist aber analog und es kann zu rauschen kommen. Wenn man z.B. einen Grenzwert trifft, dann kann es passieren das die Lautstärke um den Grenzwert rauf und runter zuckt.
  • Potis kann man zerstören wenn man sie über Anschlag dreht.

Drehencoder haben die obigen Nachteile alle nicht, deshalb empfehle ich die paar Euro in einen zu investieren.

Meine Software ist aus den obigen Gründen mit Potis nicht kompatibel

Danke für die ausführliche Erklärung! Dann probiere ich das mal.

Hallo @marco-117
darf ich auch mal eine Lanze für Potis brechen? Potis behalten ihren letzten Wert im „Gedächtnis“ während Drehencoder bei jedem Programmstart wieder bei Null anfangen und auf den Wunschwert geregelt werden müssen. Das kann man zwar umgehen, indem man den letzten Wert im EEPROM ablegt aber das ist wieder mit mehr Programmieraufwand verbunden.
Wollte ich nur mal angemerkt haben.

Das hab ich ja so ähnlich oben als Nachteil erwähnt.
Ist wohl Ansichtssache ob man das gut oder schlecht findet.
Da Kinder immer gerne an allem spielen und drehen, finde ich ein reset bei Neustart gut.
Man kann ja eine Initiallautstärke eingeben.

Ich gebe dir recht, das kommt immer auf die Anwendung an. Ich habe z.B. gerade einen Lautstärkeknopf mit einem Poti und einem Arduino Leonardo gebaut, der als HID Device direkt an meinem Laptop hängt. Bei jedem Neustart ist derselbe Lautstärkewert eingestellt wie vorher. Das wäre mit einem Drehencoder ungleich komplizierter zu bewerkstelligen.