Anda di halaman 1dari 33

MICROCONTROLLER

ARDUINO UNO (SIMPLE PIANO LED)

NAMA : FARELL FAHROZI


KELAS : D3TT-42-04
NIM : 6705180029

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.

Bandung, 24 September 2019

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.2 Rumusan Masalah


1.2.1 Apakah maksud dari kata Arduino?
1.2.2 Apa kelebihan dari Arduino?
1.2.3 Bagaimana fitur yang ada di Arduino?
1.2.4 Seperti apa produk Arduino ?

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:

Murah – Papan (perangkat keras) Arduino biasanya dijual relatif murah


(antara 125ribu hingga 400ribuan rupiah saja) dibandingkan dengan platform
mikrokontroler pro lainnya. Jika ingin lebih murah lagi, tentu bisa dibuat sendiri dan itu
sangat mungkin sekali karena semua sumber daya untuk membuat sendiri Arduino
tersedia lengkap di website Arduino bahkan di website-website komunitas Arduino
lainnya. Tidak hanya cocok untuk Windows, namun juga cocok bekerja di Linux.

Sederhana dan mudah pemrogramannya – Perlu diketahui bahwa lingkungan


pemrograman di Arduino mudah digunakan untuk pemula, dan cukup fleksibel bagi
mereka yang sudah tingkat lanjut. Untuk guru/dosen, Arduino berbasis pada lingkungan
pemrograman Processing, sehingga jika mahasiswa atau murid-murid terbiasa
menggunakan Processing tentu saja akan mudah menggunakan Arduino.

Perangkat lunaknya Open Source – Perangkat lunak Arduino IDE


dipublikasikan sebagai Open Source, tersedia bagi para pemrogram berpengalaman
untuk pengembangan lebih lanjut. Bahasanya bisa dikembangkan lebih lanjut melalui
pustaka-pustaka C++ yang berbasis pada Bahasa C untuk AVR.

Perangkat kerasnya Open Source – Perangkat keras Arduino berbasis


mikrokontroler ATMEGA8, ATMEGA168, ATMEGA328 dan ATMEGA1280 (yang
terbaru ATMEGA2560). Dengan demikian siapa saja bisa membuatnya (dan kemudian
bisa menjualnya) perangkat keras Arduino ini, apalagi bootloader tersedia langsung dari
perangkat lunak Arduino IDE-nya. Bisa juga menggunakan breadoard untuk membuat
perangkat Arduino beserta periferal-periferal lain yang dibutuhkan.

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.

Bentuk dan Simbol Fixed Resistor :

Yang tergolong dalam Kategori Fixed Resistor berdasarkan Komposisi bahan pembuatnya
diantaranya adalah :

Carbon Composition Resistor (Resistor Komposisi Karbon)

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.

Carbon Film Resistor (Resistor Film Karbon)

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 (Resistor Film Logam)

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.

Bentuk dan Simbol Variable Resistor :

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.

Preset Resistor (Trimpot)


Preset Resistor atau sering juga disebut dengan Trimpot (Trimmer Potensiometer)
adalah jenis Variable Resistor yang berfungsi seperti Potensiometer tetapi memiliki ukuran
yang lebih kecil dan tidak memiliki Tuas. Untuk mengatur nilai resistansinya, dibutuhkan
alat bantu seperti Obeng kecil untuk dapat memutar porosnya.

C. Thermistor (Thermal Resistor)


Thermistor adalah Jenis Resistor yang nilai resistansinya dapat dipengaruhi oleh
suhu (Temperature). Thermistor merupakan Singkatan dari “Thermal Resistor”. Terdapat
dua jenis Thermistor yaitu Thermistor NTC (Negative Temperature Coefficient) dan
Thermistor PTC (Positive Temperature Coefficient).

Bentuk dan Simbol Thermistor :

7
D. LDR (Light Dependent Resistor)
LDR atau Light Dependent Resistor adalah jenis Resistor yang nilai Resistansinya
dipengaruhi oleh intensitas Cahaya yang diterimanya.

Bentuk dan Simbol LDR :

2) Fungsi-fungsi Resistor
Fungsi-fungsi Resistor di dalam Rangkaian Elektronika diantaranya adalah sebagai
berikut :

 Sebagai Pembatas Arus listrik


 Sebagai Pengatur Arus listrik
 Sebagai Pembagi Tegangan listrik
 Sebagai Penurun Tegangan listrik

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:

 Untuk kabel 9,8 inch sepanjang 25 cm


 Kabel Male to Male 7,7 inch, maka panjangnya 19,5 cm
 Kabel 5,8 inch memiliki panjang 14,7 cm
 Dan untuk kabel 4,6 inch memiliki panjang 11,7 cm

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.

Prinsip Kerja Breadboard

Setelah Anda memahami pengertian dan seperti apa macam-macam breadboard,


maka Anda juga harus paham tentang cara kerja dari board ini. Dikarenakan breadboard
merupakan sebuah papan yang tanpa disolder alias solderless, maka Anda bisa
menggunakannya kembali.

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

Sekilas tadi sudah kami jelaskan mengenai jenis-jenis breadboard. Perbedaan


masing-masing breadboard biasanya akan terlihat dari perbedaan jumlah lubang
koneksi yang ada padanya. Terdapat 3 jenis breadboard yang umum ditemukan di
pasaran. Penjelasannya akan kami berikan secara lengkap pada penjelasan di bawah
ini:

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

Medium breadboard merupakan breadboard yang juga dinamakan sebagai half


breadboard. Hal ini karena jumlah lubang koneksinya merupakan setengah dari
jumlah lubang yang dimiliki oleh jenis yang paling besar. Titik koneksi yang dimiliki
oleh breadboard yang satu ini kurang lebih sebanyak 400.

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

Pengertian Buzzer adalah sebuah komponen elektronika yang dapat


mengubah sinyal listrik menjadi getaran suara. Buzzer ini biasa dipakai pada sistem
alarm. Juga bisa digunakan sebagai indikasi suara. Buzzer adalah komponen
elektronika yang tergolong tranduser. Sederhananya buzzer mempunyai 2 buah kaki
yaitu positive dan negative. Untuk menggunakannya secara sederhana kita bisa
memberi tegangan positive dan negative 3 - 12V.

2.3.5 Push Button


Push button atau yang biasa disebut tombol tekan masih banyak sekali
dipakai untuk menggontrol motor. Tombol yang normal direncanakan untuk berbagai
jenis yang mempunyai kontak normal tertutup (Normaly Close/ NC) atau kontak
normal. .
Push button banyak digunakan pada rangkaian-rangkaian panel kontrol
pompa 1 fasa maupun 3 fasa. Push button berperan sebagai tombol pengendali untuk
menghidupkan dan mematikan sebuah pompa. Selain untuk panel kontrol pada pompa
push button juga bisa digunakan untuk sarana kontrol pada panel-panel listrik seperti
panel Low Voltage Main Distribution Panel (LVMDP).

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.

Cara kerja push button :

1). PUSH BUTTON (NO)

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

3) PUSH BUTTON MENGUNCI

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.

b. Codingan Melody 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.

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

#define NOTE_GS2 104

#define NOTE_A2 110

#define NOTE_AS2 117

#define NOTE_B2 123

#define NOTE_C3 131

#define NOTE_CS3 139

#define NOTE_D3 147

#define NOTE_DS3 156

#define NOTE_E3 165

#define NOTE_F3 175

#define NOTE_FS3 185

#define NOTE_G3 196

#define NOTE_GS3 208

#define NOTE_A3 220

#define NOTE_AS3 233

#define NOTE_B3 247

21
#define NOTE_C4 262

#define NOTE_CS4 277

#define NOTE_D4 294

#define NOTE_DS4 311

#define NOTE_E4 330

#define NOTE_F4 349

#define NOTE_FS4 370

#define NOTE_G4 392

#define NOTE_GS4 415

#define NOTE_A4 440

#define NOTE_AS4 466

#define NOTE_B4 494

#define NOTE_C5 523

#define NOTE_CS5 554

#define NOTE_D5 587

#define NOTE_DS5 622

#define NOTE_E5 659

#define NOTE_F5 698

#define NOTE_FS5 740

#define NOTE_G5 784

#define NOTE_GS5 831

#define NOTE_A5 880

#define NOTE_AS5 932

#define NOTE_B5 988

#define NOTE_C6 1047

22
#define NOTE_CS6 1109

#define NOTE_D6 1175

#define NOTE_DS6 1245

#define NOTE_E6 1319

#define NOTE_F6 1397

#define NOTE_FS6 1480

#define NOTE_G6 1568

#define NOTE_GS6 1661

#define NOTE_A6 1760

#define NOTE_AS6 1865

#define NOTE_B6 1976

#define NOTE_C7 2093

#define NOTE_CS7 2217

#define NOTE_D7 2349

#define NOTE_DS7 2489

#define NOTE_E7 2637

#define NOTE_F7 2794

#define NOTE_FS7 2960

#define NOTE_G7 3136

#define NOTE_GS7 3322

#define NOTE_A7 3520

#define NOTE_AS7 3729

#define NOTE_B7 3951

#define NOTE_C8 4186

#define NOTE_CS8 4435

23
#define NOTE_D8 4699

#define NOTE_DS8 4978

//Mario main theme melody

int melody[] = {

NOTE_E7, NOTE_E7, 0, NOTE_E7,

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,

NOTE_G6, NOTE_E7, NOTE_G7,

NOTE_A7, 0, NOTE_F7, NOTE_G7,

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,

NOTE_A7, 0, NOTE_F7, NOTE_G7,

0, NOTE_E7, 0, NOTE_C7,

NOTE_D7, NOTE_B6, 0, 0

};

//Mario main them tempo

int tempo[] = {

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

9, 9, 9,

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

25
12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

9, 9, 9,

12, 12, 12, 12,

12, 12, 12, 12,

12, 12, 12, 12,

};

// -----------------

#define C 2093

#define D 2349

#define E 2637

#define F 2794

#define G 3136

#define A 3520

#define B 3951

const int notes[] = { C, D, E, F, G, A, B };

const int SPEAKER_PIN = 3;

26
const int BUTTON_PIN[] = { 6, 7, 8, 9, 10, 11, 12 };

void setup() {

pinMode( SPEAKER_PIN, OUTPUT );

for( int i = 0; i < 7; i++ ) {

pinMode( BUTTON_PIN[i], INPUT_PULLUP );

void loop() {

bool mario_tune = true;

for( int i = 0; i < 4; i++ ) {

if( digitalRead(BUTTON_PIN[i]) == LOW ) {

tone( SPEAKER_PIN, notes[i], 20 );

} else {

mario_tune = false;

if( mario_tune ) {

play_mario_tune();

27
}

/*

* Super Mario Theme Song, created by Dipto Pratyaksa

* Credit: http://www.linuxcircle.com/2013/03/31/playing-mario-bros-tune-with-arduino-
and-piezo-buzzer/

*/

void play_mario_tune() {

int size = sizeof(melody) / sizeof(int);

for (int thisNote = 0; thisNote < size; thisNote++) {

// untuk menghitung durasi catatan, ambil satu detik

// dibagi dengan jenis catatan.

// misalnya. not seperempat = 1000/4, not ke delapan = 1000/8, dll.

int noteDuration = 1000 / tempo[thisNote];

buzz(SPEAKER_PIN, melody[thisNote], noteDuration);

// untuk membedakan catatan, atur waktu minimum di antara mereka.

// durasi catatan + 30% tampaknya bekerja dengan baik:

int pauseBetweenNotes = noteDuration * 1.30;

delay(pauseBetweenNotes);

// hentikan nada yang dimainkan:

28
buzz(SPEAKER_PIN, 0, noteDuration);

void buzz(int targetPin, long frequency, long length) {

digitalWrite(13, HIGH);

long delayValue = 1000000 / frequency / 2; // menghitung nilai penundaan antar transisi

//// Nilai mikrodetik 1 detik, dibagi dengan frekuensinya, lalu dibagi dua sejak itu

//// ada dua fase untuk setiap siklus

long numCycles = frequency * length / 1000; // menghitung jumlah siklus untuk waktu
yang tepat

//// kalikan frekuensi, yang benar-benar siklus per detik, dengan jumlah detik

//// dapatkan jumlah siklus untuk diproduksi

for (long i = 0; i < numCycles; i++) { // untuk lamanya waktu yang dihitung ...

digitalWrite(targetPin, HIGH); // tulis pin buzzer tinggi untuk mendorong keluar


diafragma

delayMicroseconds(delayValue); // tunggu nilai penundaan yang dihitung

digitalWrite(targetPin, LOW); // tulis pin buzzer rendah untuk menarik kembali diafragma

delayMicroseconds(delayValue); // tunggu lagi atau nilai penundaan yang dihitung

digitalWrite(13, LOW);

29
BAB III
PENUTUP

Kesimpulan

Dari penjelasan di atas, maka penulis mampu menyimpulkan


bahwa bersama dengan makalah “Arduino Uno (Simple Piano
LED” menyimpulkan bahwa :

1. Bahwa kita dapat mengetahui define dari frekuensi nada-nada


2. kita dapat memahami jika Arduino bisa memainkan nada music
piano dengan menggunakan aplikasi Arduino.
3. Dalam projek tersebut dapat dipakai untuk membuat sebuah music
atau bisa juga untuk menghibur orang dengan memainkan
Projectnya.

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

Anda mungkin juga menyukai