Generator Kode Morse : Cara Buat dengan Arduino

Indobot Academy

Generator Kode Morse
Generator Kode Morse

Generator Kode Morse – Buzzer Listrik adalah sebuah komponen elektronika yang dapat mengubah sinyal listrik menjadi getaran suara. Pada umumnya, Buzzer yang merupakan sebuah perangkat audio ini sering digunakan pada rangkaian anti-maling, Alarm pada Jam Tangan, Bel Rumah, peringatan mundur pada Truk dan perangkat peringatan lainnya.
[membership level=”0,1,2,4″]

1. Skema Rangkaian

Gambar rangkaian Kode Morse Generator

2. Alat / Bahan
  • Arduino    : 1 buah
  • Buzzer     : 1 buah

[/membership]

3. Sketch Program

[membership level=”0″]Sketch program ini hanya dapat diakses oleh member Indobot Premium.

Silahkan


atau anda dapat


*hanya Rp2000 per hari akses semua materi

[/membership]

[membership level=”1,2,4″]

/*
  Program Generator Kode Morse
  dibuat oleh Indobot
*/
char stringToMorseCode[] = "";  // Pemilihan Pin dan pendeklarasian variabel
int audio8 = 8;
int note = 1200;
int dotLen = 100;
int dashLen = dotLen * 3;

void setup() {  //Pengaturan Terminal Serial
  Serial.begin(9600);
}

void loop() { //Perulangan Program
  char inChar = 0;
  char inData[100] = "";  //Input kata yang ingin diubah
  String variable = "";
  String variable1 = "";
  int index1 = 0;

  if ( Serial.available() > 0 ) {
    while (Serial.available() > 0 && index1 < 100)
    {
      delay(100);
      inChar = Serial.read();      // pembacaan serial dan menyimpan ke variabel
      inData[index1] = inChar;
      index1++;
      inData[index1] = '\0';
    }
    variable.toUpperCase();       // perubahan menjadi kapital
    for (byte  i = 0 ; i < 100 ; i++) {
      variable.concat(String(inData[i]));
    }
    delay(20);
  }
  String  stringToMorseCode = String(variable);

  for (int i = 0; i < sizeof(stringToMorseCode) - 1; i++)
  {
    char tmpChar = stringToMorseCode[i];
    tmpChar = toLowerCase(tmpChar);
    GetChar(tmpChar);
  }
}

void MorseDot() { //Pendeklarasian Titik
  tone(audio8, note, dotLen);
  delay(dotLen);
}

void MorseDash() { //Pendeklarasian Stripp
  tone(audio8, note, dashLen);
  delay(dashLen);
}

void GetChar(char tmpChar) { //Pendeklarasian Konversi Huruf
  switch (tmpChar) {
    case 'a':
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'b':
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'c':
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'd':
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'e':
      MorseDot();
      delay(100);
      break;
    case 'f':
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'g':
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'h':
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'i':
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'j':
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'k':
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'l':
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'm':
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'n':
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'o':
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'p':
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 'q':
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'r':
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 's':
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      break;
    case 't':
      MorseDash();
      delay(100);
      break;
    case 'u':
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'v':
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'w':
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'x':
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'y':
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      break;
    case 'z':
      MorseDash();
      delay(100);
      MorseDash();
      delay(100);
      MorseDot();
      delay(100);
      MorseDot();
      delay(100);
      break;
    default:
      break;
  }
}

Baca Juga : Indobot Academy Gandeng 28 Dosen & Profesional Raih Kompetensi BNSP di Bidang Internet of Things

 

Kesimpulan :

Program berikut akan mengkonversi masukan teks pada terminal serial dan kemudian akan diubah menjadi kode morse yang berwujud suara.

 

Gambar terminal serial

[/membership]

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp