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.
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?