Kode morse adalah sistem komunikasi untuk menyandikan karakter apa pun dalam dua durasi sinyal yang berbeda yang disebut Titik dan Garis . Kode morse dikembangkan oleh Samuel FB dan selanjutnya digunakan dalam telegrafi untuk mentransfer informasi rahasia. Itu paling banyak digunakan pada saat Perang Dunia II. Kode Morse dapat dilakukan dengan mengetuk, berkedip, atau menulis. Kode Morse tersedia dalam dua versi, kode morse asli dan internasional. Dalam kode morse internasional, versi asli dimodifikasi dengan menghilangkan spasi dan mendesain garis dengan panjang tertentu. Kode Morse tersedia untuk menyandikan huruf dan angka. Ini terutama digunakan dalam komunikasi radio dan laut dan juga merupakan bagian dari pelatihan untuk tentara.
Bahasa selalu menjadi penghalang untuk kode Morse, karena sulit untuk melakukan kode untuk karakter diakritik dalam bahasa lain. Ada beberapa kata terkenal yang dianggap sebagai fitur penting dari kode Morse seperti 'SOS'. Bentuk penuh SOS adalah Save Our Souls yang dibuat sebagai sinyal marabahaya universal yang mewakili bahaya.
Gambar di bawah ini menunjukkan kode Morse untuk huruf dari A hingga Z.
Hari ini dalam tutorial ini kita akan membangun Penerjemah Kode Morse menggunakan Arduino yang akan mengambil karakter apa pun sebagai input dari monitor serial dan mengubahnya menjadi kode Morse yang setara dengan bunyi bip oleh buzzer.
Komponen Diperlukan
- Arduino Uno
- Bel
- Papan tempat memotong roti
- Kabel jumper
Diagram Sirkuit
Menghubungkan pin positif bel untuk 8 th pin dari Arudino UNO dan pin negatif ke tanah dari Arduino. Unggah kode menggunakan Arduino IDE dan ketik karakter pada monitor serial untuk membuat suara. LCD juga dapat ditambahkan dengan Arduino untuk menampilkan tanda hubung dan titik.
Penjelasan Pemrograman
Kode lengkap untuk Arduino Morse Code Generator diberikan di bagian akhir, di sini kami menjelaskan program untuk memahami kerja proyek.
Kode di bawah ini digunakan untuk menerima string karakter dan kemudian mengubahnya menjadi kode morse.
char stringToMorseCode = "";
Kemudian tentukan pin untuk bel yang terhubung ke Arduino dan nada untuk suara yang dihasilkan oleh bel itu. Kemudian kita mendefinisikan panjang titik dan garis.
int audio8 = 8; // keluaran audio pada pin 8 int note = 1200; // not musik / pitch int dotLen = 100; // panjang kode morse 'dot' int dashLen = dotLen * 3; // panjang kode morse 'dash'
Pada fungsi void loop () , jika data serial tersedia, maka akan disimpan ke dalam variabel indata . Kemudian membaca karakter satu per satu menggunakan perintah inData . Variabel perintah.toUppercase () digunakan untuk mengubah karakter huruf kecil menjadi huruf besar. Kemudian menciptakan suara menurut setiap karakter.
void loop () { char inChar = 0; char inData = ""; // panjang data 6 karakter Variabel string = ""; Variabel string1 = ""; int index1 = 0; if (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { delay (100); inChar = Serial.read (); inData = inChar; indeks1 ++; inData = '\ 0'; } variabel.toUpperCase (); untuk (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } penundaan (20);
Fungsi di bawah ini MorseDot dan MorseDash digunakan untuk membuat suara untuk titik dan tanda hubung.
void MorseDot () { tone (audio8, note, dotLen); // mulai memainkan penundaan nada (dotLen); // tahan di posisi ini } void MorseDash () { tone (audio8, note, dashLen); // mulai memainkan penundaan nada (dashLen); // tahan di posisi ini }
Fungsi GetChar memiliki kode untuk semua huruf. Jadi, setiap kali kita mengetik alfabet apa pun, kode morse masing-masing diambil dari fungsi ini untuk membuat suara tertentu.
void GetChar (char tmpChar) { switch (tmpChar) { case 'a': MorseDot (); penundaan (100); MorseDash (); penundaan (100); istirahat; ... ... ... default: break; } }
Sekarang unggah kode ke Arduino menggunakan Arduino IDE dan ketik karakter apa pun ke monitor serial dan tekan tombol enter untuk mengirim karakter ke Arduino.
Di sini kami mengetik 'SOS' yang merupakan sinyal marabahaya universal, untuk menghasilkan suara yang sama.
Demonstrasi yang sama diberikan dalam video di bawah ini.