www.tobuku.com
PROJECT LED SINYAL MORSE SOS Agustus 2015 Oleh : Feri Djuandi
Tingkat: √ Pemula
Menengah
Mahir
Platform:
Arduino Uno IDE Arduino versi 1.6.5
Objektif: Tujuan projek ini adalah menghasilkan sebuah program dan rangkaian dengan lampu LED yang akan berkedip-kedip menghasilkan sinyal morse SOS.
Asumsi:
Papan Arduino telah terhubung ke komputer kerja dengan baik menggunakan kabel USB. Program IDE Arduino telah terinstal pada komputer kerja dan bekerja baik dengan papan Arduino.
1
www.tobuku.com
Uraian-1
Pada artikel ini akan dijelaskan cara pembuatan sketch (kode program Arduino) yang akan dimuat ke dalam papan Arduino untuk menghasilkan sinyal morse SOS pada kedipan-kedipan lampu LED. Sandi morse untuk huruf S, O dan S diperlihatkan pada gambar di bawah ini.
Gambar 1. Sandi morse SOS. Setiap huruf akan diterjemahkan ke dalam kedipan-kedipan pendek dan panjang yang bersesuaian. Untuk membedakan titik dengan garis, sketch akan menyalakan LED selama 200 milidetik sebagai tanda titik, sedangkan untuk menandakan sebuah garis maka sketch akan menyalakan LED lebih panjang yaitu selama 500 milidetik. Untuk memisahkan setiap huruf, sketch akan memberikan waktu jeda selama 1 detik. Berikut ini adalah sebuah sketch untuk menghasilkan sinyal SOS melalui kedipan-kedipan lampu LED. int ledPin = 13; int durations[] = {200, 200, 200, 500, 500, 500, 200, 200, 200}; void setup() { pinMode(ledPin, OUTPUT); }
// run once, when the sketch starts // sets the digital pin as output
void loop() // run over and over again { for (int i = 0; i < 9; i++) { flash(durations[i]); if ( (i + 1) % 3 == 0) { delay(1000); // wait 1 second to separate each letter } } } void flash(int duration) { digitalWrite(ledPin, HIGH); delay(duration); digitalWrite(ledPin, LOW);
2
www.tobuku.com delay(duration); }
Penjelasan: Setiap sketch sedikitnya selalu terdiri dari dua buah fungsi yaitu setup dan loop. Fungsi setup akan dieksekusi satu kali saja yaitu pada saat sketch dijalankan. Fungsi ini berguna untuk menjalankan proses inisiasi program seperti memasukan nilai-nilai tertentu kepada variable, menetapkan pin input dan output dan sebagainya. Pada fungsi setup dari sketch di atas, pin nomor 13 ditetapkan sebagai output. Pin nomor 13 dipilih karena pin ini terhubung dengan lampu LED yang ada pada papan Arduino. Dengan demikian kita tidak perlu membuat rangkaian eksternal untuk menyalakan lampu LED. Lampu LED inilah yang akan menghasilkan sinyal morse. Papan Arduino dirancang untuk menjalankan sebuah sketch di dalamya secara terus-menerus tak pernah berhenti. Fungsi loop inilah bagian dari program yang dijalankan berulang-ulang. Untuk memulai kembali program dari awal dapat dilakukan dengan menekan tombol Reset pada papan Arduino. Di dalam fungsi loop terdapat iterasi untuk membaca elemen dari variabel array durations satu demi satu. Elemen tersebut adalah durasi kedipan dalam milidetik. Perhatikan bahwa nomor elemen dimulai dari angka 0 dan sebuah huruf diwakili oleh tiga buah elemen array. Jadi huruf S pertama diwakili oleh elemen nomor 0 – 2; huruf O diwakili oleh elemen nomor 3 – 5; dan huruf S ke-dua diwakili oleh elemen nomor 6 – 8. Setiap iterasi akan memanggil fungsi flash yang akan mengedipkan LED sesuai dengan durasi. Silakan memuat sketch ke dalam papan Arduino. Pada saat program berjalan tampak lampu LED pada papan Arduino akan menyala berkedip-kedip menghasilkan sinyal SOS terus-menerus.
3
www.tobuku.com
Uraian-2 Pada uraian yang ke-dua ini kita akan membuat sebuah rangkaian sederhana menggunakan resistor dan lampu LED. Fungsi lampu LED pada rangkaian ini sama seperti sebelumnya, namun kita akan mencoba membuat rangkaian eksternal untuk menghasilkan sinyal morse-nya. Kali ini ita akan mencoba mengalihkan pin output-nya dari pin-13 ke pin-9, dengan demikian baris pertama dari sketch perlu dimodifikasi sebagai berikut. int ledPin = 9; ...
Rangkaian resistor dan lampu LED diperlihatkan pada gambar di bawah ini:
Gambar 2. Rangkaian untuk menyalakan lampu LED. Komponen: R1
220 Ohm
L1
LED
Penjelasan: Pada saat pin-9 berkondisi HIGH maka tegangan pin ini adalah 5 Volt dan lampu LED akan menyala. Pada lampu LED yang umum, ketika ia diberikan tegangan yang cukup untuk menyala maka pada kaki-kaki LED terdapat tegangan jatuh sekitar 2 Volt. Dengan demikian tegangan jatuh pada resistor adalah 5 Volt – 2 Volt = 3 Volt. Secara umum sebuah lampu LED membutuhkan arus sekitar 10 mA untuk menyala cukup terang. Dengan demikian nilai resistor bisa dihitung: R
=
V/I
=
3 V / 10mA
=
300 Ohm
Nilai resistor ini nilainya tidak perlu eksak, nilainya dapat dipilih secara fleksibel dengan nilai lain yang berdekatan misalnya 270 Ohm atau 220 Ohm (ini adalah resistor yang lebih umum ditemukan di pasaran). Seandainya dipilih 220 Ohm maka bisa dipastikan arus yang mengalir lebih besar dari 10 mA. Kita akan menghitung apakah dengan arus yang lebih besar ini, resistor masih bisa menahan panas yang dihasilnya. I
=
V/R
=
3 V / 220 Ohm 4
www.tobuku.com
P
=
13.636 mA
=
V*I
=
3 V * 13.636 mA
=
0.041 Watt
Nilai 0.041 Watt ini jauh lebih kecil dari batas 1 Watt yang dimiliki oleh resistor pada umumnya. Jadi nilai resistor yang dipilih sangat aman untuk mengantisiasi panas yang dihasilkan. Dengan komponen resistor dan LED tersebut, silakan merangkainya pada breadboard dan menghubungkannya dengan pin-9 dan pin-14 (GND) dari papan Arduino.
Gambar 3. Papan Arduino terhubung ke rangkaian eksternal. Pada saat papan Arduino diberikan daya melalui kabel USB maka program akan berjalan dan menyalakan lampu LED seperti pada uraian sebelumnya. Papan Arduino dapat berjalan secara mandiri tanpa terhubung dengan kabel USB ke komputer. Caranya adalah dengan memberikan catu daya eksternal sebesar 12 Volt kepada terminal papan Arduino. Demikianlah ulasan pada artikel ini untuk berkeksperimen dengan Arduino untuk menghasilkan sinyal SOS.
Yakobus 1:5. Tetapi apabila di antara kamu ada yang kekurangan hikmat, hendaklah ia memintakannya kepada Allah, --yang memberikan kepada semua orang dengan murah hati dan dengan tidak membangkit-bangkit--,maka hal itu akan diberikan kepadanya.
5