Arduino yazıyı mors alfabesine çevirme

Kodla Büyü

Mesut AKGÜN

Seçkin Üye
Seçkin Üye
Mesajlar
260

@Ulubatlı_Hasan

mors-alfabesi-kolay-yolu.jpg


Devre şeması:
Screenshot_2.png


Arduino kodları:

Kod:
int LED = 2;
int buzzerPin = 3;
int dot = 250;
char* morseLetters[] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..",".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.","...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.." };
char* morseNumbers[] = {"-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----."};
void setup()             
{
  pinMode(LED, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
  Serial.begin(9600);
}
void loop()                 
{
  char info;
  if (Serial.available() > 0) {
    info = Serial.read();
    if (info >= 'a' && info <= 'z') {
      letterId(morseLetters[info - 'a']);
    }
    else if(info >= 'A' && info <= 'Z') {
      letterId(morseLetters[info - 'A']);
    }
    else if(info >= 0 && info <= 9) {
      letterId(morseNumbers[info - 0]);
    }
    else if(info == ' ') {
      delay(dot * 4);
    }
  }
}
void letterId(char* character) {
  int i = 0;
   while(character[i] != '\0') {
    output(character[i]);
    i++;
  }
  delay(dot * 3);
}
void output(char ID) {
  digitalWrite(LED,HIGH);
  digitalWrite(buzzerPin,HIGH);
  if (ID == '.') {
    delay(dot);       
  }
  else {
    delay(dot * 3);       
  }
  digitalWrite(LED,LOW);
  digitalWrite(buzzerPin,LOW);
  delay(dot);
}
 
Geri
Üst