perancangan dan pembuatan jam digital

advertisement
BAB II
LANDASAN TEORI
Dalam Bab ini penulis akan membahas tentang komponen- komponen yang
digunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan
menyimpang dari topik utama laporan ini, maka setiap komponen hanya dibahas
sesuai fungsinya pada masing- masing unit.
2.1 Mikrokontroler Arduino Uno R3
Arduino Uno sebenarnya adalah salah satu kit mikrokontroler yang berbasis
pada ATmega28. Arduino Uno adalah board berbasis mikrokontroler pada
ATMega328. Board ini memiliki 14 digital input / ouput pin (dimana 6 pin dapat
digunakan sebagai ouput PWM), 6 input analog, 16 MHz osilator kristal, koneksi
USB, jack listrik dan tombol reset. Pin– pin ini berisi semua yang diperlukan
untuk mendukung mikrokontroler, hanya terhubung ke komputer dengan kabel
USB atau sumber tekanan bisa didapat dari adaptor AC– DC atau baterai untuk
menggunakannya (Arduino, Inc., 2009). Arduino Uno R3 berbeda dengan semua
board sebelumnya karena Arduino Uno R3 ini tidak menggunakan chip driver
FTDI USB-to-serial. Sebagaimana kita ketahui dengan mikrokontroler kita dapat
membuat program untuk mengendalikan berbagai komponen elektronika.
Program yang kita buat dengan bahasa pemrograman di download ke
mikrokontroler, yang kemudian mikrokontroler akan bekerja sesua dengan
program yang kita buat.
Dengan Arduino Uno itu sendiri lebih memudahan pernggunanya untuk
membuat berbagai hal yang berkaitan dengan mikrokontroler, karena didalamnya
Universitas Sumatera Utara
sudah tersedia yang dibutuhkan oleh mikrokontroler. Contohnya yang dapat
dibuat dengan Arduino antara lain, untuk membuat robot, mengontrol motor
stepper, pengatur suhu, mesin gate turnstile, display LCD, dan masih banyak lagi
contoh yang lainnya.
Gambar 2.1. Arduino Uno R3
2.1.1 Arsitektur Mikrokontroler Arduino Uno R3
Board Arduino Uno memiliki fitur – fitur baru sebagai berikut :
• Pinout : menambahkan SDA dan SCL pin yang deket ke pin aref dan dua pin
baru lainnya ditempatkan dekat ke pin RESET, dengan I/O REF yang
memungkinkan sebagai buffer untuk beradaptasi dengan tegangan yang
disediakan dari board sistem. Pengembangannya, sistem akan lebih kompatibel
dengan prosesor yang menggunakan AVR, yang beroperasi dengan 5V dan
dengan Arduino karena beroperasi dengan 3,3V. Yang kedua adalah pin yang
tidak terhubung, yang disediakan untuk tujuan pengembangannya.
• Sirkuit reset
• ATMega 16U2 ganti 8U yang digunakan sebagai konverter USB-to-serial
Universitas Sumatera Utara
Gambar 2.2. Arsitektur Arduino Uno R3
Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya
eksternal. Sumber listrik dipilih secara otomatis. Eksternal (non-USB) daya dapat
berupa baik AC-DC adaptor atau baterai. Adaptor ini dapat dihubungkan dengan
cara menghubungkan plug pusat – positif 2.1mm ke dalam board colokan listrik.
Sedangkan untuk baterai dapat dihubungkan kedalam header pin GND dan Vin
dari konektor Power. Board dapat beroperasi pada pasokan daya dari 6 – 20 volt.
Jika diberikan dengan kurang dari 7V, bagaimanapun pin 5V dapat menyuplai
kurang dari 5 volt dan board mungkin tidak stabil. Jika menggunakan lebih dari
12V, regulator bisa panas dan merusak board. Rentang yang dianjurkan adalah 7V
– 12V.
Universitas Sumatera Utara
Arduino Uno R3 memiliki 6 input analog diberi label A0 sampai A5, masing
– masing menyediakan 10-bit resolusi (yaitu 1024 nilai yang berbeda). Secara
default sistem mengukur dari ground sampai 5 volt, meskipun mungkin untuk
mengubah
ujung
atas
rentang
mengunakan
pin
AREF
dan
fungsi
analogReference(). Selain itu, beberapa pin memiliki fungsi khusus :
• TWI : A4 atau SDA pin dan A5 atau SCL pin. Mendukung komunikasi TWI
• AREF
: Referensi tegangan untuk input analog. Digunakan dengan
analogReference()
• RESET
2.1.2 Konfigurasi Pin Arduino Uno R3
Dalam pasaran yang sering kita jumpai adalah Arduino Uno dimana
didalamnya terdapat tiga PORT yaitu PORTB, PORTC, dan PORTD. Diantara
ketiga PORT tersebut terdapat dua PORT yang terdiri atas 14 pin digital
Input/Output yaitu PORTB dan PORTD sedangkan 7 pin analog Input/Output
yaitu POTRC.
Setiap 14 pin digital pada Arduino Uno R3 dapat digunakan sebagai input
dan output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead().
Fungsi– fungsi tersebut beroperasi ditegangan 5V, setiap pin dapat memberikan
atau menerima suatu arus maksimum 40 mA dan memounyai sebuah resistor pullup (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai
fungsi-fungsi spesial, yaitu :
 Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan
(TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan
ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
Universitas Sumatera Utara
 External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu
sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau
penurunan
yang
besar,
atau
suatu
perubahan
nilai.
Lihat
fungsi attachInterrupt() untuk lebih jelasnya.
 PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan
fungsi analogWrite().
 SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport
komunikasi SPI menggunakan SPI library.
 LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika
pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
Reset Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus,
digunakan untuk menambahkan sebuah tombol reset untuk melindungi yang
memblock sesuatu pada board
Universitas Sumatera Utara
Gambar 2.3. Pin- Pin Arduino Uno R3
2.1.3 Deskripsi pin-pin pada mikrokontroler Arduino Uno R3
Gambar 2.4. Deskripsi Pin Pada Arduino Uno R3
1.
14 Pin Output/Input Digital (Pin 0 – pin 13)
Pin ini dapat digunakan sebagai pin input dan output digital. Artinya pin-pin
ini hanya dapat digunakan untuk keluar data digital. Bila pin – pin ini diatur
sebagai pin output, maka pin – pin hanya dapat mengeluar tegangan 0V untuk
kondisi OFF dan mengeluarkan tegangan 5V untuk kondisi ON. Dalam penulisan
program sketch, 0V dinyatakan dengan kondisi LOW dan 5V dinyatakan dengan
kondisi HIGH.
Jika pin-pin digital ini diatur sebagai pin input, maka pin-pin ini hanya dapat
menerima data digital. Bila pin diberi tegangan 0V, maka pin mendapat logika
Universitas Sumatera Utara
rendah (LOW) dan jika pin mendapat tegangan 5V, maka pin mendapat logika
tinggi (HIGH).
2.
Pin A0 – pin A5
Pin A0 – pin A5 adalah pin analog, artinya pin ini dapat menerima dan
mengeluarkan data data analog. Pin A0 – pin A5 terhubung ke ADC (analog to
digital converter). Board arduino uno menggunakan mikrokontroller ATMega 328
yang mempunyai 2 macam konfigurasi ADC yaitu ADC 8 bit dan ADC 12 bit.
Pin analog ini dapat mengolah tegangan analog dari tegangan 0 V hingga 5 V.
Selain dapat digunakan untuk data analog, pin ini juga dapat difungsikan sebagai
pin input/output digital.
3.
Pin Utilitas
Pin utilitas terdiri dari :
1. Pin V input; untuk input tegangan DC 5 V
2. Pin V output 5V; pin ini mengeluarkan tegangan 5V
3. Pin V output 3,3 V; pin ini mengeluarkan tegangan 3,3 V
4. Pin Ground (-)
5. Pin Aref; pin ini untuk memberikan tegangan referensi eksternal pada
ADC.
6. Pin reset; pin ini untuk reset mikrokontroller.
4.
Q1 – Kristal (quartz crystal oscillator)
Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah
jantung-nya karena komponen ini menghasilkan detak-detak yang dikirim kepada
Universitas Sumatera Utara
microcontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini
dipilih yang berdetak 16 juta kali per detik (16MHz).
5.
Terminal USB
Terminal USB digunakan untuk menghubungkan board arduino dengan
komputer, terminal ini digunakan untuk memprogram mikrokontroller dan juga
dapat digunakan untuk komunikasi mikrokontroller dengan komputer (serial
komunikasi).
6.
Terminal Catudaya Eksternal.
Board arduino selain dapat menggunakan datudaya dari USB komputer, juga
dapat diberi catudaya eksternal melalui terminal catudaya ini. Pada board arduino
telah dilengkapi dengan regulator tegangan 5V, sehingga board arduino ini dapat
diberikan tegangan eksternal berkisar dari 5 V hingga 12 VDC.
7.
Tombol Reset
Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perlu
dipahami bahwa tombol reset ini bukan untuk menghapus program atau
mengosongkan microkontroler.
8.
Terminal Header ISP
Terminal
Header
ISP
digunakan
untuk
pemograman
boatloader
mikrokontroller. Agar mikrokontroller atmega328 dapat bekerja pada board
arduino, maka atmega328 harus diisi dengan program boatloader terlebih dahulu.
Pada saat kita membeli board arduino, board telah dilengkapi dengan sebuah IC
atmega328 yang telah diisi dengan program boatloader, tetapi jika kita hendak
Universitas Sumatera Utara
mengganti IC atmega328 dengan yang baru, maka IC tersebut terlebih dahulu
harus diisi dengan program boatloader dengan menggunakan terminal header ISP
yang dihubungkan ke downloader lain.
2.1.4 Peta Memory Arduino Uno R3
Arduino Uno adalah arduino board yang menggunakan mikrokontroler
ATmega328. Maka peta memori arduino uno sama dengan peta memori pada
mikrokontroler ATmega328.
Gambar 2.5. Organisasi Memori Aarduino Uno R3
2.1.4.1 Memori Program
Universitas Sumatera Utara
ATMega328 memiliki 32K byte On-chip In-System Reprogrammable
Flash Memory untuk menyimpan program. Memori flash dibagi kedalam dua
bagian, yaitu bagian program bootloader. Bootloader adalah program kecil yang
bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program
aplikasi ke dalam memori prosesor.
2.1.4.2 Memori Data
Memori data ATMega328 terbagi menjadi 4 bagian, yaitu 32 lokasi
untuk register umum, 64 lokasi untuk register I/O, 160 lokasi untuk register I/O
tambahan dan sisanya 2048 lokasi untuk data Static Random Access Memory
(SRAM) internal. Register umum menempati alamat data terbawah, yaitu 0x0000
sampai 0x001F. Register I/O menempati 64 alamat berikutnya mulai dari 0x0020
hingga 0x005F. Register I/O tambahan menempati 160 alamat berikutnya mulai
dari 0x0060 hingga 0x00FF. Sisa alamat berikutnya mulai dari 0x0100 hingga
0x08FF digunakan untuk SRAM internal. Peta memori data dari ATMega 328
dapat dilihat pada Gambar dibawah.
Universitas Sumatera Utara
Gambar 2.6. Peta Memori ATMega328
2.1.4.3 Memori EEPROM
Arduino uno terdiri dari 1 Kbyte memori data EEPROM. Pada memori
EEPROM, data dapat ditulis/dibaca kembali dan ketika catu daya dimatikan, data
terakhir yang ditulis pada memori EEPROM masih tersimpan pada memori ini,
atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM
dimulai dari 0x000 hingga 0x3FF.
2.1.5 Register Serba guna ( General Purpose Register)
Register geser memegang apa yang dapat dianggap sebagai delapan lokasi
memori , masing-masing dapat menjadi 1 atau 0 .
Untuk mengatur masing- masing nilai ini atau menonaktifkan, dalam data
menggunakan ' data ' dan pin ' Jam ' chip.
Universitas Sumatera Utara
Gambar 2.7. Register Serba Guna
2.2
Sensor Ultrasonik HC-SR04
Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah
besaran fisis (bunyi) menjadi besaran listrik. Cara kerja sensor ini didasarkan pada
prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk
menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut
sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik.
Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat
tinggi yaitu 20.000 Hz. Bunyi ultrasonik tidak dapat di dengar oleh telinga
manusia, bunyi ultrasonic hanya dapat didengar oleh anjing, kucing, kelelawar,
dan lumba-lumba. Bunyi ultrasonik bisa merambat melalui zat padat, cair dan gas.
Reflektivitas bunyi ultrasonik di permukaan zat padat hampir sama dengan
reflektivitas bunyi ultrasonik di permukaan zat cair. Akan tetapi, gelombang bunyi
ultrasonik akan diserap oleh tekstil dan busa.
Sensor ini merupakan sensor ultrasonik siap pakai, satu alat yang berfungsi
sebagai pengirim, penerima, dan pengontrol gelombang ultrasonik. Alat ini bisa
digunakan untuk mengukur jarak benda dari 2cm - 4m dengan akurasi 3mm. Alat
ini memiliki 4 pin. Pin Vcc, Gnd, Trigger, dan Echo.
Pin Vcc untuk listrik positif dan Gnd untuk ground-nya, sedangkan Pin Trigger
untuk trigger keluarnya sinyal dari sensor dan pin Echo untuk menangkap sinyal
pantul dari benda.
Universitas Sumatera Utara
Gambar 2.8 Sensor ultrasonik HC-SR04
Adapun fitur- fitur yang dimiliki sensor ultrasonik ini antara lain :
- Suply tegangan 5 VDC
- Supply arus 30mS- 35mA
- jarak yang dapat diukur 2cm- 3-cm
- Input Trigger 2µs- 5µ
- Echo Hold-off 750µs
- Burst Frequency 40 kHz untuk 200µs
- Burst Indicator LED akan aktif bila sensor aktif
- Delay sebelum pengukuran selanjutnya - 200µs
Sensor ultrasonik memiliki tiga pin header yang digunakan untuk untuk supply
power (5VDC), Ground dan Output
Universitas Sumatera Utara
Gambar 2.9. Pin Header Untuk Supply, Gnd dan Output
2.2.1 Cara Kerja Sensor Ultrasonik
Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah
alat yang disebut dengan piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini
akan menghasilkan gelombang ultrasonik (umumnya berfrekuensi 40kHz) ketika
sebuah osilator diterapkan pada benda tersebut. Secara umum, alat ini akan
menembakkan gelombang ultrasonik menuju suatu area atau suatu target. Setelah
gelombang menyentuh permukaan target, maka target akan memantulkan kembali
gelombang tersebut. Gelombang pantulan dari target akan ditangkap oleh sensor,
kemudian sensor menghitung selisih antara waktu pengiriman gelombang dan
waktu gelombang pantul diterima.
Gambar 2.10. Cara kerja sensor ultrasonik dengan pemantulan gelombang.
Secara detail, cara kerja sensor ultrasonik adalah sebagai berikut:
• Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan
dengan durasi waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk
Universitas Sumatera Utara
mengukur jarak benda (sensor jarak), frekuensi yang umum digunakan adalah
40kHz.
• Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan
kecepatan sekitar 340 m/s. Ketika menyentuh suatu benda, maka sinyal
tersebut akan dipantulkan oleh benda tersebut.
• Setelah gelombang pantulan sampai di alat penerima, maka sinyal tersebut
akan diproses untuk menghitung jarak benda tersebut. Jarak benda dihitung
berdasarkan rumus :
S=
Dimana S merupakan jarak antara sensor ultrasonik dengan benda (bidang pantul),
dan t adalah selisih antara waktu pemancaran gelombang oleh transmitter dan
waktu ketika gelombang pantul diterima receiver.
2.2.2 Rangkaian Sensor Ultrasonik
Transmitter
Transmitter adalah sebuah alat yang berfungsi sebagai pemancar gelombang
ultrasonik dengan frekuensi tertentu (misal, sebesar 40 kHz) yang dibangkitkan
dari sebuah osilator. Untuk menghasilkan frekuensi 40 KHz, harus di buat sebuah
rangkaian osilator dan keluaran dari osilator dilanjutkan menuju penguat sinyal.
Besarnya frekuensi ditentukan oleh komponen RLC / kristal tergantung dari disain
osilator yang digunakan. Penguat sinyal akan memberikan sebuah sinyal listrik
yang diumpankan ke piezoelektrik dan terjadi reaksi mekanik sehingga bergetar
dan memancarkan gelombang yang sesuai dengan besar frekuensi pada osilator.
Universitas Sumatera Utara
Gambar 2.11. Rangkaian dasar transmitter sensor ultrasonik
Receiver
Receiver
terdiri
dari
transduser
ultrasonik
menggunakan
bahan
piezoelektrik, yang berfungsi sebagai penerima gelombang pantulan yang berasal
dari transmitter yang dikenakan pada permukaan suatu benda atau gelombang
langsung LOS (Line of Sight) dari transmitter. Oleh karena bahan piezoelektrik
memiliki reaksi yang reversible, elemen keramik akan membangkitkan tegangan
listrik pada saat gelombang datang dengan frekuensi yang resonan dan akan
menggetarkan bahan piezoelektrik tersebut.
Universitas Sumatera Utara
Gambar 2.12. Rangkaian dasar receiver sensor ultrasonik
2.3
Bahasa Pemograman Arduino dan Software IDE Arduino
Pemrograman Arduino mempunyai bahasa pemrograman sendiri yaitu
bahasa pemrograman C/C++ yang telah disederhanakan, sehingga pemula pun
bisa mempelajarinya dengan cukup mudah. Untuk membuat program Arduino dan
mengupload ke dalam board Arduino, membutuhkan software Arduino IDE
(Integrated Development Enviroment)
2.3.1 Bahasa Pemrograman Arduino
Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis Ritchi
dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar ANSI (
American National Standards Institute ), yang digunakan sebagai referensi dari
berbagai versi C yang beredar dewasa ini termasuk Turbo C. Dalam beberapa
literature, bahasa C digolongkan bahasa level menenganh karena bahasa C
mengkombinasikan elemen bahasa tinggi dan elemen bahasa rendah. Kemudahan
dalam level rendah merupakan tujuan diwujudkanya bahasa C. pada tahun 1985
lahirlah pengembangan ANSI C yang dikenal dengan
C++ (diciptakan oleh
Bjarne Struostrup dari AT TLab). Bahasa C++ adalah pengembangan dari bahasa
C, bahasa C++ mendukung konsep pemrograman berorientasi objek dan
pemrograman berbasis windows.
Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya
muncul bahasa baru pada tahun 1995 (merupakan keluarga C dan C++ yang
dinamakan Java). Istilah prosedur dan fungsi dianggap sama dan disebut dengan
fungsi saja. Hal ini karena di C++ sebuah prosedur pada dasanya adalah sebuah
Universitas Sumatera Utara
fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ini
masih popular dan penggunaannya tersebar di berbagai platform dari windows
samapi linux dan dari PC hingga main frame.
Ada pun kekurangan dan Kelebihan Bahasa C sebagai berikut :
•
Kelebihan Bahasa C:
· Bahasa C tersedia hampir di semua jenis komputer.
· Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis
komputer.
· Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32
kata kunci.
· Proses executable program bahasa C lebih cepat.
· Dukungan pustaka yang banyak.
· Bahasa C adalah bahasa yang terstruktur.
· Bahasa C termasuk bahasa tingkat menengah.
Penempatan ini hanya menegaskan bahwa C bukan bahasa pemrograman
yang berorientasi pada mesin, yang merupakan ciri bahasa tingkat rendah.
Melainkan berorientasi pada obyek tetapi dapat dinterprestasikan oleh mesin
dengan cepat, secepat bahasa mesin. Inilah salah satu kelebihan c yaitu memiliki
kemudahan dalam menyusun programnya semudah bahasa tingkat tinggi namun
dalam mengesekusi program secepat bahasa tingkat rendah.
•
Kekurangan Bahasa C:
· Banyaknya operator serta fleksibilitas penulisan program kadang-kadang
membingungkan pemakai.
· Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
Universitas Sumatera Utara
2.3.2 IDE Arduino
Pemrograman board Arduino dilakukan dengan menggunakan Arduino
Software (IDE). Chip ATmega328 yang terdapat pada Arduino Uno R3 telah diisi
program awal yang sering disebut bootloader. Bootloader tersebut yang bertugas
untuk memudahkan anda melakukan pemrograman lebih sederhana menggunakan
Arduino Software, tanpa harus menggunakan tambahan hardware lain. Cukup
hubungkan Arduino dengan kabel USB ke PC lalu jalankan software Arduino
Software (IDE), dan kita sudah bisa mulai memprogram chip ATmega328. Lebih
mudah lagi, di dalam Arduino Software sudah diberikan banyak contoh program
yang memanjakan kita dalam belajar mikrokontroler.
Gambar 2.13. Contoh Arduino Software
2.3.3 Tipe Data
Universitas Sumatera Utara
Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat
belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat
untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun
karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan
pemesanan kapling memori yang berlebihan. Seorang programmer yang handal
harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan
dalam pembuatan sebuah program. Secara garis besar tipe data pada bahasa C
dibagi menjadi beberapa bagian antara lain sebagai Berikut
Macam-Macam Tipe Data Pada Bahasa C :
1.
Tipe Data Karakter
Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada
sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data
yang dapat disimpan pada variabel yang bertipe data char adalah (-127)- (127).
Sedangkan untuk tipe data unsigned char adalah dari 0- 255. Pada dasarnya setiap
karakter memiliki nilai ASCII (American Standard Code for Information
Interchange), nilai inilah yang sebetulnya disimpan pada variabel yang bertipe
data karakter ini.
2.
Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan desimal merupakan
sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat bermacam-macam
tipe data yang dapat kita gunakan untuk menampung bilangan bulat. Kita dapat
menyesuaikan penggunaan tipe data dengan terlebih dahulu memperhitungkan
seberapa besar nilai yang akan kita simpan. Contohnya seperti berikut, kita akan
melakukan operasi penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan
Universitas Sumatera Utara
pada variabel C. Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih
besar dari 255 dan nilainya pasti positif, oleh karena itu sebaiknya kita
menggunakan tipe data unsigned int. Namun berbeda halnya jika kita ingin
melakukan operasi pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka
selayaknya digunakan variabel dengan tipe data int.
3.
Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk menampung
data yang berkoma, tipe data tersebut adalah float dan double. Tipe data double
dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data
berkoma yang bernilai besar.
Tabel 2.1. Tipe Data
Tipe Data
Ukuran
Jangkauan Nilai
Bit
1 byte
0 atau 1
Char
1 byte
-128 s/d 127
Unsigned Char
1 byte
0 s/d 255
Signed Char
1 byte
-128 s/d 127
Int
2 byte
-32.768 s/d 32.767
Short Int
2 byte
-32.768 s/d 32.767
Unsigned Int
2 byte
0 s/d 65.535
Signed Int
2 byte
-32.768 s/d 32.767
Long Int
4 byte
-2.147.483.648 s/d 2.147.483.647
Unsigned Long Int
4 byte
0 s/d 4.294.967.295
Signed Long Int
4 byte
-2.147.483.648 s/d 2.147.483.647
Universitas Sumatera Utara
Float
4 byte
1.2*10-38 s/d 3.4*10+38
Double
4 byte
1.2*10-38 s/d 3.4*10+38
2.3.4 Identifier
Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh
pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable,
nama konstanta, nama suatu elemen (misalnya: nama fungsi, nama tipe data, dll).
Identifier punya ketentuan sebagai berikut :
1.
Maksimum 32 karakter (bila lebih dari 32 karakter maka yang diperhatikan
hanya 32 karakter pertama saja).
2.
Case sensitive membedakan huruf besar dan huruf kecil.
3.
Karakter pertama harus karakter atau underscore ( _ ). Selebihnya boleh
angka.
4.
Tidak boleh mengandung spasi atau blank.
5.
Tidak boleh menggunakan kata yang sama dengan kata kunci dan fungsi.
2.4
LCD (Liquid Cristal Display)
LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang
menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan
diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator,
ataupun layar komputer. Pada postingan aplikasi LCD yang dugunakan ialah LCD
dot-matrik dengan jumlah karakter 16 x 2. LCD sangat berfungsi sebagai
penampil yang nantinya akan digunakan untuk menampilkan status kerja alat.
Universitas Sumatera Utara
Gambar 2.14. Bentuk Fisik LCD 16x2
2.4.1 Konfigurasi Pin LCD 16x2
Berikut Ini adalah tabel konfigurasi pin LCD 16x2 :
Tabel 2.2. Konfigurasi Pin LCD 16x2
Keterangan :
•
Pin 1 dan 2
Merupakan sambungan catu daya, Vss dan Vdd. Pin Vdd dihubungkan
dengan tegangan positif catu daya, dan Vss pada 0V atau ground. Meskipun
Universitas Sumatera Utara
data menentukan catu 5 Vdc, menyediakan 6V dan 4.5V yang keduanya
bekerja dengan baik, bahkan 3V cukup untuk beberapa modul.
•
Pin 3
Pin 3 merupakan pin kontrol Vee, yang digunakan untuk mengatur kontras
display.
•
Pin 4
Pin 4 merupakan Register Select (RS), masukan yang pertama dari tiga
command control input. Dengan membuat RS menjadi high, data karakter
dapat ditransfer dari dan menuju modulnya.
•
Pin 5
Read/Write (R/W), untuk memfungsikan sebagai perintah write maka R/W
low atau menulis karakter ke modul. R/W high untuk membaca data karakter
atau informasi status dari register-nya.
•
Pin 6
Enable (E), input ini digunakan untuk transfer aktual dari perintah-perintah
atau karakter antara modul dengan hubungan data. Ketika menulis ke display,
data ditransfer hanya pada perpindahan high atau low. Tetapi ketika membaca
dari display, data akan menjadi lebih cepat tersedia setelah perpindahan dari
low ke high dan tetap tersedia hingga sinyal low lagi.
•
Pin 7-14
Pin 7 sampai 14 adalah delapan jalur data/data bus (D0 sampai D7)
dimana data dapat ditransfer ke dan dari display.
Universitas Sumatera Utara
•
Pin 16
Pin 16 dihubungkan kedalam tegangan 5 Volt untuk memberi tegangan dan
menghidupkan lampu latar/Back Light LCD.
2.4.2 Karakteristik LCD 16x2
•
Terdapat 16 x 2 karakter huruf yang bisa ditampilkan.
•
Setiap huruf terdiri dari 5x7 dot-matrix cursor.
•
Terdapat 192 macam karakter.
•
Terdapat 80 x 8 bit display RAM (maksimal 80 karakter).
•
Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit.
•
Otomatis reset saat tegangan dihidupkan.
•
Koneksi pengendalian yang digunakan adalah 4bit Data Interface.
•
Telah dilengkapi pengendalian Contrast dan Brightnees.
•
Telah disediakan kabel IDC 10 sehingga dapat langsung dihubungkan
•
Bekerja pada suhu 0oC sampai 55oC.
Bila dirangkai maka rangkaian dari LCD 16x2 seperti gambar 2.15 dibawah ini :
Universitas Sumatera Utara
Download