Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
anleitungen:spezial:codevorlagen:schweisslicht [2020/10/08 13:45] – nessi | anleitungen:spezial:codevorlagen:schweisslicht [2020/10/09 16:48] – nessi | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
**Schweißlicht mit Sound** | **Schweißlicht mit Sound** | ||
+ | |||
+ | https:// | ||
Mit diesem Beispiel soll die Erzeugung eines schweißlichtähnlichen Lichteffekts mit einer RGB-LED und das zeitgleiche Abspielen der entsprechenden MP3-Sounddatei gezeigt werden. | Mit diesem Beispiel soll die Erzeugung eines schweißlichtähnlichen Lichteffekts mit einer RGB-LED und das zeitgleiche Abspielen der entsprechenden MP3-Sounddatei gezeigt werden. | ||
- | Der Sound liegt als MP3-Datei mit einer Dauer von ca. 3 Sekunden auf ein JQ6500 Modul vor. Details zum JQ6500 Modul im WIKI-Link. Entsprechend wird das Schweißlicht ebenfalls eine Dauer von ca. 3 Sekunden haben. Längere Sounddateien können über entsprechende MP3-Bearbeitungsprogramme gekürzt und an eigene Vorstellungen angepasst werden. Harte Schnitte sollten im Fall des Schweißgeräuschs kein Problem sein. | + | Der Sound liegt als MP3-Datei mit einer Dauer von ca. 3 Sekunden auf ein JQ6500 Modul vor. Details zum JQ6500 Modul im WIKI Link [[anleitungen: |
- | Zunächst den Pattern_Configurator öffnen und ein neues Blatt anlegen, die Einstellungen nicht übernehmen und einen Namen nach eigener Wahl vergeben, hier Welding_2. | + | Zunächst den Pattern_Configurator öffnen und ein neues Blatt anlegen, die Einstellungen nicht übernehmen und einen Namen nach eigener Wahl vergeben, hier Welding. |
{{ : | {{ : | ||
Zeile 10: | Zeile 12: | ||
In dem neuen Blatt sind im gelb unterlegten Teil die Einstellungen wie im folgenden Bild gezeigt vorzunehmen. | In dem neuen Blatt sind im gelb unterlegten Teil die Einstellungen wie im folgenden Bild gezeigt vorzunehmen. | ||
- | {{: | + | {{ : |
Anmerkungen dazu: | Anmerkungen dazu: | ||
* Ausgabekanäle 4: 3 x für die RGB-LED, der vierte für die Ansteuerung des Sound-Modules. Beim JQ6500-Modul wird der rote Kanal für den Sound gebraucht, gelb und blau sind herausgeführt und können für LEDs, natürlich auch weiße, genutzt werden. Das wird in diesem Beispiel im ProgGen auch so genutzt. | * Ausgabekanäle 4: 3 x für die RGB-LED, der vierte für die Ansteuerung des Sound-Modules. Beim JQ6500-Modul wird der rote Kanal für den Sound gebraucht, gelb und blau sind herausgeführt und können für LEDs, natürlich auch weiße, genutzt werden. Das wird in diesem Beispiel im ProgGen auch so genutzt. | ||
- | * Bits pro Wert 8: mit der 8 Bit Auflösung lassen sich die 256 Helligkeitsstufen darstellen. Für ein Schweißlicht mit harten Übergängen und wenigen Helligkeitsstufen würde eine geringere Auflösung zur Darstellung völlig ausreichen. Mit 4 Bit ergibt sich nach meiner Einschätzung keine wesentlicher Unterschied im erzeugten LED-Licht. Damit lassen | + | * Bits pro Wert 8: mit der 8 Bit Auflösung lassen sich die 256 Helligkeitsstufen darstellen. Für ein Schweißlicht mit harten Übergängen und wenigen Helligkeitsstufen würde eine geringere Auflösung zur Darstellung völlig ausreichen. Mit 4 Bit ergibt sich nach meiner Einschätzung keine wesentlicher Unterschied im erzeugten LED-Licht. Damit ließen |
- | * Analoges Überblenden: | + | * Analoges Überblenden: |
- | * Goto Aktivierung: | + | * Goto Aktivierung: |
* Grafische Anzeige: eine „1“ schaltet die grafische Anzeige in den Tabellen ein und erzeugt die „GOTO Tabelle“. | * Grafische Anzeige: eine „1“ schaltet die grafische Anzeige in den Tabellen ein und erzeugt die „GOTO Tabelle“. | ||
Nun können wir die Tabellen befüllen. | Nun können wir die Tabellen befüllen. | ||
- | + | {{ : | |
- | (Bild Pattern_Conf) | + | |
Die von mir eingetragenen Werte für die Zeiten und die Werte sind nur ein Beispiel und können natürlich nach eigenen Vorstellungen fast beliebig angepasst werden. | Die von mir eingetragenen Werte für die Zeiten und die Werte sind nur ein Beispiel und können natürlich nach eigenen Vorstellungen fast beliebig angepasst werden. | ||
Zeile 28: | Zeile 29: | ||
* In der untersten Tabelle für die Werteeingabe muss die Spalte Nr 1 leer bleiben, in der entsprechenden Spalte der Goto-Tabelle tragen wir ein „E“ als „GoEnd-Anweisung“ ein, die Funktion wartet auf ein Ausführungskommando, | * In der untersten Tabelle für die Werteeingabe muss die Spalte Nr 1 leer bleiben, in der entsprechenden Spalte der Goto-Tabelle tragen wir ein „E“ als „GoEnd-Anweisung“ ein, die Funktion wartet auf ein Ausführungskommando, | ||
* In der zweiten Spalte der Goto-Tabelle geben wir ein „S“ als Startspalte ein. Der Einsprung in der Programmausführung erfolgt mit der logischen „1“ = Tastendruck, | * In der zweiten Spalte der Goto-Tabelle geben wir ein „S“ als Startspalte ein. Der Einsprung in der Programmausführung erfolgt mit der logischen „1“ = Tastendruck, | ||
- | * In der vierten Spalte der Wertetabelle habe ich den Wert 70 eingegeben, da bei meinem Sound-Modul die entsprechende MP3-Datei über diesen Wert aufgerufen wird. Andere Werte können als Anhalt der folgenden Tabelle entnommen werden. | + | * In der vierten Spalte der Wertetabelle habe ich den Wert 65 eingegeben, da bei meinem Sound-Modul die entsprechende MP3-Datei über diesen Wert sicher |
- | + | ||
- | Anhaltswerte für den **JQ6500** | + | Anhaltswerte für den **JQ6500** |
* SOUND 5 Wert 37 | * SOUND 5 Wert 37 | ||
* SOUND 4 Wert 49 | * SOUND 4 Wert 49 | ||
Zeile 36: | Zeile 37: | ||
* SOUND 2 Wert 134 | * SOUND 2 Wert 134 | ||
* SOUND 1 Wert 255 | * SOUND 1 Wert 255 | ||
+ | Die Werte können wegen der Bauteiltoleranzen für jedes Sound-Modul unterschiedlich ausfallen und müssen evtl. durch Tests mit der Sound Test-Funktion im LED-Farbtest des GrogGen ermittelt werden. | ||
- | | + | {{ : |
- | * In der nächsten Spalte habe ich eine Pause von 400 ms eingefügt, da das Sound-Modul gegenüber der LED träge reagiert und etwas Zeit benötigt bis das gewünschte Geräusch zu hören ist. Der Sound wird nur einmal ausgelöst und läuft dann über 3 Sekunden ab. Ein Abbruch wäre nur über den Aufruf eines anderen Sounds bzw. eines „leeren“ Sounds möglich. | + | |
- | * In den folgenden Spalten sind Werte für die Ansteuerung der RGB-LED eingetragen. Die Werte können zwischen 0 und 255 liegen, x = Maximalwert. Zunächst ist das Licht etwas bläulich, zum Ende des Schweißvorgangs ist das das rötliche Nachglühen zu sehen. Der Umsetzung eigener Vorstellungen und Wünschen | + | Die Sound-Modul-Adresse einstellen, bei mir die " |
- | * Am Ende muss in die Goto-Spalte der Wert „E“ eingegeben werden. | + | |
+ | | ||
+ | * In den folgenden Spalten sind Werte für die Ansteuerung der RGB-LED eingetragen. Die Werte können zwischen 0 und 255 liegen, x = Maximalwert. Zunächst ist das Licht etwas bläulich, zum Ende des Schweißvorgangs ist das rötliche Nachglühen zu sehen. Der Umsetzung eigener Vorstellungen und Wünsche | ||
+ | * Am Ende muss in die Goto-Spalte der Wert „E“ | ||
* Sound und Licht können leicht über die Verlängerung der Brenndauer der LED synchronisiert werden. Hier muss man etwas experimentieren. | * Sound und Licht können leicht über die Verlängerung der Brenndauer der LED synchronisiert werden. Hier muss man etwas experimentieren. | ||
Nun können wir die Konfiguration mit einem Klick auf die entsprechende Taste an den Programm_Generator schicken. | Nun können wir die Konfiguration mit einem Klick auf die entsprechende Taste an den Programm_Generator schicken. | ||
- | |||
- | (Bild Prog_Gen_1) | + | Wir wollen jetzt das Programm __nicht__ direkt zum Arduino schicken und auch __nicht__ direkt zurück zum Pattern_Configurator zurückkehren. Also wie im Text aufgefordert nur eine Zeile im ProgGen anklicken, in die das Muster geschrieben werden soll. Im nächsten Fenster übernehmen wir den vorgegebenen Wert „0“, Standard LEDs. Nach der Bestätigung mit „OK“ sollte das Ergebnis wie in Zeile 47 aussehen: |
- | Wir wollen jetzt das Programm nicht direkt zum Arduino schicken und auch nicht direkt zurück zum Pattern_Configurator zurückkehren. Also wie im Text aufgefordert nur eine Zeile im ProgGen anklicken, in die das Muster geschrieben werden soll. Im nächsten Fenster übernehmen wir den vorgegebenen Wert „0“, Standard LEDs. Nach der Bestätigung mit „OK“ sollte das Ergebnis wie in Zeile 47 aussehen: | + | {{ :bilder: |
- | + | ||
- | (Bild Pg_Gen_3) | + | |
Nach der Eingabe einer Adresse und Auswahl eines Tasters können wir unser Ergebnis wie gewohnt zum Arduino schicken und testen. | Nach der Eingabe einer Adresse und Auswahl eines Tasters können wir unser Ergebnis wie gewohnt zum Arduino schicken und testen. | ||
- | (Bild Prog_Gen_4) | + | ---- |
Mit jedem Aufruf wird die Funktion einmal ausgeführt. | Mit jedem Aufruf wird die Funktion einmal ausgeführt. | ||
- | Ich habe die Funktion noch mit der Random-Funktion verknüpft, die über einen Ein/ | + | Ich habe die Funktion noch mit der Random-Funktion verknüpft, die über einen Ein/ |
- | (Bild Prog_Gen_5) | + | {{ : |
In der Random-Funktion habe ich folgende Werte eingegebe: | In der Random-Funktion habe ich folgende Werte eingegebe: | ||
- | (Bild Pro_Gen_5_random) | + | {{ : |
Über die Zielvariable WL1 wird unsere Schweißlichtfunktion aufgerufen. | Über die Zielvariable WL1 wird unsere Schweißlichtfunktion aufgerufen. | ||
- | In meinem Beispiel kann über die DCC-Befehle 50 bis 56 weiterhin das JQ6500-Modul wie gewohnt gesteuert werden. Dazu muss über dir NEXT_LED-Funktion der Sprung zur nächsten LED in der Kette rückgängig gemacht werden – NEXT_LED -1! | ||
- | Wie anfangs erwähnt können die beiden verbleibenden Ausgänge auf dem Sound-Modul für LEDs, zum Beispiel Außenbeleuchtung des Lokschuppens, | ||
+ | In meinem Beispiel kann über die DCC-Befehle 50 bis 56 weiterhin das JQ6500-Modul wie gewohnt gesteuert werden. Dazu muss über die NEXT_LED-Funktion der Sprung zur nächsten LED in der Kette rückgängig gemacht werden – NEXT_LED **-1**! | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Wie anfangs erwähnt können die beiden verbleibenden Ausgänge auf dem Sound-Modul für LEDs, zum Beispiel die Außenbeleuchtung des Lokschuppens, | ||
+ | {{ : | ||