LoRa DMX Sender Fehler Meldung

Hallo liebes Forum,
Ich möchte über LoRa DMX Daten Senden um später Pyrotechnik zu starten(Aber jetzt erstmal LEDs).
Ich benutze einen Arduino Uno mit einem LoRa-shield und einem DMX-shield.
Ich kann aber in meinem Sketch keine Serielle Verbindung aufbauen (z.B. Serial.begin(9600) ).
Sobald ich keine Serielle Verbindung nutze geht der Code einwandfrei.
Woran kann das Liegen?
Dann kommt immer Diese Fehlermeldung:
```
**Arduino: 1.8.12 (Mac OS X), Board: “Arduino Uno”

In file included from /Users/tomdj/Documents/Arduino/Arduino_LoRa_DMX_Z_nder/Arduino_LoRa_DMX_Z_nder.ino:21:0:
/Users/tomdj/Documents/Arduino/Arduino_LoRa_DMX_Z_nder/Arduino_LoRa_DMX_Z_nder.ino: In function ‘void loop()’:
/Users/tomdj/Desktop/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/Arduino.h:40:14: error: lvalue required as left operand of assignment
#define HIGH 0x1
             ^
/Users/tomdj/Documents/Arduino/Arduino_LoRa_DMX_Z_nder/Arduino_LoRa_DMX_Z_nder.ino:91:27: note: in expansion of macro ‘HIGH’
   if(DMXSerial.read(1) = HIGH) {
                          ^~~~
exit status 1
Fehler beim Kompilieren für das Board Arduino Uno.

Dieser Bericht wäre detaillierter, wenn die Option
“Ausführliche Ausgabe während der Kompilierung”
in Datei → Voreinstellungen aktiviert wäre.**
** **Und hier der Sketch:** **
**// - - - - -
// DmxSerial - A hardware supported interface to DMX.
// DmxSerialRecv.ino: Sample DMX application for retrieving 3 DMX values:
// address 1 (red) → PWM Port 9
// address 2 (green) → PWM Port 6
// address 3 (blue) → PWM Port 5
//
// Copyright (c) 2011-2015 by Matthias Hertel, http://www.mathertel.de
// This work is licensed under a BSD style license. See Software License Agreement (BSD License)
//
// Documentation and samples are available at http://www.mathertel.de/Arduino
// 25.07.2011 creation of the DmxSerial library.
// 10.09.2011 fully control the serial hardware register
//            without using the Arduino Serial (HardwareSerial) class to avoid ISR implementation conflicts.
// 01.12.2011 include file and extension changed to work with the Arduino 1.0 environment
// 28.12.2011 changed to channels 1…3 (RGB) for compatibility with the DmxSerialSend sample.
// 10.05.2012 added some lines to loop to show how to fall back to a default color when no data was received since some time.
// - - - - -

#include <DMXSerial.h>
#include <Arduino.h>
#include <SPI.h>
#include <LoRa.h>

// Constants for demo program

const int RedPin =    9;  // PWM output pin for Red Light.
const int GreenPin =  6;  // PWM output pin for Green Light.
const int BluePin =   5;  // PWM output pin for Blue Light.

#define RedDefaultLevel   100
#define GreenDefaultLevel 200
#define BlueDefaultLevel  255

int ID = 79;

void setup () {
Serial.begin(9600);
 while (!Serial);

Serial.println(“LoRa Sender”);

if (!LoRa.begin(868E6)) {
   Serial.println(“Starting LoRa failed!”);
   while (1);
 }

DMXSerial.init(DMXReceiver);
 
 // set some default values
 DMXSerial.write(1, 80);
 DMXSerial.write(2, 0);
 DMXSerial.write(3, 0);
 
 // enable pwm outputs
 pinMode(RedPin,   OUTPUT); // sets the digital pin as output
 pinMode(GreenPin, OUTPUT);
 pinMode(BluePin,  OUTPUT);
}

void loop() {
 // Calculate how long no data backet was received
 unsigned long lastPacket = DMXSerial.noDataSince();
 
 if (lastPacket < 5000) {
   // read recent DMX values and set pwm levels
   analogWrite(RedPin,   DMXSerial.read(1));
   analogWrite(GreenPin, DMXSerial.read(2));
   analogWrite(BluePin,  DMXSerial.read(3));

} else {
   // Show pure red color, when no data was received since 5 seconds or more.
   analogWrite(RedPin,   RedDefaultLevel);
   analogWrite(GreenPin, GreenDefaultLevel);
   analogWrite(BluePin,  BlueDefaultLevel);
 } // if

Serial.print("");

LoRa.beginPacket();
   LoRa.print(“DMX Sender”);
   
  if(DMXSerial.read(1) = HIGH) {
   LoRa.print(ID);
   LoRa.print(“Nummer 1 ist AN”);    
  }

LoRa.endPacket();

}

// End.**
```

Wäre cool wenn jemand helfen kann!

Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Das kannst Du auch noch nachträglich ändern.

PS: Unnütze Leerzeilen erhöhen nicht den Lesefluss… (bitte entfernen)

Hi

Gibt's den Sketch auch ohne [ i ] ?
Nicht, daß mir eine kursive Darstellung nicht gefallen könnte, dem Kompiler gefällt Sie aber gar nicht (und nein, ICH werden Die nicht aus dem Code entfernen).

MfG

Sorry für die Formatierung.
Jetzt sollte alles so sein wie es sein soll.
Ich habe das noch nie so wirklich benutzt.
:wink:

Du machst eine Zuweisung:

if(DMXSerial.read(1) = HIGH)

Willst aber sehr wahrscheinlich einen Vergleich machen:

if(DMXSerial.read(1) == HIGH)

Oder kürzer:

if(DMXSerial.read(1))

Gruß Tommy

Sind Funkverbindungen nicht zu unsicher um Pyrotechnik zu steuern?
Grüße Uwe

An sich ja.
Aber die Geräte bekommen eine ID.
Und es wir auch nur für Silvester und für meine Konfirmation benutzt. Ansicht ist es auch nur eine kleines Projekt zum Üben.

@Tommy danke dafür schon mal dann gibts später keine Probleme.

Aber das Problem bleibt leider das gleiche.
Ich kann keine Serielle Verbindung starten.
Kein Serial.begin, Serial.print...

Könnte es an der DMX lib. liegen ?

Hi

Das wiederum klingt nach privatem fern zünden von Pyrotechnik - lasst Euch dabei besser nicht erwischen - meines Wissen nach ist Das nämlich so ganz und gar nicht erlaubt.

MfG

Edit
zumindest in -D-

oh das wusste ich nicht. Dann sollte ich das lieber mit einem Pyrotechniker machen. Danke für diesen Hinweiß

Dann mache ich das lieber ein bisschen unspektakulärer und nehme LEDs.

Aber da bleibt ja das gleiche Problem