Exemplo de código Arduino que permite converter uma mensagem em código Morse e piscar um LED de acordo com essa mensagem. O código Morse é uma representação de letras e números por meio de uma sequência de pulsos longos e curtos.
Você pode enviar mensagens para o Arduino através da porta serial (por exemplo, usando a ferramenta de monitor serial na IDE do Arduino) e o código converterá essa mensagem em código Morse e piscará um LED conectado ao pino 13 do Arduino de acordo com a mensagem. Certifique-se de ajustar o código conforme necessário para a mensagem e a velocidade do código Morse desejada.
// Define os pinos
const int ledPin = 13;
// Define o tempo de duração dos pulsos longos e curtos
const int dotDelay = 250; // Ponto (.)
const int dashDelay = dotDelay * 3; // Traço (-)
const int spaceDelay = dotDelay * 3; // Espaço entre letras
const int wordSpaceDelay = dotDelay * 7; // Espaço entre palavras
// Função para piscar o LED de acordo com o código Morse
void morseCode(String code) {
for (int i = 0; i < code.length(); i++) {
switch (code[i]) {
case '.':
digitalWrite(ledPin, HIGH);
delay(dotDelay);
digitalWrite(ledPin, LOW);
delay(dotDelay);
break;
case '-':
digitalWrite(ledPin, HIGH);
delay(dashDelay);
digitalWrite(ledPin, LOW);
delay(dotDelay);
break;
case ' ':
delay(spaceDelay);
break;
}
}
delay(wordSpaceDelay);
}
void setup() {
pinMode(ledPin, OUTPUT); // Configura o pino do LED como saída
Serial.begin(9600); // Inicializa a comunicação serial
}
void loop() {
String message = ""; // Mensagem em código Morse
// Lê a mensagem da entrada serial
if (Serial.available() > 0) {
message = Serial.readStringUntil('\n');
Serial.println("Mensagem recebida: " + message);
}
// Converte a mensagem em código Morse e pisca o LED
morseCode(message);
}