TonUINO auf dem Esp32 Nano

Ja, und du hast noch nicht geantwortet, ob du auch NEO_RING_2 ausgewählt hattest. Das geht nämlich nicht zusammen mit SW Serial.

@HaSch Welche Version der Trägerplatine hast du denn?

Die Version 4.0, die mit dem Designfehler (den ich durch eine Lötbrücke korrigiert habe).

Sorry,
die Versuche habe ich ausschließlich mit NEO_RING gemacht, sogar noch NEO_RING_EXT weggelassen.
NEO_RING_2 hatte ich überhaupt noch nicht in Betrieb.

Also das alleinige Zuschalten von NEO_RING stört schon die Kommunikation mit dem DF-Player.

Nachdem ich nun auf HW-Serial umgebaut habe, funktioniert die Firmware einwandfrei, allerdings der NEO_Ring tut nichts (genau, wie bei Dir).

Da bei mir ein Problem zwischen SW-Serial und HW-Serial auftrat, habe ich nach dem Umbau die unterschiedlichen Pins vermessen und:
(auch @Boerge1 )
Der NEO_RING wird über D2 (nicht D5, wie in der Constants.hpp angegeben) angesteuert und funktioniert an D2 (ohne Levelshifter) wie gewohnt.

@NoBl D2: Scheint eine ältere Version der Trägeplatine zu sein (ohne BT). Bei Trägerplatine 4.0 ist BT auf D2/D3 gelegt und Neo auf D5 (wie bei mir).

Habe keine Trägerplatine sondern mein Versuchsaufbau ist nach Schaltplan auf einem Breadboard gesteckt. Also definitiv D2 am Arduino.
In der constants.hpp ist auch nur TonUINO_ESP32 100 ausgewählt, kein Classic oder sonstiges.

@Boerge1 @Thomas-Lehnert @NoBl
Heureka! Mir kam gerade die Erleuchtung: Es gibt beim Nano ESP32 zwei unterschiedliche Nummerierungen der PINs, die Nano und die ESP32 Nummerierung. D5 ist Nano Nummerierung, in der ESP32 Nummerierung ist das GPIO08. In der Arduino IDE kann man vor dem Kompilieren wählen, welche Nummerierung genutzt werden soll, für das Funktionieren des Neo-Rings muss es mit der letzten Version von Boerges FW die mit den GPIO Nummern sein. Ich habe das gemacht und schon leuchtet es!!!

Ergänzung: BT geht auch mit der GPIO Nummerierung.
Lieber Boerge, bitte ändere das doch entsprechend in deiner Firmware damit nicht noch Andere in dieselbe Falle tappen.

3 „Gefällt mir“

Das war der entscheidende Tipp :+1: :+1:

Nach Umstellung auf GPIO Nummern funktioniert nun alles.

Zur Info:
Zuvor noch mit Nano Nummerierung wurden bei mir durch NEO_RING_2 die Tasten quasi abgeschaltet, Bedienung über das Webinterface aber weiterhin möglich.

Ich werde später nochmal auf SW-Serial zurück bauen und testen, ob ev. die beschriebenen Fehler auch mit der GPIO Nummerierung erledigt sind.

EDIT (@Boerge1 , @Thomas-Lehnert ):
Wieder zurück auf SW-Serial, aber mit GPIO Nummerierung:

  • Die Firmware ohne NEO_RING läuft unverändert gut.
  • Nach Zuschaltung von NEO_RING und NEO_RING_EXT läuft die Firmware ebenfalls ohne Auffälligkeiten, Kommunikation mit DF-Player bleibt erhalten und der NEO Ring wird ordentlich angesteuert!

Also tatsächlich allein durch die andere Nummerierung verursacht.
An dieser Stelle ein Extrapunkt für @HaSch :star:

Die Einstellung in der Arduino IDE erfolgt so:

1 „Gefällt mir“

Die Firmware werde ich nicht ändern, aber im Readme wird es einen Hinweis geben, dass man bei der Arduino IDE unter Tools - - > Pin numbering unbedingt By GPIO number (legacy) einstellen muss. Sorry, dass ich das noch nicht gemacht hatte.
Hier zeigt sich wieder der Vorteil von PlatformIo, da ist sowas alles schon richtig eingestellt.

2 „Gefällt mir“

@Boerge1 Nur um es zu verstehen: wieso funktioniert z.B. BT mit der anderen Nummerierung, Neo aber nicht?

Die Pinumnumerierung beim Esp32 wurde schon sehr oft kritisiert und keiner blickt da noch durch. Z.B. Müssen die Core Komponenten mit anderen Defines compiliert werden als die die Bibliotheken und Anwendersoftware, damit die Umnumerierung der Pins nicht mehrmals passiert. Um dem aus dem Weg zu gehen wird empfohlen, diese Umnumerierung auszuschalten (also By GPIO number (legacy) zu verwenden). Das impliziert dann aber, dass man für D5 nicht mehr 5 schreiben darf. Daraufhin hatte ich die Datei constants.hpp schon angepasst.
Hier konkret geht es wohl immer nicht, wenn man eine Bibliothek verwendet. Also, BT geht (ohne zusätzliche Bibliothek) und NeoPixel geht nicht (zusätzliche Bibliothek).

1 „Gefällt mir“

Der Hinweis mit dem Pin Numbering ist jetzt im Readme.

Sind damit jetzt alle Probleme behoben?

2 „Gefällt mir“

Bei mir ja. Ich habe aber bisher nur die Hardware damit getestet, noch nicht die eigentliche Software.

Mir war noch bei der Jukebox eine Diskrepanz zwischen Bedienung über Tasten / Karten und das Webinterface aufgefallen:

  • Mit Tasten + Karten funktioniert die Jukebox, wie erwartet.
  • Bei Steuerung über das Webinterface - also das Auflegen einer Einzel-Karte simuliert - wird die Karte zwar erkannt, aber nach der advert Ansage der Playlist-Position schaltet der TonUINO in den Pause-Status.
    Pause Taste drücken führt zu erneuter Ansage der Playist-Position und einem Sprung zum nächsten Titel, mit dem dann die Wiedergabe fortgesetzt wird.

Das ganze mit einem GD3200B im DF-Player. (andere Player habe ich noch nicht darauf getestet). In allen anderen Betriebsarten macht der Player allerdings keine Probleme.

Ah, ich ahne, was das ist. Ich habe ja gerade eingeführt, dass beim Webinterface geprüft wird, ob die Anzahl der Tracks im Folder ausreicht. Das darf natürlich nicht gemacht werden, wenn gerade ein Track läuft und der auch weiterhin laufen soll.
Ich schau mir das nachher mal an.

2 „Gefällt mir“

Ist gefixt. Den Check der Anzahl der Tracks im Folder musste ich für den Jukebox Mode entfernen, geht leider nicht anders.
Habe auch noch einen anderen Bug gefunden und gefixt: In der WIFI Konfiguration konnte man keine SSID aus den gefunden WLANs auswählen, die dann in das entsprechende Feld eingetragen wird.

1 „Gefällt mir“

Hallo ihr oberbastler🙂
Ich bin bald besitzer zweier ESP32-S3 Nano und habe eine Frage an euch!
WelchesBoard benutz ihr und wo ist es zu beziehen?
Danke für eure Antworten
Opa Dodo

So ganz rund läuft es noch nicht.
Nach dem Booten kommt der ganz normale Start-Pling.
Nach Auflegen einer Karte kommt zunächst DF-Player Error 3, dann beginnt die Wiedergabe ganz normal, nur dass die Lautstärke auf Null ist. Ein Tastendruck zur Lautstärkeänderung setzt die Lautstärke auf den programmierten Anfangswert und die Musik ist hörbar.

Auflegen der nächsten Karte, Ansage der Playlist-Position und wieder Error 3 und stumm.
Jetzt geht der Tonuino aber bei Lautstärkeänderung in Idle.

Geflasht auf vorherige Version und alles läuft wieder normal.

So; - ich habe es mit den Arduino Nano ESP32 ern hinbekommen (Geladen über VSC // PlatformIO).
Tolle Sache! Danke an die Experten.

Hinweis:
Irgendwie scheint der Neopixelring farblich nicht richtig zu reagieren. Könnte man das auch noch hinbekommen?

Also die LEDs leuchten, aber bei Lautstärkeanpassungen z.B. reagiert er nur beim ersten Mal; - allerdings unkontrolliert mit anderen Farben als sonst. Danach geht farblich überhaupt keine Änderung mehr. Wie eingefroren.

Danke.

Nachtrag:

  • geladene Version vom 06.06.2025, ich meine 3.3.0
  • getestet mit
    a.) 2 verschiedenen Arduino Nano ESP32 und
    b.) 2 unterschiedliche Platinen - Versionen; - eine mit der Classic Platine und eine andere selbst gelötete Platine