19 ∫
.......................................... 2 Dimana XF merupakan nilai hasil dari transformasi fourier, x t ialah nilai
atau fungsi sinyal dalam domain waktu, merupakan persamaan bentuk
sinyal eksponensial kompleks dengan nilai k = 0, ±1 , ±2,…
FFT pada dasarnya merupakan alih ragam Fourier tapi untuk komponen diskrit. FFT merupakan DFT discrete fourier transform yag memiliki jumlah
komputasi lebih sedikit disbanding komputasi DFT biasa. DFT akan menghasilkan jumlah komputasi sebesar N
2
sedangkan FFT akan menghasilkan jumlah komputasi sebesar Nlog2N. Perhitungan FFT menggunakan butterfly
Radix-2 menghasilkan jumlah komputasi lebih sedikit yakni N2log
2
N. Jumlah titik dalam ketika menggunakan FFT juga memenuhi syarat 2
N
. Implementasi dari FFT antara lain dalam bidang medis, stastistik, pengolahan
citra, suara, telekomunikasi dan lain-lain. FFT juga digunakan untuk menentukan frekuensi mana saja yang akan di filter menggunakan lowpass, highpass,
bandpass dan bandstiop filter. Murray, 1986
2.4. Mikrokontroller
Seiring dari perkembangan zaman kebutuhan manusia akan teknologi kian kompleks, dibutuhkan sebuah teknologi yang serupa komputer namun lebih
efisien dan juga terjangkau harganya. Maka sebuah teknologi muncul untuk dapat melengkapi sebuah computer untuk menjalankan sebuah instruksi yang sedehana,
mudah dan dengan harga yang terjangkau. Mikrokontroler muncul sebagai solusi tersebut, mikrokontroler merupakan perkembangan dari sebuah komputer
20 Kebutuhan pasar dan perkembangan teknologi menjadi 2 faktor utama yang
membuat mikrokontroler kian dibutuhkan dan diminati. Kebuthan akan perangkat elektronik sebagai alat kontrol dan pemroses data serta kemajuan teknologi pada
semikonduktor dan pembuatan chip dengan kemampuan yang tinggi serta murah merupakan penjelasan dari 2 faktor tersebut.
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umumnya dapat menyimpan program di dalamnya,
didalamnya juga terdapat sistem mikroprosessor yang digunakan untuk sistem pengontrolan. Mikrokontroler umumnya terdiri dari CPU Central Processing
Unit, memori, IO tertentu dan unit pendukung lainnya seperti ADC Analog-to- Digital Converter yang sudah terintegrasi di dalamnya. Namun tidak seperti
mikroprosesor pada computer, mikrokontroler ini hanya bisa digunakan untuk suatu aplikasi tertentu saja.
Mikrokontroller juga bekerja sebagai alat yang mengerjakan intruksi –
Instruksi yang diberikan pada mikrokontroller tersebut. Oleh karena itu, hal penting dalam mikrokontroller ialah program yang ada didalamnya yang
digunakan untuk
memberi instruksi-instruksi
untuk dijalankan
oleh mikrokontroller.
Perangkat elektronik yang menggunakan mikrokontroller dalam sistemnya memiliki beberapa kelebihan yaitu :
1. Membutuhkan daya yang rendah
2. Ukuran yang tentunya lebih kecil
21 3.
Mempunyai kemampuan yang tinggi serta mudah untuk berinteraksi dengan komponen lain
4. Biaya produksi lebih rendah karena tidak membutuhkan komponen yang
banyak. 5.
Pembuatan juga tidak memakan waktu yang banyak 6.
Terdapat fasilitas tambahan untuk pengembangan memori dan IO untuk kebutuhan sistem
2.4.1. Arduino UNO
Arduino UNO merupak salah satu keluarga dari anggota mikrokontroler arduino. Sebuah perangkat mini yang dirancang untuk
bekerja sebagai perangkat yang bisa bekerja secara sendiri. Nama “UNO” berasal dari bahasa Italia yang berarti satu, 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. Arduino adalah board mikrokontroler berbasis ATmega328P.
memiliki 14 pin 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 menggunakan
board arduino UNO ke komputer dengan menggunakan kabel USB atau listrik AC ke adaptor DC atau menggunakan baterai untuk menjalankannya.
22 Arduino UNO berbeda dengan semua board sebelumnya dalam hal
koneksi USB-to-serial yaitu menggunakan fitur atmega8U216U2 yang diprogram sebagai konverter USB-to-serial, hal ini berbeda dengan board
sebelumnya yang menggunakan chip FTDI driver USB-to-serial. Fitur-fitur yang dimiliki Arduino UNO ini adalah sebagai berikut :
1. Mikrokontroler ATmega328P
2. Operasi daya 5V
3. Input tegangan 7-12V
4. Input tegangan batas 6-20V
5. Digital IO pins 14 dimana 6 memberikan output PWM
6. Analog Input pin 6
7. Arus DC setiap IO pin 40mA
8. Arus DC untuk 3,3V pin 50mA
9. Flash memory 32 KB
10. SRAM 2 KB
11. EEPROM 1 KB
12. Clock Speed 16Mhz
13. Memiliki ATmega 8U216U2 yang digunakan sebagai konverter
USB-to-serial 14.
Memiliki sirkuit reset 15.
Memiliki pin out : menambahkan SDA dan SCL pin yang dekat ke pin Aref dan dua pin baru lainnya ditempatkan dekat ke pin reset,
23 dengan IO REF yang memungkinakan sebagai buffer untuk
beradaptasi dengan tegangan yang disediakan oleh board sistem. 16.
Mempunyai komunikasi data I2C dan SPI
Gambar II.6. Arduino UNO
Gambar II.7. Deskripsi Arduino UNO dan skematik Arduno UNO
24 Arduino UNO dapat diaktifkan melalui koneksi USB atau dengan catu
daya eksternal. Sumber listrik dipilih secara otomatis. Eksternala non-USB dapat berupa baik AC-DC atau baterai. Adaptor ini dapat dihubungkan
dengan cara menghubungkan plug pusat – positif 2,1 mm ke dalam board
colokan listrik. Sedangkan untuk baterai dapat dihubungkan ke dalam header pin GND dan Vin dari konektor power.
Board dapat beroperasi pada pasokan daya dari 6- 20 volt. Jika diberikan dengan kurang ari 7V, bagaimanapun, pin 5V dapat menyuplai
kurang dari 5V dan board mungkin tidak stabil. Jika menggunakan lebih dari 12V, regulator bisa panas dan merusak board. Rentang yang dianjurkan
adalah 7V-12V. Pin pada Ardino UNO memiliki fungsinya masing-masing adalah
sebagai berikut: Tabel II.2. Deskripsi Pin Arduino UNO
NO PIN
KETERANGAN 1
RX Receiver 0 Pin RX ini berfungsi sebagai pin
untuk menerima data TTL serial yang terhubung ke pin yang sesuai
dari chip ATmega8U2 USB to serial TTL
2 TX Transmitter 1
Pin TX ini berfungsi sebagai pin untuk megirim data TTL serial
yang terhubung ke pin yang sesuai dari chip ATmega8U2 USB to
serial TTL 3
Eksternal Interupsi 2 Pin ini dapat dikonfigurasi untuk
25 dan 3
memicu interupsi pada nlai yang rendah, tepi naik atau jatuh, atau
perubahan nilai 4
PWM 3,5,6,9,10,dan11 Menyediakan 8-bit output PWM
dengan analogWrite fungsi 5
SPI 10SS, 11MOSI, 12MISO, 13SCK
Pin ini mendukung komunikasi SPI menggunakan library SPI
6 LED 13
Ada built-in LED terhubung ke pin digital 13. Ketika pin dalam
keadaan nilai tinggi Led menyala, ketika pin rendah mati
7 I2C A4 SDO dan A5
SCL Berfungsi
sebagai pendukung
omunikasi I2C 8
Vin Tegangan masukkan kepada board
arduino ketika
menggunakan sumber daya eksternal
9 GND
Berfungsi sebagai Ground 10
5V Catu daya yang digunakan untuk
daya mikrokontroler dan koponen lainnya
11 3v3
Berfungsi sebagai pasokan 3,3 volt dihasilkan oleh regulator onboard
12 Reset
Berfungsi untuk
mereset mikrokontroler
13 IOref
Referensi tegangan untuk input analog.
Digunakan untuk
analogReference
26 Arduino UNO memiliki 6 input analog diberi label A0 sampai A5,
masing masing menyediaan 10 bit resolusi 1024 nilai yang berbeda. Secara default sistem mengukur dari Ground sampai 5 Volt, meskipun mungkin
untuk mengubah ujung atas rentang menggunakan pin IOref dan fungsi analogReference.
Arduino UNO memiliki sejumlah fasilitas untuk berkomunikasi dengan computer, arduino atau mikrokontroler lainnya. Pada arduino UNO
ini terdapat mikrokontroler ATmega328P yang menyediakan UART TTL 5V komunikasi serial yang tersedia di pin digital 0 RX dan 1 TX.
Sebuah AT mega8U216U2 pada board ini berfungs sebagai komunikasi serial melalui USB dan muncul sebagai com port virtual pada computer.
Firmware ATmega8U216U2 menggunakan USB driver standar COM, dan tidak dibutuhkn driver eksternal yang diperlukan. Namun pada windows
diperlukan file Inf. Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data sederhana yang akan dikirim ke board arduino. RX dan
TX di board LED akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan koneksi USB ke computer tetapi tidak untuk omunikasi
serial pada pin0 dan1. Fungsi ini digunakan untuk melakukan komunikasi interface pada sistem. ATmega 328P juga mendukung komunikasi I2C dan
juga SPI. Arduino menggunakan pemrograman dengan bahasa C. setiap
program Arduino sketch mmpunyai dua buah fungsi yang harus ada, yaitu : 1.
void setup { }
27 Semua kode didalam kurung kurawal akan dijalankan hanya satu
kali ketika program Arduino dijlankan untuk pertama kalinya. 2.
void loop { } Fungsi ini akan dijalankan setelah setup fungsi void setup
selesai. Setelah dijalankan satu kali fungsi ini akan dijalnkan lagi, dan lagi secara terus menerus sampai power dilepaskan
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan, yaitu:
1. komentar satu baris
Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah
garis miring dan apapun yang kita ketikkan dibelakngnya akan diabaikan oleh program
2 komentar banyak baris
Jika ada banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di
antara dua symbol tersebut akan diabaikan oleh program. 3.
{ }kurung kurawal Digunakan untuk mendefinisikan kapan blog program mulai dan
berakhir digunakan juga pada fungsi dan pengulangan 4.
;titik koma Setiap baris kode harus diakhiri tanda titik koma jika ada titik
koma yang hilang maka program tidak akan bisa dijalankan
28 Sebuah program secara garis baris dapat didefinisikan sebagai intruksi
untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.
1. int integer
Digunakan untuk menyimpan angka dalam 2 byte 16bit. Tidak mempunyai angka decimal dan menyimpan nilai dari -32,768 dan
32,767 2.
long long digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte
32bit dari memori RAM dan mempunyai rentang dari - 2,147,483,648 dan 2,147,483,647.
3. boolean Boolean
variabel sederhana yang digunakan untuk menyimpan nilai TRUE benar atau FALSE salah. Sangat berguna karena hanya
menggunakan 1 bit dari RAM. 4.
float float Digunakan untuk angka decimal floating point. Memakai 4 byte
32 bit dari RAM dan mempunyai rentang -3.4028235E+38 dan 3.4028235+38.
5. Char character
Menyimpan 1 karakter menggnakan kode ASCII misalnya „A‟ =65. Hanya memakai 1 byte 8bit dari RAM
29 Operator yang digunakan untuk manipulasi angka bekerja seperti
matematika yang sederhana. 1.
= Membuat sesuatu menjadi sama dengan nilai yang lain misalnya:
x = 10 2, x sekarang nlainya sama dengan 20. 2.
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain misalnya: 12 10, ini akan menghasilkan
angka 2 3.
+ Penjumlahan
4. Perkalian
5. -
Pengurangan 6.
Pembagian
Operator pembanding digunakan untuk membandingkan nilai logika 1.
= Sama dengan misalnya 12 == 10 adalah FALSE salah atau
12==12 adalah TRUE benar 2.
=
30 Tidak sama dengan misalnya 12 = 12 adalah FALSE salah
3. Lebih kecil dari misalnya 12 10 adalah FALSE atau 12 12
adalah FALSE atau 12 14 adalah TRUE 4.
Lebih besar dari misalnya 12 10 adalah TRUE atau 12 12 adalah FALSE atau 1214 adalah FALSE
Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah beberapa elemen dasar pengaturan
1. if..else, dengan format sebagai berikut ini :
if kondisi { } else if {kondisi}
else { }
dengan struktur tersebut program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika
FALSE maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan.
2. for, dengan format seperti berikut ini:
for int i = 0; I pengulangan; i++ { }
digunakan apabila ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti pengulangan dengan jumlah
31 pengulangan yang diinginkan. Melakukan penghitungan ke atas
dengan i++ atau ke bawah dengan i-- untuk digital ada beberapa elemen dasar pengaturan diantaranya sebagai berikut:
1. pinMode pin,mode
digunakan untuk menetapkan mode dari suatu pin, pin adalah nomer pin yang akan digunakan dari 0-19 pin analog 0-5 adalah
14-19. Mode yang bisa digunakan adalah INPUT atau OUTPUT
2. digitalWrite pin,value
ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH ditarik menadi 5 volt atau LOW diturunkan
mejadi ground. 3.
digitalReadpin ketika sebuah pin ditetapkan sebagai INPUT maka kita dapat
menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH ditarik menjadi 5 volt atau LOW diturunkan
menjadi ground.
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi diadalam analog. Berikut adalah elemen dasar pengaturannya :
1. analogWritepin,value
beberapa pin pada arduino mendukung PWM pulse width modulation yaitu 3, 5, 6, 9, 10, 11. Ini dapat meruah pin hidup
on atau mati off dengan cepat sehinggaa mambuatnya dapat
32 berfungsi layaknya keluaran analog, value pada format kode
tersebut adalah angka antara 0 0 duty cycle ~ 0V dan 255 100 duty cycle ~ 5V
2. analogReadpin
ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltasenya. Keluaran berupa angka antara 0 untuk 0
volts dan 1024 untuk 5 volts Anonim, Arduino
2.4.2. Spesifikasi Atmega 328P
Dalam arduino UNO dilengkapi atau diintegrasikan dengan mikrokontroler ATmega328P. mikrokontroler ATmega328P merupakan 8 bit
mikrokontroler dari keluarga Atmel yang memiliki daya rendah dan arsitektur RISC reduce Instruction Set Computer yang mmiliki kecepatan
yang lebi cepat daripada arsitektur CISC Completed Instruction Set Computer. Mikrokontroler ini memberikan instrksi dalam satu kali siklus
clock dengan 131 macam instruksi dengan menggabungkan instruksi dengan 32 register utama yang bekerja. Semua regiter ini kana langsung
berhubungan dengan Arithmetic Logic Unit ALU. Dalam mikrokontroller Atmega 328P memiliki spesifikasi yang
berbeda dengan mikrokontroller jenis lainnya. Berikut ialah spesifikasi dari mikrokontroller Atmega 328P :
1. Memiliki kemampuan yang tinggi namun membutuhkan daya yang
rendah
33 2.
Memiliki 131 instruksi yang kebanyakan dijalankan dalam satu siklus clock
3. 32 x 8 bit dengan fungsi register serbaguna
4. 32 K Bytes flash memory
5. 1 K Bytes EEPROM
6. 2 K Bytes Internal SRAM
7. Siklus penulisan sebanyak 10.000 flash dan penghapusan 100.000
EEPROM 8.
Dapat mengingat atau menyimpan data selama 20 tahun pada 85 oC 100 tahun pada 25 oC
9. Menggunakan komunikasi serial data SPI atau I2C, baik sebagai
master maupun slave. 10.
Memiliki operasi voltase sebesar 1,8 – 5,5
Gambar II.8. Deskripsi pin ATmega 328P
34 Deskripsi Mikrokontroller ATMega 328P
1.
VCC: Digital Power Supply
2.
GND: Ground
3.
Port B: Berfungsi sebagai bidirectional port IO sebanyak 8 bit.
PB6 dapat digunakan sebagai input menuju inverting amplifier dan input menuju internal clock sistem operasi. PB7 juga dapat
digunakan sebagai output dari inverting amplifier.
4.
Port C : Berfungsi sebagai bidirectional port IO sebanyak 7
bit. PC5…0 berfungsi sebagai output yang memiliki
5.
RESET: Apabila RSTDISBL telah di program PC6 digunakan
sebagai pin IO and apabila RSTDISBL tidak deprogram, maka PC6 digunakan sebagai input RESET
6.
PortD PD7:0: Berfungsi sebagai bidirectional port IO sebanyak
8-bit.
7. AVCC :
Digunakan sebagai pin power supply untuk analog digital converter. Apabila menggunakan ADC, maka AVCC harus
dikoneksikan dengan VCC melewati low-pass filter. Apabila tidak menggunakan ADC, AVCC juga harus dikoneksikan dengan VCC.
8. AREF:
AREF ialah pin referensi analog untuk Analog Digital Converter.
9. ADC7:6:
ADC7:6 berfungsi sebagai pin input analog menuju Analog Digital Converter. Anonim, Analog Device
35
2.5. Komunikasi Data