Generator Kode Morse Arduino Uno

Indobot Academy

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.

Buzzer listrik pada dasarnya adalah perangkat elektromekanis yang menghasilkan bunyi saat kita memberikan daya listrik. Mereka umumnya terdiri dari komponen-komponen seperti elektromagnet, pegas, dan penggetar. Ketika arus listrik mengalir melalui buzzer, elektromagnet menciptakan gaya yang menarik pegas, kemudian melepaskannya. Proses ini berulang dengan cepat, menciptakan getaran pada pegas yang pada gilirannya menghasilkan suara.

Ada berbagai jenis buzzer listrik, termasuk yang bekerja dengan tegangan DC (arus searah) atau AC (arus bolak-balik), serta yang memiliki karakteristik suara yang berbeda-beda tergantung pada desainnya.

Buzzer listrik dalam berbagai aplikasi, seperti:

  1. Sistem alarm: Untuk memberi peringatan atau sinyal dalam situasi darurat atau keadaan tertentu.
  2. Peralatan elektronik: Buzzer berfungsi dalam peralatan rumah tangga, permainan, atau perangkat elektronik lainnya untuk memberikan umpan balik audio kepada pengguna.
  3. Industri: Dalam lingkungan industri, buzzer dapat berfungsi sebagai bagian dari sistem peringatan atau pengawasan.

Jenis-jenis buzzer lainnya juga bisa berbeda dalam hal daya yang dibutuhkan, intensitas suara, dan karakteristik bunyi. Apakah ada sesuatu yang spesifik yang ingin kamu tanyakan tentang buzzer listrik?

 

1. Skema Rangkaian

Gambar rangkaian Kode Morse Generator

2. Alat / Bahan
  • Arduino    : 1 buah
  • Buzzer     : 1 buah
3. Sketch Program

Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!

/*
  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;
  }
}

Kesimpulan :

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

Gambar terminal serial

Ingin mengadakan pelatihan Arduino / IoT (Internet of Things) bersama Indobot?

 

Ingin Tahu Program Kami Lebih Lanjut?

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

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp