Wie kann ich auf einem Arduino eine LED in Dauerschleife "Hello World!" als Morse-Code ausgeben?

Antwort

Um "Hello World!" im Morse-Code über eine LED auf einem Arduino auszugeben, kannst du den folgenden Code verwenden. Dieser Code definiert die Morse-Code-Darstellung für jeden Buchstaben und sendet die entsprechenden Signale an die LED. ```cpp // Pin-Definition const int ledPin = 13; // LED an Pin 13 // Morse-Code für "Hello World!" const char* message = "HELLO WORLD"; const int dotDuration = 200; // Dauer eines Punktes in Millisekunden // Morse-Code-Darstellung const char* morseCode[] = { "....", // H ".", // E ".-..", // L ".-..", // L "---", // O " ", // (Space) ".--", // W "---", // O ".-.", // R ".-..", // L "-..", // D }; void setup() { pinMode(ledPin, OUTPUT); } void loop() { for (int i = 0; message[i] != '\0'; i++) { char c = message[i]; if (c == ' ') { delay(dotDuration * 7); // Pause für Leerzeichen continue; } int index = c - 'A'; // Umwandlung von Buchstaben in Index if (c >= 'A' && c <= 'Z') { sendMorse(morseCode[index]); delay(dotDuration * 3); // Pause zwischen Buchstaben } } delay(dotDuration * 7); // Pause zwischen Wörtern } void sendMorse(const char* code) { for (int i = 0; code[i] != '\0'; i++) { if (code[i] == '.') { digitalWrite(ledPin, HIGH); delay(dotDuration); digitalWrite(ledPin, LOW); delay(dotDuration); // Pause zwischen Punkten und Strichen } else if (code[i] == '-') { digitalWrite(ledPin, HIGH); delay(dotDuration * 3); digitalWrite(ledPin, LOW); delay(dotDuration); // Pause zwischen Punkten und Strichen } } } ``` In diesem Code wird die LED an Pin 13 des Arduino verwendet. Der Morse-Code für jeden Buchstaben wird in einem Array gespeichert, und die Funktion `sendMorse` steuert das Blinken der LED entsprechend der Morse-Code-Darstellung. Achte darauf, dass du die LED korrekt anschließt und den richtigen Widerstand verwendest.

Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Was macht der Code?

Der gegebene Code ist ein Beispiel für Arduino, das die Steuerung einer LED oder eines anderen Ausgabegeräts an Pin 13 demonstriert. Hier ist eine Erklärung der einzelnen Teile: 1. **`... [mehr]

Arduino: Ungültige benutzerdefinierte Konvertierung von 'const char [1]' zu 'const NetworkServer&' [-fpermissive]

Der Fehler "invalid user-defined conversion from 'const char [1]' to 'const NetworkServer&' [-fpermissive]" tritt auf, wenn du versuch, einen `const char`-Array (z. B... [mehr]