D3 TEKNIK TELEKOMUNIKASI
FAKULTAS ILMU TERAPAN
TELKOM UNIVERSITY
Kata Pengantar
Assalamu’alaikum Wr. Wb.
Segala puji dan syukur kami haturkan kepada Allah SWT, atas rahmat, taufik,
serta hidayah-Nya. Sholawat serta salam tidak lupa kepada junjungkan kita Rasulullah
Muhammad SAW, sehingga penyusunan makalah yang berjudul “Arduino Uno (Simple
Piano LED)” dapat diselesaikan dengan baik dan tepat waktu.
Kiranya dalam penulisan ini, saya menghadapi cukup banyak rintangan dan selesainya
makalah ini tak lepas dari bantuan semua pihak yang telah membantu dalam proses
pembuatan yang tidak dapat disebutkan satu-satu, saya ucapkan terima kasih.
Saya menyadari bahwa masih banyak kekurangan pada makalah ini. Oleh karena
itu,kami mengharapkan kritik dan saran yang bersifat membangun agar makalah ini menjadi
lebih baik lagi. Saya berharap makalah ini dapat memberi bermanfaat bagikita semua.
Wassalamu’alaikum Wr. Wb.
Farell Fahrozi
i
Daftar Isi
Kata Pengantar......................................................................................................................................... i
BAB I ........................................................................................................................................................ 1
PENDAHULUAN ....................................................................................................................................... 1
1.1 Latar Belakang......................................................................................................................... 1
1.2 Rumusan Masalah ................................................................................................................... 1
1.2.1 Apakah maksud dari kata Arduino? ................................................................................ 1
1.2.2 Apa kelebihan dari Arduino?........................................................................................... 1
1.2.3 Bagaimana fitur yang ada di Arduino? ............................................................................ 1
1.2.4 Seperti apa produk Arduino ? ......................................................................................... 1
1.3 Tujuan Dan Solusi .................................................................................................................... 2
1.3.1 Untuk mengetahui arti kata Mikroprosesor ................................................................... 2
1.3.2 Untuk mempelajari kelebihan dari Arduino.................................................................... 2
1.3.3 Untuk mengetahui fitur yang ada di Arduino ................................................................. 2
1.3.4 Untuk mengetahui spesifikasi produk Arduino............................................................... 2
BAB II ....................................................................................................................................................... 3
PEMBAHASAN ......................................................................................................................................... 3
2.1 Pengertian Arduino ................................................................................................................. 3
2.2 Pengertian Arduino Uno ......................................................................................................... 4
2.3 Alat Dan Bahan........................................................................................................................ 5
2.3.1 Resistor............................................................................................................................ 5
2.3.2 Kabel Jumper................................................................................................................... 9
2.3.3 Breadboard ................................................................................................................... 11
2.3.4 Buzzer ............................................................................................................................ 14
2.3.5 Push Button ................................................................................................................... 14
2.4 Tahap Codingan .................................................................................................................... 17
2.5 Code Pemrograman .............................................................................................................. 20
BAB III PENUTUP .................................................................................................................................. 30
Kesimpulan........................................................................................................................................ 30
Saran ................................................................................................................................................. 30
ii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan ilmu dan teknologi yang bergerak secara cepat dan berkelanjutan,
mampu mengakibatkan peningkatan daya pikir manusia untuk memanfaatkan teknologi
modern dalam kehidupan sehari-hari. Kemajuan dibidang teknologi juga menuntut
adanya perubahan di berbagai sektor. Setiap bidang sektor tentu tidak terlepas dari
kegiatan-kegiatan pencatatan, pengontrolan, perhitungan, hingga penyebarluasan untuk
menyampaikan hasil pekerjaannya. Pencatatan dan pengontrolan yang dilakukan secara
manual membuat pekerjaan menjadi tidak efisien, terlebih dilakukan secara terus-
menerus dalam interval waktu yang singkat. Dalam memenuhi kekurangan tersebut maka
perlu diupayakan mencari alternatif baru. yang dapat memberikan kemudahan, efisiensi,
dan dapat menggantikan fungsi manusia sebagai pengontrol setiap saat. Adapun alternatif
yang dapat memenuhi permasalahan tersebut salah satunya dengan memanfaatkan
mikrokontroler. Salah satu contoh mikrokontroler yaitu Arduino UNO. Arduino UNO
merupakan sebuah board yang berbasis mikrokontroler pada ATmega328. Kegunaan
Arduino sangat beragam salah satunya dapat digunakan untuk mengembangkan obyek
interaktif serta mengambil masukan dari berbagai switch atau sensor. Dalam
menjalankan perintah, Arduino UNO memanfaatkan bahasa pemrogaman C/C++ dan
disempurnakan dengan adanya library dasar yang lengkap (Artanto 2012). Berdasarkan
latar belakang di atas penelitian ini bertujuan untuk untuk memahami fungsi, cara
pemakaian, dan mengetahui komponen-komponen penyusun yang terdapat dalam
Arduino UNO.
1
1.3 Tujuan Dan Solusi
1.3.1 Untuk mengetahui arti kata Mikroprosesor
1.3.2 Untuk mempelajari kelebihan dari Arduino
1.3.3 Untuk mengetahui fitur yang ada di Arduino
1.3.4 Untuk mengetahui spesifikasi produk Arduino
2
BAB II
PEMBAHASAN
2.1 Pengertian Arduino
Arduino adalah pengendali mikro single-board yang bersifat open-source,
diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik
dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya
memiliki bahasa pemrograman sendiri. Saat ini Arduino sangat populer di seluruh
dunia. Banyak pemula yang belajar mengenal robotika dan elektronika lewat Arduino
karena mudah dipelajari. Tapi tidak hanya pemula, para hobbyist atau profesional pun
ikut senang mengembangkan aplikasi elektronik menggunakan Arduino. Bahasa yang
dipakai dalam Arduino bukan assembler yang relatif sulit, tetapi bahasa C yang
disederhanakan dengan bantuan pustaka-pustaka (libraries) Arduino. Arduino juga
menyederhanakan proses bekerja dengan mikrokontroler, sekaligus menawarkan
berbagai macam kelebihan antara lain:
3
2.2 Pengertian Arduino Uno
Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet).
Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan
sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB,
jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar
dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer
dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau
baterai untuk menjalankannya.
Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-
serial yaitu menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-
serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-
serial.
Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran
Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah
yang terbaru dalam serangkaian board USB Arduino, dan sebagai model
referensi untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat
indeks board Arduino.
4
2.3 Alat Dan Bahan
2.3.1 Resistor
1) Jenis- Jenis Resistor
Pada umumnya Resistor dapat diklasifikasikan menjadi beberapa jenis, diantaranya
adalah Fixed Resistor, Variable Resistor, Thermistor dan LDR.
A. Fixed Resistor
Fixed Resistor adalah jenis Resistor yang memiliki nilai resistansinya tetap. Nilai
Resistansi atau Hambatan Resistor ini biasanya ditandai dengan kode warna ataupun kode
Angka. Anda dapat membaca artikel : Cara Menghitung Nilai Resistor berdasarkan Kode
Angka dan Kode Warna.
Yang tergolong dalam Kategori Fixed Resistor berdasarkan Komposisi bahan pembuatnya
diantaranya adalah :
Resistor jenis Carbon Composistion ini terbuat dari komposisi karbon halus yang
dicampur dengan bahan isolasi bubuk sebagai pengikatnya (binder) agar mendapatkan nilai
resistansi yang diinginkan. Semakin banyak bahan karbonnya semakin rendah pula nilai
resistansi atau nilai hambatannya.Nilai Resistansi yang sering ditemukan di pasaran untuk
Resistor jenis Carbon Composistion Resistor ini biasanya berkisar dari 1Ω sampai 200MΩ
dengan daya 1/10W sampai 2W.
5
Resistor Jenis Carbon Film ini terdiri dari filem tipis karbon yang diendapkan
Subtrat isolator yang dipotong berbentuk spiral. Nilai resistansinya tergantung pada proporsi
karbon dan isolator. Semakin banyak bahan karbonnya semakin rendah pula nilai
resistansinya. Keuntungan Carbon Film Resistor ini adalah dapat menghasilkan resistor
dengan toleransi yang lebih rendah dan juga rendahnya kepekaan terhadap suhu jika
dibandingkan dnegan Carbon Composition Resistor.Nilai Resistansi Carbon Film Resistor
yang tersedia di pasaran biasanya berkisar diantara 1Ω sampai 10MΩ dengan daya 1/6W
hingga 5W. Karena rendahnya kepekaan terhadap suhu, Carbon Film Resistor dapat bekerja
di suhu yang berkisar dari -55°C hingga 155°C.
Metal Film Resistor adalah jenis Resistor yang dilapisi dengan Film logam yang tipis
ke Subtrat Keramik dan dipotong berbentuk spiral. Nilai Resistansinya dipengaruhi oleh
panjang, lebar dan ketebalan spiral logam.Secara keseluruhan, Resistor jenis Metal Film ini
merupakan yang terbaik diantara jenis-jenis Resistor yang ada (Carbon Composition
Resistor dan Carbon Film Resistor).
B. Variable Resistor
Variable Resistor adalah jenis Resistor yang nilai resistansinya dapat berubah dan
diatur sesuai dengan keinginan. Pada umumnya Variable Resistor terbagi menjadi
Potensiometer, Rheostat dan Trimpot.
6
Potensiometer
Potensiometer merupakan jenis Variable Resistor yang nilai resistansinya dapat
berubah-ubah dengan cara memutar porosnya melalui sebuah Tuas yang terdapat pada
Potensiometer. Nilai Resistansi Potensiometer biasanya tertulis di badan Potensiometer
dalam bentuk kode angka.
Rheostat
Rheostat merupakan jenis Variable Resistor yang dapat beroperasi pada Tegangan
dan Arus yang tinggi. Rheostat terbuat dari lilitan kawat resistif dan pengaturan Nilai
Resistansi dilakukan dengan penyapu yang bergerak pada bagian atas Toroid.
7
D. LDR (Light Dependent Resistor)
LDR atau Light Dependent Resistor adalah jenis Resistor yang nilai Resistansinya
dipengaruhi oleh intensitas Cahaya yang diterimanya.
2) Fungsi-fungsi Resistor
Fungsi-fungsi Resistor di dalam Rangkaian Elektronika diantaranya adalah sebagai
berikut :
8
2.3.2 Kabel Jumper
Kabel jumper merupakan kabel elektrik yang berfungsi untuk menghubungkan antar
komponen yang ada di breadboard tanpa harus memerlukan solder. Umumnya memang
kabel jumpe sudah dilengkapi dengan pin yang terdapat pada setiap ujungnya. Pin atau
konektor yang digunakan untuk menusuk disebut dengan Male Connector, sementara
konektor yang ditusuk disebut dengan Female Connector.
1) Male To Male
Berbagai macam kabel jumper yang pertama adalah kabel jumper yang
disebut dengan Male to Male. Kabel ini paling direkomendasikan untuk membuat
project elektronika pada sebuah breadboard. Ketika anda membeli kabel jumper
versi ini, maka nantinya anda akan mendapatkan total kabel sebanyak 65
buah..Sementara untuk warna dari kabel itu sendiri bervariasi, yakni ada yang
berwarna hitam, kuning, putih, hijau, merah, dan lain sebagainya. Adapun untuk
rata-rata panjang dari kabel Male to Male adalah seperti di bawah ini:
9
2) Female to Female
Berbagai jenis kabel jumper yang kedua adalah Female to Female. Kabel jumper
yang satu ini sangat berguna untuk menghubungkan antar module yang memililki
header male yang nantinya akan berperan sebagai outputnya. Adapun panjang dari
kabel Female to Female kurang lebih 20 cm dimana nantinya anda akan mendapatkan
sebanyak kurang lebih 20 buah.
3) Male to Female
Untuk jenis kabel yang satu ini disebut dengan Male to Female yang memiliki fungsi sebagai
penghubung elektronika pada breadboard. Jenis kabel ini memiliki dua header yang berbeda
yang menjadikan jenis kabel jumper yang satu ini disebut dengan kabel jumper Male to Female.
10
2.3.3 Breadboard
Breadboard merupakan sebuah board atau papan yang berfungsi untuk merancang
sebuah rangkaian elektronik sederhana. Breadboard tersebut nantinya akan dilakukan
prototipe atau uji coba tanpa harus melakukan solder.
Salah satu keuntungan menggunakan breadboard adalah komponen-komponen
yang dirakit tersebut tidak akan mengalami kerusakan. Komponen tersebut juga masih
bisa dirangkai kembali untuk membentuk rangkaian yang lainnya
Umumnya breadboard terbuat dari bahan plastik yang juga sudah terdapat berbagai
lubang. Lubang tersebut sudah diatur sebelumnya sehingga membentuk pola yang
didasarkan pada pola jaringan di dalamnya. Selain itu, breadboard yang bisa ditemukan di
pasaran umumnya dibagi menjadi 3 ukuran. Pertama dinamakan sebagai mini
breadboard, kedua disebut medium breadboard, dan yang terakhir dinamakan sebagai
large breadboard. Untuk mini breadboard, ia memiliki kurang lebih 170 titik.
Sementara untuk medium breadboard sudah dilengkapi dengan kurang lebih 400
titik. Large breadboard memiliki lubang kurang lebih 830. Seperti gambar yang sudah
ada di atas, bahwa mini breadboard memiliki 200 titik hubung. Di bagian kanan sudah
bisa dilihat pola layout yang digambarkan dengan garis biru. Di sini bisa dilihat beberapa
tulisan mulai dari A sampai dengan J.Setelah itu masih ada angka 1,5, 10, 15, maupun 20.
Perpaduan antara huruf dan juga angka tersebut merupakan sebuah koordinat. Misalnya,
A1, B1, sampai dengan E1 saling terkoneksi berdasarkan pola koneksinya (Bisa dilihat
pada gambar berwarna biru). Sementara untuk A2 sampai dengan E2, A3 sampai dengan
E3, F1 sampai dengan J1, dan seterusnya. Dengan memahami pola tersebut, maka kita
nanti bisa membuat sebuah prototipe sehingga kita tidak bingung ketika harus
11
menempatkan komponen-komponen elektronik tersebut sesuai dengan tempatnya
masing-masing.
Sementara itu, pada gambar di atas merupakan contoh dari medium breadboard.
Seperti yang sudah kami jelaskan bahwa breadboard memiliki titik sebanyak 400 yang
juga membuatnya dinamakan sebagai half breadboard. Gambar di atas menunjukkan
suatu pola atau layout pada medium breadboard. Dengan mengetahui jumlah lubang dan
model atau layout dari medium breadboard, maka Anda tidak akan mengalami kesulitan
ketika harus meletakkan komponen-komponen elektronik di atasnya.
Anda juga bisa melakukan eksperimen berbagai sirkuit elektronika. Salah satu
contoh yang bisa Anda terapkan adalah rangkaian pada lampu disko dan juga rangkaian
pada flip-flop. Adapun secara umum, breadboard mempunyai jalur yang akan kami
jelaskan seperti gambar di bawah ini:
12
Setelah Anda mengamati gambar di atas, maka Anda akan tahu bahwasanya breadboard
memiliki prinsip kerja sebagai berikut:
2 pasang pada jalur bawah dan atas terkoneksi secara horizontal sampai menuju ke
bagian tengah pada breadboard. Biasanya, ia akan difungsikan sebagai jalur dari
tombol power maupun juga jalur sinyal. Beberapa contohnya adalah digunakan
untuk jalur komunikasi maupun clock.
5 lubang yang terdapat di komponen bagian tengah digunakan sebagai lokasi untuk
melakukan perakitan komponen. Jalur kelima tersebut terkoneksi secara vertikal
sampai menuju ke bagian tengah pada breadboard.
Pembatasan pada bagian tengah breadboard biasanya akan difungsikan sebagai
tempat untuk menancapkan IC component.
Jenis-Jenis Breadboard
1. Mini Breadboard
Mini breadboard merupakan jenis terkecil dari papan elektronil solderless yang
satu ini. Mini breadboard digunakan untuk membuat sebuah rangkaian mini yang tidak
membutuhkan komponen elektronik dalam jumlah banyak. Jumlah lubang koneksi
yang dimiliki oleh mini breadboard adalah kurang lebih 170 titik. Titik koneksi
digunakan sebagai jalur koneksi dari komponen-komponen elektronik tersebut.
2. Medium Breadboard
13
3. Large Breadboard
Untuk jenis breadboard yang ketiga ini merupakan jenis yang paling besar. Bagi
Anda yang ingin membuat sebuah koneksi komponen elektronik dalam jumlah besar,
maka Anda bisa menggunakan large breadboard. Jumlah titik yang dimiliki adalah
sebanyak 830 titik.
2.3.4 Buzzer
14
Push Bottom merupakan suatu bentuk saklar yang sering digunakan dalam
suatu rangkaian control dan mempunyai fungsi sama dengan saklar – saklar lainnya
pada umumnya, tetapi memiliki perbedaan dalam penguncian.
Push Bottom Normally Open ( NO ) dengan fungsi jika ditekan bekerja ( ON ), apabila
dilepas akan kembali semula ( OFF ).
15
2) PUSH BUTTON (NC)
fungsi jika ditekan tidak bekerja ( OFF ), apabila dilepas menjadi bekerja ( ON ).
Push Bottom mengunci, berfungsi jika ditekan bekerja ( ON ) dan apabila dilepas
tetap bekerja ( ON ), tetapi jika ditekan untuk kedua kalinya maka akan tidak bekerja
( OFF ).
16
2.4 Tahap Codingan
a. Codingan Nada menggunakan Instruksi “#define” untuk mendefinisikan sebuah
variable (pin input - output dll) dengan nama variable baru, fungsi mendefinisikan
variable ini agar dalam pembuatan program kita lebih mudah mengingat nama
variablenya, dari itu usahakan dalam mendefinisakan sebuah variable gunakan
nama variable yang mencerminkan fungsinya. Sehinga ketika kita menganilisa
program akan lebih mudah memahaminya.
17
c. Codingan Tempo Lagu menggunakan Variabel Int (Integer) Sebuah program secara
garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka
dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.
d. Codingan menggunakan Fungsi void setup() hanya di panggil satu kali ketika
program pertama kali di jalankan. Ini digunakan untuk pendefinisian mode pin
18
atau memulai komunikasi serial. Fungsi void setup() harus di ikut sertakan dalam
program walaupun tidak ada statement yang di jalankan.
fungsi void setup() maka secara langsung akan melakukan fungsi void loop()
secara berurutan dan melakukan instruksi-instruksi yang ada dalam fungsi void
loop().
Menggunakan Fungsi const int , contoh : const int SPEAKER_PIN = 3; merupakan
sebuah konstanta yang tidak akan berubah nilainya dengan asumsi sebagai pin 3
milik Arduino.
Menggunakan Fungsi tone (int pin, int freq, long duration);
e. Didalam codingan ini ada perintah void seperti yang di jelaskan di atas tadi gunanya
untuk memanggil/mengatur suatu perintah yang akan di keluarkan. Di dalam codingan
saya itu memerintahkan untuk mengatur berapa frekuensi , delay waktu yang di
keluarkan .
19
2.5 Code Pemrograman
#define NOTE_B0 31
#define NOTE_C1 33
#define NOTE_CS1 35
#define NOTE_D1 37
#define NOTE_DS1 39
#define NOTE_E1 41
#define NOTE_F1 44
#define NOTE_FS1 46
#define NOTE_G1 49
#define NOTE_GS1 52
#define NOTE_A1 55
#define NOTE_AS1 58
20
#define NOTE_B1 62
#define NOTE_C2 65
#define NOTE_CS2 69
#define NOTE_D2 73
#define NOTE_DS2 78
#define NOTE_E2 82
#define NOTE_F2 87
#define NOTE_FS2 93
#define NOTE_G2 98
21
#define NOTE_C4 262
22
#define NOTE_CS6 1109
23
#define NOTE_D8 4699
int melody[] = {
0, NOTE_C7, NOTE_E7, 0,
NOTE_G7, 0, 0, 0,
NOTE_G6, 0, 0, 0,
NOTE_C7, 0, 0, NOTE_G6,
0, 0, NOTE_E6, 0,
0, NOTE_A6, 0, NOTE_B6,
0, NOTE_AS6, NOTE_A6, 0,
0, NOTE_E7, 0, NOTE_C7,
NOTE_D7, NOTE_B6, 0, 0,
NOTE_C7, 0, 0, NOTE_G6,
0, 0, NOTE_E6, 0,
0, NOTE_A6, 0, NOTE_B6,
0, NOTE_AS6, NOTE_A6, 0,
24
NOTE_G6, NOTE_E7, NOTE_G7,
0, NOTE_E7, 0, NOTE_C7,
NOTE_D7, NOTE_B6, 0, 0
};
int tempo[] = {
9, 9, 9,
25
12, 12, 12, 12,
9, 9, 9,
};
// -----------------
#define C 2093
#define D 2349
#define E 2637
#define F 2794
#define G 3136
#define A 3520
#define B 3951
26
const int BUTTON_PIN[] = { 6, 7, 8, 9, 10, 11, 12 };
void setup() {
void loop() {
} else {
mario_tune = false;
if( mario_tune ) {
play_mario_tune();
27
}
/*
* Credit: http://www.linuxcircle.com/2013/03/31/playing-mario-bros-tune-with-arduino-
and-piezo-buzzer/
*/
void play_mario_tune() {
delay(pauseBetweenNotes);
28
buzz(SPEAKER_PIN, 0, noteDuration);
digitalWrite(13, HIGH);
//// Nilai mikrodetik 1 detik, dibagi dengan frekuensinya, lalu dibagi dua sejak itu
long numCycles = frequency * length / 1000; // menghitung jumlah siklus untuk waktu
yang tepat
//// kalikan frekuensi, yang benar-benar siklus per detik, dengan jumlah detik
for (long i = 0; i < numCycles; i++) { // untuk lamanya waktu yang dihitung ...
digitalWrite(targetPin, LOW); // tulis pin buzzer rendah untuk menarik kembali diafragma
digitalWrite(13, LOW);
29
BAB III
PENUTUP
Kesimpulan
Saran
Untuk penyempurnaan pembuatan makalah kedepannya, saya mengharapkan adanya saran
dari semua pihak baik dosen maupun seluruh mahasiswa yang membaca makalah
ARDUINO UNO ini terhadap kekurangan yang terdapat pada makalah ini.
30