Zitat von Hardi im Beitrag #6835
Hallo Zusammen,
wer beim letzten Stammtisch dabei war, hat schon gesehen, dass wir wieder viele Verbesserungen in die MobaLedLib eingebaut haben.
=> Es lohnt sich, wenn man dabei ist...
1. Direkte Ansteuerung von Soundmodulen über die Hauptplatine
Mit einer tollen Erweiterung von Jürgen kann man bis zu acht JQ6500 Soundmodule (und bald auch MP3-TF-16P Module) direkt an die Hauptplatine anschließen. Dafür benötigt man keinen winzigen WS2811 und auch keinen umständlich zu programmierenden ATTiny. Die Sound-Module werden einfach an den KEY_80 Stecker der Hauptplatine angesteckt. Man benötigt lediglich eine 1K Widerstand.
Damit können so viele Sound-Dateien abgerufen werden, wie auf das Modul passen.
Jürgen zeigt das in diesem Video:
https://www.dropbox.com/s/vn5yfi10qcwul9...latine.mp4?dl=1
Hallo Zusammen,zuerst mal
Danke Hardi für die neue Version, die Makroselektion ist wirklich sehr toll gelungen!
bitte lasst mich noch ein paar Worte zur Anbindung der Soundmodule an die Hauptplatine verlieren.
Für mein Projekt Discowagen möchte ich (aus Platzgründen) ein Soundmodul direkt an die Hautplatine anschließen, und über eine serielle Leitung steuern. Aus selben Platzgründen ist die „Hautplatine“ hier ein ESP32 ohne Dev-Board, der empfängt dann DCC und steuert Leds und Sound.
Und damit es für alle MLL User möglich wird, diese Feature zu nutzen, habe ich die Erweiterungen auch in den ProgGenerator und die MLL eingebaut.
Ziel:
- Möglichst viele Soundmodule vom Type JQ6500/ MP3-TF-16P an freie Pins der Hautplatine anschließen, z.B. am Key80 Stecker oder KEYBRD(1) Stecker.
- Jedes Soundmodul benötigt nur einen Pin
- Neue Makros zur Definition der Sound-Pins
- Funktioniert mit Arduino Nano und ESP32
- Ist das Feature nicht in Verwendung wird die Library nicht oder minimal größer
- Die SoftSerial Klasse braucht viel Speicher, insbesondere wegen der Empfangsfunktionen – ich habe eine eigene, kleine Version entwickelt, welche nur Senden kann (SoftSerialTX)
- Kein Verzögern der MLL Main-Loop beim seriellen Senden, um Flackern bzw. sichtbare Stufen beim Faden zu vermeiden. Pro Loop wird nur ein Sound-Kommando gesendet
und wie geht das nun?
Jedes Sound Modul wird mit drei Leitungen angeschlossen, GND, 5V und Rx. GND wird mit GND der Hautplatine verbunden, Rx über eine 1 kOhm Widerstand mit einem freien Hauptplatinen Pin und 5V mit einer stabilen Stromversorgung. Da der Verstärker des Soundmoduls einen hohen Einschaltstrom hat dient ein Elektrolykondensator mit 470uF und 6,3V (oder höher) als Puffer. Dieser kann z.B. an das Soundmodul gelötet werden.
So sieht das dann mit sechs Soundmodulen aus
Bild entfernt (keine Rechte)
Im ProgGenerator gibt es neue Makros für den Hautplatinen Sound
Bild entfernt (keine Rechte)
zuerst werden die Sound-Pins und Module definiert, bis zu acht sind möglich
Bild entfernt (keine Rechte)
obiges Makro bedeutet, es gibt nun ein Soundmodul vom Type JQ6500, welches an Pin1 des Key80 Steckers angeschlossen ist.
Hast du mehr Module wird dieses Makro mehrmals verwendet.
Für obiges Beispiel mit den sechs Modulen sieht das dann so aus. In der Spalte Start-Led sieht man den jeweiligen Sound Kanal S0 bis S5.
Bild entfernt (keine Rechte)
Für jedes Sound-Modul können nun die gewünschten Kommandos definiert werden
Bild entfernt (keine Rechte)
Schon sind wir fertig. Anbei der Export dieser Beispielkonfiguration für alle sechs Module (Hauptplatine Sound 6x.zip)
Diese Erweiterung ist ab der aktuellen Beta verfügbar.
Viel Spaß damit und danke für euer Feedback!
Grüße,
Jürgen....
P.S.: Die Unterstützung der MP3-TF-16P Module ist in Arbeit. Hier warte ich auf eine Lieferung aus China, da ich selbst nur JQ6500 verwendet und somit jene Module nicht zum Testen hier habe. Die MP3-TF-16P Module gibt es mit mindestens vier verschiedenen Chips, die sich alle etwas anders verhalten und einzeln getestet werden müssen.