Ton knarzt und Tasten ohne Funktion während der Wiedergabe

Hallo zusammen,
ich versuche meinen ersten ESPuino zu bauen. Nach vielen Mühen und den ersten Schritten in PlatformIO läuft die Software augenscheinlich aber ich habe zwei Funktionen die nicht so laufen wie sie sicher sollen.
Zuerst zu meinem Setup: Ich habe ein Wemos Lolin32 mit RC522, SPI SD-Leser, Adafruit max98357a, Drehencoder und drei Button. Folgendermaßen verkabelt:

In der Software habe ich beim Kompilieren immer Fehlermeldungen bekommen und konnte ich bisher nur lösen indem ich in der platformio.ini alle env:-Elemente ausser dem für den lolin32 rausgelöscht habe. Diese sieht nun so aus:

[common]
lib_deps_builtin =
SPI
Wire
lib_deps_external =
http s://github.com/schreibfaul1/ESP32-audioI2S.git
http s://github.com/madhephaestus/ESP32Encoder.git
http s://github.com/knolleary/pubsubclient.git
http s://github.com/biologist79/ESP32FTPServer
http s://github.com/FastLED/FastLED.git#3.4.0
ESP Async WebServer
http s://github.com/me-no-dev/AsyncTCP
http s://github.com/bblanchon/ArduinoJson.git
http s://github.com/pschatzmann/ESP32-A2DP.git
http s://github.com/Arduino-IRremote/Arduino-IRremote.git
http s://github.com/kkloesener/MFRC522_I2C.git
http s://github.com/miguelbalboa/rfid.git

[env:common]
platform = espressif32
; Don’t forget to run this script if you changed the html-files provided in any way
extra_scripts =
pre:processHtml.py

[env:lolin32]
;WEMOS LOLIN32 — PlatformIO latest documentation
platform = espressif32
board = lolin32
framework = arduino
monitor_speed = 115200
board_build.partitions = huge_app.csv
build_flags = -DHAL=1
lib_deps =
${common.lib_deps_builtin}
${common.lib_deps_external}
http s://github.com/tueddy/PN5180-Library.git#0c200f5
extra_scripts = ${env:common.extra_scripts}
upload_port = /dev/cu.usbserial-021ZIX9F
monitor_port = /dev/cu.usbserial-021ZIX9F
platform_packages =
platformio/framework-arduinoespressif32 @ http s://github.com/espressif/arduino-esp32.git#1.0.5

;;; Change upload/monitor-port of your board regarding your operating-system and develboard!
;MAC: /dev/cu.SLAB_USBtoUART / /dev/cu.wchusbserial1420 / /dev/cu.wchusbserial1410
;WINDOWS: COM3
;LINUX: /dev/ttyUSB0 (if it’s the first USB-device attached, otherwise increase number)
[env:]

Die GUI macht alle Funktionen mit. Die Max-Lautstärke ist hochgedreht (hierzu habe ich in manchen Beiträgen gelesen, dass dadurch die Tasten nicht funktionierten).
Folgende Fehler sind vorhanden:

  1. Der Ton „kratzt“ , wie in einem ganz alten Radio. Im Tonuino läuft der Lautsprecher aber einwandfrei. Ob der max98357A einen weg hat? Ersatz ist bestellt, allerdings war er ja neu. Gibts andere Fehlerquellen?
  2. Die Button und Drehencoder sind ohne Funktion sobald eine Sounddatei abgespielt wird. Ohne Abspielen wird die Annahme des Buttons oder Drehencoders am Neopixel, in der GUI und im Serial-Monitor angezeigt. Während der Wiedergabe in allen drei Anzeigen aber keine Quittung.

Ich würde mich wahnsinnig über Hilfe freuen.
Schönen Gruß Andreas

PS: Das Leerzeichen in den Links der platformio.ini in „http s“ ist weil ich als neuer Nutzer nur zwei Links posten darf.

Hallo @Meltemi-787,
erstmal herzlich willkommen hier.

Zum Kompilieren:
Schau mal links oben in Platformio, dort gibt es „Project Tasks“. Hast du dort lolin32 ausgewählt und dann auf „Upload an Monitor“ geklickt? Du wählst darüber in Platformio die Plattform aus, für die du kompilieren willst.

Zu den Störgeräuschen:
Das kommt der sicher davon, dass du das auf einem Breadboard verdrahtet hast. Damit hatte ich auch viele Probleme. Insbesondere beim Abspielen von SD. Bei Webradio waren die Probleme größtenteils weg.

Drehencoder: Hast du die settings.h und settings-lolin32.h angepasst? Falls ja, dann vermute ich mal, dass es am o.g. Punkt mit den Project Tasks hängt.

Vielen Dank für die schnelle Antwort.

Ich hatte bisher immer Probleme, wenn ich das heruntergeladene Git-Project in PlatformIO als Project geöffnet habe. Daher hatte ich es direkt mit dem Link als Repository geöffnet. Ich bin ja davon ausgegangen, dass das Board durch das HAL 1 in der settings.h bestimmt wird.

Jetzt habe ich es nochmal als neues Arduino-Project importiert und das Board eingestellt und im Projekt das lolin32 als Default markiert. Ich gehe davon aus, dass du das mit dem Project-Task meinst. Siehe da, kleine Fehlermeldung beim Compilieren aber der Code wird übertragen.

Drehencoder und Taster funktionieren. Der Ton ist auch etwas besser. Also werde ich mich in den nächsten Tagen vom Breadboard ans direktlöten begeben.

Besten Dank und ganz großes Lob für die übersichtlichen Codes, den zahlreichen Kommentaren und diesem umfangreichen Projekt-Forum so dass sogar ich, wo ich bisher nur sehr einfache Aufgaben in der Arduino-IDE (mit deiner Hilfe) bewältigt habe. Mein Neffe wird sich sicher freuen :wink:

1 Like

Nochmal zusätzlich zum Verständnis:

Wenn die Konfiguration mit Drehencoder und drei Tasten genutzt wird muss in der settings.h und settings-lolin32.h nicht vorher etwas angepasst werden oder? Dort hatte ich bisher nichts verändert.

Das ist korrekt. In dieser Konfiguration ist ESPuino von mir eigentlich auch vorgesehen. Die Sache, dass man den Drehencoder auch deaktivieren kann und bis zu fünf Tasten benutzen kann, kam erst später rein.
Wenn du MQTT nicht brauchst dann solltest du das in der settings.h noch auskommentieren. Ansonsten dürften da keine Anpassungen zu machen sein.