BAB II
LANDASAN TEORI
2.1 Tinjauan Pustaka
Pengukuran besaran listrik berupa tegangan dapat dilakukan dengan
menggunakan AT-Mega8535 kemudian hasil dari perthitungan tersebut di
tampilkan pada perangkat lunak komputer berbasis perangkat lunak Visual Basic.Net yang berfungsi untuk perangkat dokumentasi data hasil pengukuran (Hidayat K, Itmi dan Hayat, Latiful. 2012). Pada karya ilmiah ini pengukuran
daya listrik berupa tegangan dilakukan dengan menggunakan AT-Mega328 dan
hasil dari pengukuran tersebut akan ditampilkan di LCD 16X2 dan data yang
tertera akan disuarakan.
Pada suatu penelitian, Multi Meter Dengan Tampilan Seven Segment Dan
Isyarat Suara (Joni Permana, 2007), dimana proses penyimpan sura menggunakan
ADC MC14433 sebagai pengolah data analog menjadi digital yang kemudian
akan dialamatkan oleh IC mikrokotroler AT89S52.
Pada penelitian rancang bangun alat ukur konduktansi listrik otomatis
berbasis mikrokontroler AT-Mega8535, mikrokontroler yang digunakan yaitu seri
AT-Mega karena mikrokontroler ini mudah didapatkan dan harganya lebih murah
dibanding dengan seri lainnya. Alat ukur konduktasi listrik otomatis berbasis
mikrokontroler dirancang agar bermanfaat dari sistem akuisisi datanya. Sistem
akuisisi data dari rancang bangun alat ukur ini dibuat bersifat otomatis. Pengaruh
suhu terhadap konduktansi sebuah sampel bahan ditampikan pada layar penampil
mikrokontroler AT-Mega85835 pada rancang bangun alat ukur ini dapat
memberikan kemudahan dalam sistem akuisisi data. Selain itu, sistem
pengoperasian dalam akuisis data yang dilakukan seacara otomatis memberikan
kemudahan saat melakukan pengukuran karena tidak paerlu memantau alat saat
sedang melakukan pengukuran (Dwi Harjono, 2014).
Berdasarkan tinjauan pustaka didepan menjadi acuan pada pembuatan
Tugas Akhir ini. Akan tetapi ada banyak hal yang berbeda, diantaranya dari segi
komponen elektronik yang digunakan, konsep rangkaian yang berbeda, serta
spesifikasi alat secara keseluruhan. Alat ukur tegangan bersuara pada Tugas Akhir
ini menggunakan SDcard sebagai media penyimpan suara dan mikrokontroler
ATMega328 sebagai pusat pengatur dan pengendali. Dan data hasil pengukuran
akan ditampilkan dalam bentuk digital kemudian di suarakan.
2.2 Landasan Teori 2.2.1 IC LM7805
LM7805 merupakan komponen yang digunakan untuk meregulasi
tegangan untuk memperoleh keluaran sebesar ± 5V. IC ini memiliki tiga buah
Gambar 2.1 LM7805
Di dalam sebuah IC LM7805 sebenarnya terdapat rangkaian yang terdiri
dari sebuah dioda zener, penguat operasi, transistor, dan tiga buah resistor. Dioda
zener digunakan sebagai peregulasi tegangan, sedangkan penguat operasi
digunakan sebagai pembanding antara tegangan acuan yanga berasal dari dioda
zener dan perubahan tegangan keluaran. Berikut ini adalah rangkaian pada IC
LM78XX.
V in
V ref
+
-V out
Gnd
Gambar 2.2 Rangkaian LM78XX
Cara kerja rangkaian adalah sebagai berikut:
1. Pada saat tegangan keluaran naik, maka besaran tegangan masukan
2. Apabila besar tegangan ini lebih besar dari tegangan acuan, pada masukan
(V+) akan menyebabkan keluaran penguat operasi akan rendah sehingga
transistor akan mati dan keluaran rangkaian akan turun.
3. Dengan turunnya tegangan keluaran rangkaian akan menyebabkan nilai
tegangan pada masukan penguat pembalik (V-) penguat operasi akan
semakin turun.
4. Apabila nilai tegangan ini kurang dari tegangan acuannya, maka keluaran
penguat operasi akan tinggi dan transistor akan terhubung dan tegangan
keluaran akan naik.
5. Proses tersebut akan berulang-ulang sehingga diperoleh tegangan yang
konstan.
Tabel 2.1 Jenis IC LM78XX
Tipe IC
IC regulator LM7805 merupakan salah satu jenis dari LM78XX yang
masing-masing tegangan input minimal dan maksimal. Jadi, dalam mengaplikasikan LM78XX tidak hanya hanya dilihat dari tegangan output saja, tetapi juga besar tegangan input agar komponen LM78XX tidak mengalami kerusakan. Karakteristik dari masing-masing IC LM78XX bias dilihat secara
detail pada data sheet.
2.2.2 Kristal Frekuensi
Kristal frekuensi adalah komponen yang berfungsi untuk membangkitkan
frekuensi osilasi dengan stabilitas yang sangat tinggi. Frekuensi osilasi diperoleh
dari efek piezoelektrik. Bahan yang biasa digunakan untuk memperoleh efek
piezoelektrik diantaranya kwarsa, garam Rochelle dan tourmaline. Bahan yang banyak digunakan adalah kristal kwarsa.
Keping tipis dari kristal kwarsa tersebut dipasang antara elektroda.
Frekuensi ini dibangkitkan dengan cara memberikan tegangan pada permukaan
keping kristal. Dengan memberikan tegangan pada permukaan keping kristal,
maka keping tersebut akan mengalami getaran mekanis. Sebaliknya, jika kristal
ini dikenakan getaran mekanis maka permukaan kristal akan menghasilkan
tegangan listrik.
Nilai frekuensi yang dibangkitkan oleh kristal biasanya tercetak diatas
permukaan kemasannya. Sebagai contoh, kristal yang bertuliskan 12.000,
maksudnya kristal tersebut bekerja pada frekuensi 12,000 MHz.
2.2.3 Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol
rangkaian elektonik dan umumnya dapat menyimpan program di dalamnya.
Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit). Memori I/O tertentu dan unit pendukung seperti ADC (Analog to Digital Converter) yang sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah
tersedianya RAM dan peralatan I/O pendukung sehingga ukuran papan
mikrokontroler menjadi sangat ringkas.
Mikrokontroler terdiri dari beberapa bagian seperti processor, memori (RAM dan ROM), port I/O dan pendukung lainnya seperti counter/timer dan lain sebagainya. Semua terbungkus dalam sutu kemasan chip. Fitur inilah yang
membedakan dengan sistem mikroposesor. Sebuah mikroprosesor juga memiliki
memori, port I/O dan pendukung lainnya untuk menjadi sebuah unit yang komplit,
akan tetapi semua komponen tersebut terpisah dari chip processor. Jika sistem mikroprosesor dapat diprogram untuk melakukan banyak fungsi, maka sistem
mikrokontroler hanya dapat melakkan sebuah tugas dan menjalankan sebuah
Gambar 2.4 Perbedaan dasar mikroprosesor dan mikrokontroler.
Gambar 2.4 memperlihatkan perbedaan dasar antara suatu sistem
mikroprosesor dengan sistem mikrokontroler. Dari Gambar 2.4 dapat dilihat jika
sistem mikroprosesor membutuhkan device pendukung untuk membuatnya menjadi sebuah unit yang komplit dan bekerja, sementara dalam sistem
mikrokontroler fungsi-fungsi dari device pendukung telah terbungkus dalam sebuah chip.
AVR merupakan mikrokontroler dengan arsitektur Harvard di mana
diantara kode program dan data disimpan dalam memori secara terpisah.
Umumnya arsitektur Harvard ini menyimpan kode program dalam memori
permanen atau semi-permanen (non volatile) sedangkan data disimpan dalam memori tidak permanen (volatile). Sehingga dengan arsitektur seperti ini memori program mikrokontroler menjadi lebih terlindungi dari spike tegangan dan faktor lingkungan lain yang dapat merusak kode program. Beberapa jenis AVR memiliki
Flash, EEPROM dan SRAM yang semuanya terintegrasi dalam satu IC, sehingga untuk aplikasi-aplikasi tertentu tidak akan memerlukan memori eksternal (Agus
Bejo, 2008).
2.2.3.1Mikrokontroler AT-Mega 328
AT-Mega 328 adalah mikrokontroller keluaran dari Atmel yang
mempunyai arsitektur RISC (Reduce Instruction Set Computer) dimana setiap proses eksekusi data lebih cepat dari arsitektur CISC (Completed Instruction Set Computer). Mikrokontroler AT-Mega 328 memiliki arsitektur Havard, yaitu memisakan memori untuk kode program dan memori untuk data sehingga dapat
memaksimalkan kerja dan parallelism. Intruksi-intruksi dalam memori program dieksekusi dalam satu alur tunggal dimana pada saat satu instruksi dikerjakan
instruksi berikutnya sudah diambil dari memori program. Konsep inilah yang
memungkinkan instruksi-instruksi dapat dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba guna digunakan untuk mendukung operasi pada
register serbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit pada
mode pengalamatan tidak langsung untuk mengambil data pada ruang memori
data.
Ketiga register pointer 16-bit ini disebut dengan register X (gabungan R26 dan R27 ), register Y (gabungan R28 dan R29), dan register Z (gabungan R30 dan
R31). Hamper semua intruksi AVR memiliki format 16-bit. Setiap alamat memori
program terdiri dari instruksi 16-bit atau 32-bit.
Selain register serba guna di atas, terdapat register lain yang terpetakan
dengan teknik Memory Mapped I/O selebar 64 Byte. Beberapa register ini digunakan untuk fungsi SPI, EEPROM, dan fungsi I/O lainnya. Register-register
ini menempati memori pada alamat 0x20h – 0x5Fh.
2.2.3.2Fitur AT-Mega 328
Fasilitas yang dimiliki oleh mikrokontroler AT-Mega 328 adalah sebagai
berikut:
1. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus.
2. 32 x 8-bit register serba guna.
3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
4. 32 KB Flash Memory.
5. Memiliki EEPROM ( Electrically Erasable Programmable Read Only
Memory ) sebesar 1 KB.
8. Master / Slave SPISerial interface.
a) Konfigursi Port B
Tabel 2.2 Konfigurasi port B
b) Konfigurasi Port C
c) Konigurasi Port D
Tabel 2.4 Konfigurasi Port D
2.2.3.3Arsitektur Mikrokontroler AT-Mega 328
Mikrokontroller ATmega 328 memiliki arsitektur Harvard, dimana memori untuk kode program dan memori untuk data dipisahkan sehingga dapat
memaksimalkan kerja. Instruksi – instruksi dalam memori program dieksekusi
dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan instruksi
berikutnya sudah diambil dari memori program. Konsep inilah yang
memungkinkan instruksi – instruksi dapat dieksekusi dalam setiap satu siklus
clock.
2.2.4 Liquid Crystal Display (LCD)
LCD menggunakan interaksi unik antara karakteristik dan optik dari suatu
kelompok cairan berada tetap dalam bentuk kristal. Hal ini memberikan sifat optik
yang sangat dibutuhkan sebagai peralatan display. Dengan menggunakan display
kristal cair, maka tidak ada cahaya yang dibangkitkan (berbeda dengan seven segment) sehingga komsumsi daya yang dibutuhkan kecil. Karena itu LCD digerakkan dengan untaian MOS dan CMOS. Semua fungsi dihubungkan dengan
software dan instruksi- instruksi program ke MCU.
LCD LMB162 merupakan modul LCD dengan konsumsi daya rendah
yang di rancang dengan CMOS internal driver. Disamping itu, modul ini juga telah dilengakapi dengan rangkaian reset otomatis, rangkaian osilator, RAM dan
ROM. Dalam pengoprasianya, masing masing penyemat memiliki fungsi sebagai
Tabel 2.5 Fungsi Penyemat LCD LMB162
Penyemat Simbol Logika Keterangan
1 Vss - Catu Daya 0 Volt (Ground)
2 Vcc - Catu Daya 5 Volt
3 Vee - Catu daya untuk LCD
4 RS H/L H: Masukan Data, L: Masukan Instruksi
5 R/W H/L H: Baca (Read), L: Tulis (Write)
6 E H/L (L) EnableSignal
7 DB0 H/L Data Bit 0
8 DB1 H/L Data Bit 1
9 DB2 H/L Data Bit 2
10 DB3 H/L Data Bit 3
11 DB4 H/L Data Bit 4
12 DB5 H/L Data Bit 5
13 DB6 H/L Data Bit 6
14 DB7 H/L Data Bit 7
15 V+ BL - Backlight 4-4,2 Volt ; 50-200 mA
16 V- BL - Backlight 0 Volt (ground)
Konfigurasi pin dari lcd LMB162 ditunjukkan pada gambar dibawah ini:
Berikut ini adalah fungsi yang dimiliki dari setiap kaki LCD LMB162 :
1. Kaki 1 (VCC) : Kaki ini berhubungan dengan dengan tegangan +5 Volt
yang merupakan tegangan untuk sumber daya.
2. Kaki 2 (GND) : Kaki ini berhubungan dengan tegangan 0 Volt (ground).
3. Kaki 3 (VEE/VLCD) : Tegangan pengatur kontras LCD, kaki ini
terhubung pada cermet. Kontras mencapai nilai maksimum pada saat
kondisi kaki ini pada tegangan 0 Volt.
4. Kaki 4 (RS) : Register select, kaki pemilih register yang akan di akses ke
Register data, logika dari kaki ini adalah 1 dan untuk akses ke Register perintah, logika dari kaki ini adalah 0.
5. Kaki 5 (R/W) : Logika 1 pada kaki ini menunjukan bahwa modul LCD
sedang pada mode pembacaan dan logika 0 menunjukan bahwa modul
LCD sedang pada mode penulisan. Untuk aplikasi yang tidak memerlukan
pembacaan data pada modul LCD, kaki ini dapat langsung di hubungkan
ke Ground.
6. Kaki 6 (E) : Enable Clock LCD, kaki mengaktifkan clock LCD. Logika 1 pada kaki ini diberikan pada saat penulisan atau pembacaan data.
7. Kaki 7-14 (DO-D7) : Data bus, kedelapan kaki LCD ini adalah bagian dimana aliaran data sebanyak 4 bit ataupun 8 bit mengalirkan saat proses
penulisan maupun pembacaan data.
9. Kaki 16 (Katoda) : Tegangan negatif back Light LCD sebesar 0 Volt (hanya terdapat pada LCD yang memiliki backlight).
Karakteristik LCD LMB162.
1. Terdapat 16X2 karakter huruf yang bisa di tampilkan
2. Setiap huruf terdiri dari 5X7 dot-matrix cursor.
3. ROM pembangkit karakter untuk 192 tipe karakter (bentuk karakter 5x7
matriks titik).
4. Mempunyai dua jenis RAM, yaitu RAM pembangkit karakter dan RAM
data tampilan.
5. RAM pembangkit karakter untuk 8 tipe karakter program tulis dengan
bentuk 5x7 matrik titik.
6. Terdapat 80 X 8 bit display RAM (maksimal 80 karakter)
7. Memiliki kemampuan penulisan dengan 8bit maupun dengan 4bit
8. Dibangun dengan isolator lokal.
9. Satu sumber tegangan 5 Volt.
10. Otomatis reset saat tegangan dihidupkan.
11. Bekerja pada suhu 0 sampai 55 derajat
LCD LM162 terdiri dari dua bagian utama. Bagian pertama merupakan
panel LCD sebagai media penampil informasi dalam bentuk huruf/angka dua
baris, masing-masing baris bisa menampung 16 huruf/angka. Bagian kedua
merupakan sebuah sistem yang dibentuk dengan mikrokontroler yang ditempelkan
komunikasi LCD LMB162 dengan mikrokontroler. Gambar 2.9 merupakan
diagram blok pengendali LCD.
Gambar 2.9 Pengendali LCD
Gambar 2.9 menjelaskan bahwa data inputan pada LCD yang berupa 8 bit
data (D0-D7) diterima terlebih dahulu di dalam mikrokontroler dalam LCD yang
berguna untuk mengatur data inputan sebelum ditampilkan dalam LCD. Selain itu
juga dilengkapi dengan inputan E, R/W, dan RS yang digunakan sebagai
pengendali mikrokontroler. Pada proses pengiriman data R/W=1 dan proses
pengambilan data R/W=0.
Penyemat RS dipakai untuk membedakan jenis data yang dikirim, jika
sedangkan jika RS=1 data yang dikirim adalah kode ASCII yang ditampilkan.
Demikian pula saat pengambilan data, jika RS=0 data yang diambil dari modul
merupakan data status yang mewakili aktivitas modul LCD, sedangkan saat RS=1
maka data yang diambil merupakan kode ASCII dari data yang ditampilkan.
2.2.5 MicroSD Card Adapter
Modul (MicroSD Card Adapter) adalah modul pembaca kartu Micro SD,
melalui sistem file dan SPI ( Serial Peripheral Interface ) antar muka drive, MCU untuk melengkapi sistem file untuk membaca dan menulis kartu MicroSD. Pengguna Arduino langsung dapat menggunakan Arduino IDE dilengkapi dengan
kartu SD untuk menyesuaikan inisialisasi kartu perpustakaan dan
membaca-menulis.
Pinout dari SD card dapat dihubungkan ke Arduino maupun mikrokontroler lainya, sehingga bermanfaat untuk menambah kapasitas tempat
penyimpanan data dan pencatatan data. SD card ini dapat langsung dipasang pada Arduino dan terdapat switch untuk memilih flash card slot. Keistimewaan dari SD
Module ini adalah:
1. Terdapat module untuk standar SD card dan Micro SD (TF) card.
2. Terdapat switch untuk memilih flash card slot.
Gambar 2.10 Modul MicroSD Card Adapter
Berikut ini adalah fitur-fitur yang dimiliki modul microSD Card Adapter : 1. Mendukung kartu Micro SD, kartu Micro SDHC (kartu kecepatan
tinggi)
2. Tingkat konversi papan sirkuit yang antarmuka level untuk 5V atau
3,3V
3. Power supply adalah 4,5V – 5,5V, regulator tegangan 3,3V papan
sirkuit
4. Adalah komunikasi antarmuka SPI ( Serial Peripheral Interface ) antarmuka standar 5, empat (4) M2 lubang sekrup posisi untuk
2.2.6 File WAV
WAV merupakan standar format file yang digunakan oleh Windows. WAV umumnya digunakan dalam menyimpan audio tak terkompresi untuk
menyimpan file suara berkualitas. File wav juga dapat berisi data terkodekan
dengan beraneka ragam codec untuk mengurangi ukuran file.
WAV adalah format audio standar Microsoft dan IBM untuk personal computer (PC), biasanya menggunakan coding Pulse Code Modulation (PCM). WAV adalah data tidak terkompres sehingga seluruh sampel audio disimpan semuanya di harddisk. Software yang dapat menciptakan WAV dari analog sound
misalnya adalah Windows Sound Recorder. File audio ini jarang sekali digunakan di internet karena ukurannya yang relatif besar dengan batasan maksimal untuk
file WAV adalah 2 GB . Parameter-parameter tersebut menyatakan setting yang digunakan oleh Analog-to-Digital Converter(ADC) pada saat data audio direkam. Biasanya laju sampel juga dinyatakan dengan satuan Hz atau kHz. Sebagai
gambaran, data audio digital yang tersimpan dalam CD audio memiliki karakteristik laju sampel 44100 Hz, 16 bit per sampel, dan 2 kanal (stereo), yang berarti setiap satu detik suara tersusun dari 44100 sampel, dan setiap sampel
tersimpan dalam data sebesar 16-bit atau 2 byte. Laju sampel selalu dinyatakan untuk setiap satu kanal. Jadi misalkan suatu data audio digital memiliki 2 kanal dengan laju sampel 8000 sampel/detik, maka sesungguhnya di dalam setiap
detiknya akan terdapat 16000 sampel. Sebagaimana telah dijelaskan sebelumnya
yaitu suatu metode yang digunakan untuk mengkonversikan sinyal audio dari bentuk analog ke bentuk digital.
2.2.7 Bahasa C
2.2.7.1Struktur Penulisan Bahasa C
Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah
program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada
dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan
untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh
fungsi) diawali dengan tanda kurung kurawal buka ({) dan diakhiri dengan tanda
kurung kurawal tutup (}). Diantara kurung kurawal itu dapat dituliskan
statemen-statemen program C. Namun pada kenyataannya, suatu fungsi bisa saja tidak
mengandung pernyataan sama sekali. Walaupun fungsi tidak memiliki pernyataan,
kurung kurawal haruslah tetap ada. Sebab kurung kurawal mengisyaratkan awal
Bahasa C dikatakan sebagai bahasa pemrograman terstruktur karena
strukturnya menggunakan fungsi-fungsi sebagai program-program bagiannya
(subroutine). Fungsi-fungsi yang ada selain fungsi utama (main()) merupakan program-program bagian. Fungsi-fungsi ini dapat ditulis setelah fungsi utama atau
diletakkan pada file pustaka (library). Jika fungsi-fungsi diletakkan pada file
pustaka dan akan dipakai pada suatu program, maka nama file judulnya (header file) harus dilibatkan dalam program yang menggunakannya dengan preprocessor directive berupa #include.
2.2.7.2Pengenalan Fungsi-Fungsi Dasar
a) Fungsi main()
Fungsi main() harus ada pada program, sebab fungsi inilah yang menjadi titik awal dan titik akhir eksekusi program. Tanda { diawal fungsi
menyatakan awal tubuh fungsi dan sekaligus awal eksekusi program,
sedangkan tanda } diakhir fungsi merupakan akhir tubuh fungsi dan
sekaligus adalah akhir eksekusi program. Jika program terdiri atas lebih
dari satu fungsi, fungsi main() biasa ditempatkan pada posisi yang paling atas dalam pendefinisian fungsi. Hal ini hanya merupakan kebiasaan.
Tujuannya untuk memudahkan pencarian terhadap program utama bagi
pemrogram. Jadi bukanlah merupakan suatu keharusan.
b) Fungsi printf()
tulisan:
Selamat belajar bahasa C
misalnya, pernyataan yang diperlukan berupa:
printf(“Selamat belajar bahasa C”);
Pernyataan di atas berupa pemanggilan fungsi printf() dengan argumen atau parameter berupa string. Dalam C suatu konstanta string
ditulis dengan diawali dan diakhiri tanda petik ganda (“). Perlu juga
diketahui pernyataan dalam C selalu diakhiri dengan tanda titik koma (;).
Tanda titik koma dipakai sebagai tanda pemberhentian sebuah pernyataan
dan bukanlah sebagai pemisah antara dua pernyataan. Tanda \ pada string
yang dilewatkan sebagai argumen printf() mempunyai makna yang khusus. Tanda ini bisa digunakan untuk menyatakan karakter khusus
seperti karakter baris-baru ataupun karakter backslash (miring kiri). Jadi karakter seperti \n sebenarnya menyatakan sebuah karakter. Contoh
karakter yang ditulis dengan diawali tanda \ adalah:
\” menyatakan karakter petik-ganda
\\ menyatakan karakter backslash
\t menyatakan karakter tab
Dalam bentuk yang lebih umum, format printf()
printf(“string kontrol”, daftar argumen);
dengan string kontrol dapat berupa satu atau sejumlah karakter yang akan
penampilan dari argumen yang terletak pada daftar argumen. Mengenai
penentu format diantaranya berupa:
%d untuk menampilkan bilangan bulat (integer)
%f untuk menampilkan bilangan titik-mengambang (pecahan)
%c untuk menampilkan sebuah karakter
%s untuk menampilkan sebuah string
Contoh:
2.2.7.3 Pengenalan Praprosesor #include
#include merupakan salah satu jenis pengarah praprosesor (preprocessor directive). Pengarah praprosesor ini dipakai untuk membaca
file yang diantaranya berisi deklarasi fungsi dan definisi konstanta. Beberapa file judul disediakan dalam C. File-file ini mempunyai cirri yaitu namanya diakhiri dengan ekstensi .h. Misalnya pada program #include <stdio.h> menyatakan pada kompiler agar membaca file bernama stdio.h
saat pelaksanaan kompilasi.
Bentuk umum #include:
Bentuk pertama (#include <namafile>) mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus, yaitu direktori file include. Sedangkan bentuk kedua (#include “namafile”) menyatakan bahwa pencarian file dilakukan pertama kali pada direktori aktif tempat program sumber dan seandainya tidak ditemukan pencarian akan dilajutkan pada
direktori lainnya yang sesuai dengan perintah pada sistem operasi.
Kebanyakan program melibatkan file stdio.h (file-judul I/O standar, yang disediakan dalam C). Program yang melibatkan file ini yaitu program yang menggunakan pustaka I/O (input-output) standar seperti
printf().
2.2.7.4Komentar dalam Program
Untuk keperluan dokumentasi dengan maksud agar program mudah
dipahami suatu saat lain, biasanya pada program disertakan komentar atau
keterangan mengenai program. Dalam C, suatu komentar ditulis degan diawali
dengan tanda /* dan diakhiri dengan tanda */.
Printf(“coba\n”); //ini komentar satu baris
}
2.2.8 Struktur program arduino
Struktur dasar dari bahasa pemrograman arduino adalah terdiri dari dua
bagian yaitu:
Dimana setup ( ) bagian untuk inisialisasi yang hanya dijalankan sekali di awal
program, sedangkan loop () untuk mengeksekusi bagian program yang akan dijalakan berulang ulang untuk selamanya.
a) Fungsi Setup ()
Fungsi setup () hanya di panggil satu kali ketika program pertama kali di
jalankan. Ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. Fungsi setup () harus di ikut sertakan dalam program walaupun tidak ada
statement yang di jalankan. void setup ()
{
}
b) Fungsi Loop
Setelah melakukan fungsi setup () maka secara langsung akan melakukan fungsi loop () secara berurutan dan melakukan instruksi-instruksi yang ada dalam fungsi loop ().
void loop
{
dgitalWrite(13,HIGH); //nyalakan ‘pin’ 13
delay(1000); //pause selama 1 detik
digitalWrite(13,LOW); //matikan ‘pin’ 13
delay(1000); //pause selama 1detik
}
Digital I/O
Input / Output digital pada breadboard arduino ada 14, pengalamatannya 0-13, ada saat tertentu I/O 0 dan 1 tidak bisa digunakan karena dipakai untuk
komunikasi serial,sehingga harus hati hati dalam pengalokasian I/O
Fungsi PinMode
Digunaknan dalam void setup() untuk mengkonfigurasi pin apakah sebagai
input sehingga untuk merubahnya harus menggunakan operator pinMode (pin,mode).
pinMode (pin,output); //mengeset pin sebagai uotput
digitalWrite (pin,HIGH); //pin sebagai source voltage
digitalRead (pin)
membaca nilai dari pin yang kita hendaki dengan hasil HIGH atau LOW.
Value=digitalRead(pin); //mengeset ‘value’ sama dengan pin
DigitalWrite (pin,value)
Digunakan untuk mengeset pin digital. Pin digital arduino mempunyai 14 (0-13)
digitalWrite (pin,HIGH); //set pin to HIGH
analog I/O
Input / output analog pada breadboard arduino ada 6 pengalamatnya 0-5
Fungsi AnalogRead(pin)
membaca nilai pin analog yang memiliki resolusi 10-bit. Fungsi ini hanya
dapat bekerja pada analog pin (0-5). Hasil dari pembacaan berupa nilai integer dengan range 0 sampai 1023
value =analogRead(pin); //mengeset ‘value’ sama dengan nilai analog pin
Fungsi AnalogWrite(pin,value)
Mengirimkan nilai analog pada pin analog.
analogWrite(pin,value); //menulis ke pin analog
Fungsi Delay(ms)
Menghentikan program untuk sesaat sesuai dengan yang di
Delay(1000); // menunggu selama satu detik
Serial
1. Serial.begin(rate)
Statment ini digunakan untuk mengaktifkan komunikasi serial dan
mengeset baudrate.
void setup()
{
Serial.begin(9600); //open serial port and baudrate 9600 bps
}
2. Serial.printn(data)
Mengirimkan data ke serial port.