Hallo Zusammen
Leider bin ich ziemlich unerfahren beim Thema Ardino, doch würde ich mich freuen wenn ihr mir helfen könnt.
Kurze Erklärung, gebaut von einen Freund ,leider verstoben, System defekt.
Nun möchte ich es neu aufbauen, dazu habe ich einen Arduino MEGA 2560 und eine RGB Shield zur Verfügung aus diesem alten System.
Ein Netzwerkmodul das zuvor aufgesteckt war wurde aber entfernt und das RGB Shield aufgesteckt. RGB Shield
Folgender Code wurde eingespielt:
/**************************************************************
**ProppFrexx LED Steuerung auf Arduino Mega 2560 mit RGB Shield
***************************************************************/
const int RED = 3;
const int GREEN = 5;
const int BLUE = 6;
void setup() {
pinMode (RED, OUTPUT);
pinMode (GREEN, OUTPUT);
pinMode (BLUE, OUTPUT);
Serial.begin (9600);
}
void loop() {
if (Serial.available() > 0) {
char inData = char(Serial.read());
if (inData == 'R') {
Serial.println("LED ROT wurde eingeschalten");
analogWrite(RED, 255);
analogWrite(GREEN, 0);
analogWrite(BLUE, 0);
}
if (inData == 'G' ) {
Serial.println("LED GRÜN wurde eingeschalten");
analogWrite(RED, 0);
analogWrite(GREEN, 255);
analogWrite(BLUE, 0);
}
if (inData == 'B') {
Serial.println("LED BLAU wurde eingeschalten");
analogWrite(RED, 0);
analogWrite(GREEN, 0);
analogWrite(BLUE, 255);
}
if (inData == 'O') {
Serial.println("Alle LEDs wurden eingeschalten");
analogWrite(RED, 255);
analogWrite(GREEN, 255);
analogWrite(BLUE, 255);
}
if (inData == 'X') {
Serial.println("Alle LEDs wurden abgeschalten");
analogWrite(RED, 0);
analogWrite(GREEN, 0);
analogWrite(BLUE, 0);
}
}
}
Funktioniert alles über Serial Monitor mit den Eingaben.
Das Problem:
Ich verwende eine Radio Sendesoftware (ProppFrexx) die Trigger Kommandos senden kann.(Talkover ON/OFF)
Hierfür wurden die COM Ports auf die des Arduinos geändert. (RX/TX) Senden/Empfangen
Als Test habe ich zuvor das Rote LED aufgedreht mit Arduino IDE dann beendet, und dann die SW gestartet, im Monitor ist die Antwort angekommen.
("LED ROT wurde eingeschalten - Scrollt durch")
Zum Senden wird/wurde dieser Befehl ausgeführt.
(Dieses hat funktioniert mit dem alten System)
Zur Info: Im alten System war der Arduino mit einen USB Serial Adapter angeschlossen, denke aber das dass keinen Unterschied macht.
Nur für mein Verständnis:
Wenn ich das Arduino IDE offen habe und im Serial Monitor R für Rot ausführe funktioniert es, warum bzw. wieso schaltet es mit dem EXEC_SEND_SERIAL_WRITE (R) nicht?
Das sollte ja das gleiche bewirken, oder muss ein besonderer String geschickt werden damit der Arduino dieses versteht und ausführt.
Oder habe ich überhaupt ganz was vergessen im Code damit dieses überhaupt funktioniert?
Um einen besseren Überblick zu haben, wie das früher aufgebaut war habe ich den alten Sketch für euch hochgeladen.
V11.ino (72,5 KB)
Vielleicht sieht ihr anhand des Sketches wieso hier die Anbindung mit dem EXEC_SEND_SERIAL_WRITE Befehl funktioniert hat!!!!
Ich würde mich freuen wenn ihr Ideen bzw. Vorschläge habt die mir bei meinen Unterfangen weiterhelfen.
Danke Tom

