Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
anleitungen:bauanleitungen:locoturn_v10:150_locoturn_jq6500 [2023/06/06 12:17] – domapi | anleitungen:bauanleitungen:locoturn_v10:150_locoturn_jq6500 [2025/03/15 09:44] (aktuell) – [Speicherung der Soundfiles] domapi | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Soundmodule ====== | ====== Soundmodule ====== | ||
- | Je nach Softwareversion werden nur das **JQ6500**-Soundmodul (LocoTurn **V1.0**) oder das **JQ6500**-Soundmodul und der **DFPlayer** unterstützt (LocoTurn **V1.1**).\\ | + | Je nach Softwareversion werden nur das **JQ6500**-Soundmodul (LocoTurn **V1.0**) oder das **JQ6500**-Soundmodul und der **DFPlayer** unterstützt (ab LocoTurn **V1.1**). |
- | \\ | + | |
+ | Die Lautstärke kann über das Menü oder über DCC-Befehle eingestellt werden. Der Wert der Laustärke (0 - 30) wird im EEPROM des Nano gespeichert und beim nächsten Einschalten von LocoTurn wieder geladen. Weiterhin kann der Sound generell über das Menü aktiviert/ | ||
Hier die beiden Module, links der DF-Player und rechts das JQ6500: | Hier die beiden Module, links der DF-Player und rechts das JQ6500: | ||
Zeile 36: | Zeile 37: | ||
==== Soundfiles auf dem JQ6500 ==== | ==== Soundfiles auf dem JQ6500 ==== | ||
Für Drehscheibenbewegungen sollten 3 Soundfiles auf dem JQ6500 abgespeichert werden, aktuell werden davon nur 1 und 3 genutzt: | Für Drehscheibenbewegungen sollten 3 Soundfiles auf dem JQ6500 abgespeichert werden, aktuell werden davon nur 1 und 3 genutzt: | ||
- | * Sound 1 (= file 1) --> gesampeltes File bestehend aus Hupen, Anfahren und Fahren. Je nach Drehgeschwindigkeit muss der Fahrsound mehrfach hintereinander ins File kopiert werden (z.B. mit dem Programm // | + | * Sound 1 (= file 1) --> gesampeltes File bestehend aus Hupen, Anfahren und Fahren. Je nach Drehgeschwindigkeit |
* Sound 2 (= file 2) --> Abbremsen und Stopp (aktuell nicht im Einsatz, da Pause zwischen den sounds zu lange!) | * Sound 2 (= file 2) --> Abbremsen und Stopp (aktuell nicht im Einsatz, da Pause zwischen den sounds zu lange!) | ||
* Sound 3 (= file 3) | * Sound 3 (= file 3) | ||
- | | + | Folgende #defines sind wichtig: |
- | #define SOUND1_FILENR | + | |
- | #define SOUND2_FILENR | + | < |
- | + | #define SOUND1_FILENR | |
+ | #define SOUND2_FILENR | ||
+ | </ | ||
Es können bei Bedarf noch weitere Sounds auf das JQ6500 gespielt werden, diese lassen sich dann über DCC-Befehle abspielen. Die Auswahl erfolgt über die #defines: | Es können bei Bedarf noch weitere Sounds auf das JQ6500 gespielt werden, diese lassen sich dann über DCC-Befehle abspielen. Die Auswahl erfolgt über die #defines: | ||
< | < | ||
- | #define DCC_SOUNDFILE_1 | + | #define DCC_SOUNDFILE_1 |
- | #define DCC_SOUNDFILE_2 | + | #define DCC_SOUNDFILE_2 |
- | #define DCC_SOUNDFILE_3 | + | #define DCC_SOUNDFILE_3 |
- | #define DCC_SOUNDFILE_4 | + | #define DCC_SOUNDFILE_4 |
- | #define DCC_SOUNDFILE_5 | + | #define DCC_SOUNDFILE_5 |
- | #define DCC_SOUNDFILE_6 | + | #define DCC_SOUNDFILE_6 |
</ | </ | ||
Zeile 60: | Zeile 63: | ||
- | ===== Sketch-Version V1.1 ===== | + | ===== Sketch-Version |
- | Die Version | + | Die Versionen |
Zeile 67: | Zeile 70: | ||
< | < | ||
- | #define DFPLAYER | + | #define DFPLAYER |
- | #define JQ6500 | + | #define JQ6500 |
- | #define USE_SOUNDMODULE | + | #define USE_SOUNDMODULE |
</ | </ | ||
Zeile 79: | Zeile 82: | ||
Allerdings sind die DFPlayer etwas heikel: Es gibt verschiedene Versionen mit unterschiedlichem Chipsatz, die auch noch verschiedene Firmware-Versionen aufgespielt haben. Ich habe nicht alle Kombinationen getestet, daher kann es sein, dass das euer eingebautes Modul nicht mit dem Sketch funktioniert! Da hilft nur ausprobieren; | Allerdings sind die DFPlayer etwas heikel: Es gibt verschiedene Versionen mit unterschiedlichem Chipsatz, die auch noch verschiedene Firmware-Versionen aufgespielt haben. Ich habe nicht alle Kombinationen getestet, daher kann es sein, dass das euer eingebautes Modul nicht mit dem Sketch funktioniert! Da hilft nur ausprobieren; | ||
- | ==== Notwendiger Workaround für Verwendung des DFPlayers ==== | ||
- | Bei der aktuellen roten Platine muss man den DFPlayer mit einem Workaround anschließen, | ||
- | | + | ---- |
+ | |||
+ | |||
+ | ===== Auswahl des Soundmoduls auf der Platine ===== | ||
+ | Je nach Platinenversion muss das verwendete Soundmodul entweder über einen Lötjumper oder einen Workaround ausgewählt werden. | ||
+ | |||
+ | ==== Lötjumper (Platine V1.1) ==== | ||
+ | Ab Platinenversion V1.1 gibt es einen 3-fach Jumper JP17 " | ||
+ | |||
+ | {{ : | ||
+ | ==== Notwendiger Workaround für Verwendung des DFPlayers (Platine V1.0) ==== | ||
+ | Die Platine V1.0 unterstützt standardmäßig nur das JQ6500-Modul. Daher muss mann bei der Platine V1.0 den DFPlayer mit einem Workaround anschließen, | ||
+ | |||
+ | | ||
- Weiterhin ist ein separater 1k-Widerstand zur Verbindung des SoftwareSerial TX Pins (D12) des Nanos und des RX-Pins von DFPlayer erforderlich. Diesen lötet man am besten auf der Rückseite auf (Vorsicht, dass dabei kein Kurzschluss entsteht!) | - Weiterhin ist ein separater 1k-Widerstand zur Verbindung des SoftwareSerial TX Pins (D12) des Nanos und des RX-Pins von DFPlayer erforderlich. Diesen lötet man am besten auf der Rückseite auf (Vorsicht, dass dabei kein Kurzschluss entsteht!) | ||
Zeile 113: | Zeile 127: | ||
Für Drehscheibenbewegungen sollten 3 Soundfiles auf dem Soundmodul abgespeichert werden, aktuell werden davon nur 1 und 3 genutzt: | Für Drehscheibenbewegungen sollten 3 Soundfiles auf dem Soundmodul abgespeichert werden, aktuell werden davon nur 1 und 3 genutzt: | ||
- | * Sound 1 (= file 1) --> gesampeltes File bestehend aus Hupen, Anfahren und Fahren. Je nach Drehgeschwindigkeit muss der Fahrsound mehrfach hintereinander ins File kopiert werden (z.B. mit dem Programm // | + | * Sound 1 (= file 1) --> gesampeltes File bestehend aus Hupen, Anfahren und Fahren. Je nach Drehgeschwindigkeit muss der Fahrsound mehrfach hintereinander ins File kopiert werden (z.B. mit dem Programm // |
* Sound 2 (= file 2) --> Abbremsen und Stopp (aktuell nicht im Einsatz, da Pause zwischen den Sounds zu lange!) | * Sound 2 (= file 2) --> Abbremsen und Stopp (aktuell nicht im Einsatz, da Pause zwischen den Sounds zu lange!) | ||
* Sound 3 (= file 3) | * Sound 3 (= file 3) | ||
- | | + | Folgende #defines sind wichtig: |
- | #define SOUND1_FILENR | + | < |
- | #define SOUND2_FILENR | + | #define SOUND1_FILENR |
- | + | #define SOUND2_FILENR | |
+ | </ | ||
+ | |||
Es können bei Bedarf noch weitere Sounds auf den DFPlayer gespielt werden, diese lassen sich dann über DCC-Befehle abspielen. | Es können bei Bedarf noch weitere Sounds auf den DFPlayer gespielt werden, diese lassen sich dann über DCC-Befehle abspielen. | ||
Zeile 126: | Zeile 142: | ||
==== Advanced Sound-Version ==== | ==== Advanced Sound-Version ==== | ||
- | Für die advanced Version benötigt man mehrere Soundfiles und zwar je ein File für jede Fahrmöglichkeit zwischen Start- und Zielport. Aufgrund der benötigten Datenmenge bei annehmbaren Sampling-Raten ist diese Version nur mit DFPlayer sinnvoll zu nutzen! | + | Für die advanced Version benötigt man mehrere Soundfiles und zwar je ein File für jede Fahrmöglichkeit zwischen Start- und Zielport. Aufgrund der benötigten Datenmenge bei annehmbaren Sampling-Raten ist diese Version nur mit dem DFPlayer |
=== Wieviele Soundfiles braucht man? === | === Wieviele Soundfiles braucht man? === | ||
Üblicherweise liegen die Ports einer Drehscheibe in einem bestimmten Raster. Die folgenden Ausführungen beziehen sich auf eine Fleischmann-Drehscheibe. Diese besitzt maximal 48 Gleisabgänge, | Üblicherweise liegen die Ports einer Drehscheibe in einem bestimmten Raster. Die folgenden Ausführungen beziehen sich auf eine Fleischmann-Drehscheibe. Diese besitzt maximal 48 Gleisabgänge, | ||
Zeile 156: | Zeile 172: | ||
Die Drehscheibe wählt bei LocoTurn immer den kürzesten Weg zum Zielport. Daher dreht sich die Bühne maximal um 180°, also eine halbe Umdrehung. Es reicht daher aus, 24 fahrtdauerabhängige Sounds zu definieren, um alle Fahrtmöglichkeiten abzudecken. | Die Drehscheibe wählt bei LocoTurn immer den kürzesten Weg zum Zielport. Daher dreht sich die Bühne maximal um 180°, also eine halbe Umdrehung. Es reicht daher aus, 24 fahrtdauerabhängige Sounds zu definieren, um alle Fahrtmöglichkeiten abzudecken. | ||
- | Als Maximalausprägung braucht man bei einer Fleischmann-Drehscheibe folglich 24 fahrtdauerabhängige Sounds plus die 3 Standard-Soundfiles, um alles abzudecken. Wer also zu faul ist zu zählen, welche Kombinationen auf der Drehscheibe überhaupt auftreten, ist mit 24 Sounds auf der sicheren Seite. | + | Als Maximalausprägung braucht man bei einer Fleischmann-Drehscheibe |
+ | |||
+ | Bei der kleinen Fleischmann-Drehscheibe mit 24 Gleisabschlüssen braucht man 12 + 3 = 15 Sounds. | ||
Folgende Sounds werden benötigt: | Folgende Sounds werden benötigt: | ||
Zeile 213: | Zeile 231: | ||
=== Dauer der Soundfiles | === Dauer der Soundfiles | ||
- | Dann muss man auf der realen Drehscheibe | + | Dann misst man auf der realen Drehscheibe, |
Ändert man später im Betrieb die Geschwindigkeit (z.B. über der seriellen Monitor oder DCC-Kommandos), | Ändert man später im Betrieb die Geschwindigkeit (z.B. über der seriellen Monitor oder DCC-Kommandos), | ||
- | Zur Messung der Fahrtdauern kann man im Turntable_config.h das **#define FAHRTDAUER_MESSEN** aktivieren, um die Dauer im seriellen Monitor ausgeben zu lassen. \\ | + | Zur Messung der echten reinen |
- | \\ | + | |
- | Anschließend speichert man die Werte am besten in einem Excel und kann dann recht einfach berechnen, welche Soundanteile erforderlich sind, um eine bestimmte Fahrtdauer abzudecken. \\ | + | #define USE_DCC |
+ | #define USE_SERIAL_INPUT | ||
+ | #define ENABLE_DPRINTF | ||
+ | #define FAHRTDAUER_MESSEN | ||
+ | |||
+ | Anschließend speichert man die Mess-Werte am besten in einem Excel und kann dann recht einfach berechnen, welche Soundanteile erforderlich sind, um eine bestimmte Fahrtdauer abzudecken. \\ | ||
\\ | \\ | ||
- | Da es nicht auf die ms ankommt, werden die Dauern gerundet. Das reine Fahren sollte einen linearen Verlauf haben und proportional zur Anzahl fahrender Drehscheiben-Raster sein. | + | Da es nicht auf die ms ankommt, werden die Dauern |
Bei mir dauern die einzelnen Soundbestandteile z.B.: | Bei mir dauern die einzelnen Soundbestandteile z.B.: | ||
{{ : | {{ : | ||
+ | |||
+ | Der Sound für das Abbremsen dauert im Beispiel 2770 ms und das Hupen zusätzlich 2000 ms, macht rechts die 4770 ms. | ||
{{ : | {{ : | ||
Zeile 231: | Zeile 256: | ||
Das Excel-File steht hier zur Verfügung: {{ : | Das Excel-File steht hier zur Verfügung: {{ : | ||
- | Aus dem langen Maximal-File nimmt man dann den jeweiligen Anteil in ms (im Excel Spalte „Länge ab Start“), kopiert ihn in ein neues Audacity file und fügt am Ende den Bremsen | + | Ihr müsst natürlich eure Soundlängen und Werte ins Excel eintragen, damit es zu eurer Drehgeschwindigkeit und Anfahr- und Bremsrampe, der Länge des Sounds für Hupen, Anfahren und Bremsen etc. passt. |
- | Dann noch als mp3 File abspeichern, | + | |
- | Das ganze macht man nun noch 23 Mal, bis man alle Möglichkeiten abgedeckt hat. | + | Aus dem langen Maximal-File |
Hier als Beispiel das Soundfile, um 5 Ports weit zu fahren (also 5 x 7,5°): | Hier als Beispiel das Soundfile, um 5 Ports weit zu fahren (also 5 x 7,5°): | ||
{{ : | {{ : | ||
+ | |||
+ | Das **#define DELAY_TURN_START_SOUND** verzögert die DS-Bewegung bis zum Zeitpunkt, an dem das reine Fahrgeräusch beginnt. In meinem Beispiel sind das 7400 ms; bei Verwendung eines DFPlayers muss man ca. 300 ms dazu addieren, da dieses Soundmodul verzögert über softwareserial startet. In Summe habe ich daher das #define auf 7700 gesetzt. Auch hier müsst ihr eure Werte verwenden. | ||
+ | |||
=== Speicherung der Soundfiles === | === Speicherung der Soundfiles === | ||
Die Dateien speichert man auf einer SD-Karte in einem Verzeichnis " | Die Dateien speichert man auf einer SD-Karte in einem Verzeichnis " | ||
- | |||
Die Dateien werden durchnummeriert, | Die Dateien werden durchnummeriert, | ||
{{ : | {{ : | ||
+ | |||
+ | Lars hat hier für seine Drehscheibe seine Vorgehensweise zur Erstellung der advanced Sounds beschrieben: | ||
+ | |||
+ | {{ : | ||
Es können bei Bedarf noch weitere Sounds auf den DFPlayer gespielt werden, diese lassen sich dann über DCC-Befehle abspielen. Die Auswahl erfolgt über die #defines: | Es können bei Bedarf noch weitere Sounds auf den DFPlayer gespielt werden, diese lassen sich dann über DCC-Befehle abspielen. Die Auswahl erfolgt über die #defines: | ||
< | < | ||
- | #define DCC_SOUNDFILE_1 | + | #define DCC_SOUNDFILE_1 |
- | #define DCC_SOUNDFILE_2 | + | #define DCC_SOUNDFILE_2 |
- | #define DCC_SOUNDFILE_3 | + | #define DCC_SOUNDFILE_3 |
- | #define DCC_SOUNDFILE_4 | + | #define DCC_SOUNDFILE_4 |
- | #define DCC_SOUNDFILE_5 | + | #define DCC_SOUNDFILE_5 |
- | #define DCC_SOUNDFILE_6 | + | #define DCC_SOUNDFILE_6 |
</ | </ | ||