Komparasi Dengan dan Tanpa Pengkondisi Sinyal Pada Sensor LM35 Berbasis Mikrokontroler ATMega32

(1)

BAB II

LANDASAN TEORI

Dalam Bab ini penulis akan membahas tentang komponen- komponen yang di gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan menyimpang dari topik utama laporan ini, maka setiap komponen hanya di bahas sesuai fungsi nya pada masing- masing unit nya.

2.1 Mikrokontroller ATMega32

Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung, mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.


(2)

2.1.1 Arsitektur Mikrokontroler AVR ATMega32

Mikrokontroler AVR ATMega32 merupakan sebuah mikrokontroler low power CMOS 8 bit berdasarkan arsitektur AVR RISC. Mikrokontroler ini memiliki karakteristik sebagai berikut.

1. Menggunakan arsitektur AVR RISC

• 131 perintah dengan satu clock cycle

• 32 x 8 register umum 2. Data dan program memori

• 32 Kb In-System Programmable Flash

• 2 Kb SRAM

• 1 Kb In- System EEPROM 3. 8 Channel 10-bit ADC

4. Two Wire Interface

5. USART Serial Communication 6. Master/Slave SPI Serial Interface 7. On-Chip Oscillator

8. Watch-dog Timer 9. 32 Bi-directional I/O

10.Tegangan operasi 2,7 – 5,5 V

Arsitektur AVR ini menggabungkan perintah secara efektif dengan 32 register umum. Semua register tersebut langsung terhubung dengan Arithmetic Logic Unit (ALU) yang memungkinkan 2 register terpisah diproses dengan satu perintah tunggal dalam satu clock cycle. Hal ini menghasilkan kode yang efektif dan kecepatan prosesnya 10 kali lebih cepat dari pada mikrokontroler CISC biasa.


(3)

Gambar 2.1 Arsitektur AVR ATMega32

2.1.2 Konfigurasi Pin Mikrokontroler ATMega32

Mikrokontroler ATMega32 memiliki 40 pin untuk model PDIP ditunjukkan pada Gambar 2.2, dan 44 pin untuk model TQFP dan PLCC. Nama-nama pin pada mikrokontroler ini adalah :

1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya digital.

2. GND merupakan pin ground untuk catu daya digital.

3. Port A (PA0...PA7) merupakan pin I/O 8bit dua arah(bi-directional) dan pin masukan 8 chanel ADC.


(4)

4. Port B (PB0 – PB7) merupakan akan pin I/O 8 bit dua arah (bi-directional)dengan resistor pull-up internal dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI.

5. Port C (PC0 – PC7) merupakan pin I/O 8bit dua arah (bi-directional)dan pin fungsi khusus, yaitu TWI, komperator analog, input ADC dan Timer Osilator.

6. Port D (PD0 – PD7) merupakan pin I/O 8 bit dua arah(bi-directional) dan pin fungsi khusus, yaitu komperator analog, interupsi eksternal dan komunikasi serial.

7. RESET merupakan pin yang digunakan untuk mereset mikrokontroler.

8. XTAL1 merupakan input ke penguat osilator pembalik dan input ke internal clock.

9. XTAL2 merupakan out put dari penguat oslator pembalik.

10. AVCC merupakan pin masukan tegangan untuk ADC yang terhubung ke portA.


(5)

Gambar 2.2 Konfigurasi Pin Mikrokontroler ATMega32

2.1.3 Deskripsi Pin-Pin Pada Mikrokontroler ATMega32

1. Port A

Merupakan 8-bit dua arah bi-directional port I/O,dengan menggunakan resistor pull-up internal dimana setiap pinnya dapat diatur per bit. Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan8 channel ADC.

2. Port B

Merupakan 8-bit dua arah(bi-directional) port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu


(6)

sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output.Selain sebagai port I/O 8 bit port B juga dapat difungsikan secara individu sebagai berikut:

• PB7: SCK ( SPI Bus Serial Clock)

• PB6: MISO( SPI Bus Master Input/ Slave Out put)

• PB5: MOSI( SPI Bus Master Output/Slave Input).

• PB4: SS (SPI Slave Select Input)

• PB3: AIN1(Analog Comparator Negatif Input) OC0 (Out put Compare Timer/counter 0)

• PB2: AIN0 (Analog Comparator Positif Input) INT2 (External Interrupt 2 Inpt)

• PB1:T1 (Timer/Counter 1 External Counter Input)

• PB0:T0 (Timer/Counter 0 External Counter Input) XCK (USART External Clock Input/Output)

3. Port C

Merupakan port I/O 8-bit dua arah (bi-directional). Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, Port C juga difungsikan secara individu sebagai berikut:


(7)

• PC6: TOSC1 (Timer Oscillator 1)

• PC1: SDA (Serial Data Input/Output)

• PC0: SCI (Serial Clock) 4. Port D

Merupakan Port I/O 8-bit dua arah (bi-directional) . Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus sebagai berikut:

• PD7: OC2 ( Ouput Compare Timer/Counter 1)

• PD6: ICP1 ( Timer Counter 1 input capture)

• PD5: OC1A ( Output Compare A Timer /Counter1)

• PD4: OC1B ( Output Compare B Timer/Counter 1)

• PD3: INT1 ( External Interrupt 1 Input)

• PD2: INT0 ( External interrupt 0 Input)

• PD1: TXD ( USART Transmit)

• PD0: RXD ( USART Receive) 5. RESET

RST pada pin 9 merupakan pin reset yang akan bekerja bira diberi pulsa rendah (aktif Low) selama minimal 1,5us.


(8)

6. XTAL2

Merupakan out put dari penguat dari osilator pembalik 7. XTAL1

Merupakan input ke penguat osilator pembalik dan input ke internal clock.

8. AVCC

Avcc adalah pin masukan catu daya yang digunakan untuk masukan analog ADC yang terhubung ke Port A. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

9. AREF

AREF adalah pin masukan referensi analog untuk ADC. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

10.AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.


(9)

2.1.4 Peta Memori Mikrokontroler ATMega32

Mikrokontroller ATMega32 memiliki 3 jenis memori yaitu memori program, memori data dan memori EEPROM. Ketigannya memiliki ruang-ruang tersendiri dan terpisah seperti terlihat pada gambar 2.3

Gambar 2.3 Organisasi memori ATMega32 1. Memori Program

ATMega32 memiliki kapasitas memori program sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki lebar data sebesar 16 bit.Sehingga organisasi memori program seperti ini sering dituliskan dengan 4K x 16 bit.Memori program ini juga terbagi menjadi dua yaitu program boot dan juga bagian program aplikasi. 2. Memori Data

ATMega32 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna,register I/O dan SRAM. 32 byte alamat terendah digunakan untuk register serbaguna yaitu R0 –


(10)

R31. 64 byte berikut nya digunakan untuk register I/O yang digunakan untuk mengatur fasilitas timer /counter, interrupsi, ADC, USART, SPI, EEPROM dan port I/O seperti Port A, Port B, Port C, dan Port D. Selanjutnya 512 byte diatasnya digunakan untuk memory data SRAM .

Jika register-register I/O diatas diakses seperti mengakses data pada memori ( Jika kita menggunakan instruksi LD atau ST ) maka register I/O diatas menempati alamat 0020-005F. Tetapi jika register-register I/O diakses seperti mengakses I/O pada umumnya (menggunakan instruksi IN/IOUT) maka register I/O diatas menempati alamat memori 0000h – 003Fh.

Gambar 2.4 (a) Register I/O Sebagai Memori Data, (b) Register I/O sebagai I/O

3. Memori Data EEPROM

ATMega35 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun dari memori data. Memori


(11)

EEPROM ini hanaya dapat diakses dengan menggunakan register-register I/O yaitu register EEPROM Addres ( EEARH-EEARL), register EEPROM Data (EEDR) dan register EEPROM control ( EECR). Untuk megakses memory EEPROM ini diperlakukan sperti mengakses data eksternal sehingga waktu dari eksekusi relatif lebih lama dibadingkan jika kita mengakses data dari SRAM.

2.2 LCD (Liquid Crystal Display)

LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik. LCD adalah lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertikal depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan.


(12)

Gambar 2.5 LCD (Liquid Crystal Display)

LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi piksel yang dibagi dalam baris dan kolom. Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda trasparan. Dalam keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan.

Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa microampere), sehingga alat atau sistem menjadi portable karena dapat menggunakan catu daya yang kecil. Keunggulan lainnya adalah tampilan yang diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari. Di bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang dibelakang layar tampilan.

LCD yang digunakan adalah jenis LCD yang mena mpilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD ini adalah :

1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk membuat program tampilan.


(13)

2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data dan 3 bit control.

3. Ukuran modul yang proporsional.

4. Daya yang digunakan relative sangat kecil.

2.2.1 Pengendali / Kontroler LCD (Liquid Cristal Display)

Dalam LCD (Liquid Cristal Display) terdapat mikrokontroler yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display). mikrokontroler pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori dan register.

1. Memori yang digunakan mikrokontroler internal LCD adalah:

• DDRAM (Display Data Random Access Memory) merupakan memori tempat karakter yang akan ditampilkan berada.

• CGRAM (Character Generator Random Access Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan.

• CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut merupakan karakter dasar yang sudah ditentukan secara permanen oleh pabrikan pembuat LCD (Liquid Cristal Display) tersebut sehingga pengguna tinggal mangambilnya sesuai alamat memorinya dan tidak dapat merubah karakter dasar yang ada dalam CGROM.


(14)

2. Register control yang terdapat dalam suatu LCD diantaranya adalah:

• Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data.

• Register data yaitu register untuk menuliskan atau membaca data dari atau keDDRAM. Penulisan data pada register akan menempatkan data tersebut keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.

2.2.2 Konfigurasi Pin LCD (Liquid Cristal Display)

Gambar 2.6 Konfigurasi Pin LCD (Liquid Cristal Display) Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap karakter dengan huruf 5x7 dot matrik. Kapasitas pembangkit RAM 8 tipe karakter (membaca program), maksimum pembacaan 80x8 bit tampilan data. Perintah


(15)

utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display Character Blink, Cursor Shift, dan Display Shift. Tabel 2.2 menunjukkan operasi dasar LCD.

Tabel 2.1 Operasi Dasar LCD

RS R/W Operasi

0 0 Input Instruksi ke LCD

0 1 Membaca Status Flag (DB7) dan alamat counter (DB0 ke DB6)

1 0 Menulis Data

1 1 Membaca Data

Tabel 2.2 Konfigurasi Pin LCD

No. Pin Keterangan Konfigurasi Hubung

1 GND Ground

2 VCC Tegangan +5VDC

3 VEE Ground

4 RS Kendali RS

5 RW Ground

6 E Kendali E/Enable

7 D0 Bit 0

8 D1 Bit 1

9 D2 Bit 2

10 D3 Bit 3

11 D4 Bit 4

12 D5 Bit 5

13 D6 Bit 6

14 D7 Bit 7

15 A Anoda (+5VDC)


(16)

Tabel 2.3 Konfigurasi LCD

Pin Bilangan Biner Keterangan

RS 0 Inisialisasi

1 Data

RW 0 Tulis LCD / W (write)

1 Baca LCD / R (read)

E 0 Pintu data terbuka

1 Pintu data tertutup

Diode adalah komponen aktif dua kutub yang pada umumnya bersifat semikonduktor, yang memperbolehkan arus listrik mengalir ke satu arah (kondisi panjar maju) dan menghambat arus dari arah sebaliknya (kondisi panjar mundur). Diode dapat disamakan sebagai fungsi katup di dalam bidang elektronika. Diode sebenarnya tidak menunjukkan karakteristik kesearahan yang sempurna, melainkan mempunyai karakteristik hubungan arus dan tegangan kompleks yang tidak linier dan seringkali tergantung pada teknologi LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain seperti Global Positioning System (GPS), baragraph display dan multimeter digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom dan baris secara bersamaan digunakan metode Screening.

Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua. Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan


(17)

untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah ditingkatkan daru yang monokrom hingga yang mampu menampilkan ribuan warna.

2.3 Sensor Suhu LM 35

Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi oleh National Semiconductor. Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan 100°C setara dengan 1 volt. Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,1°C, dapat dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar muka (interface) rangkaian control yang sangat mudah.

IC LM 35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk Integrated Circuit (IC), dimana output tegangan keluaran sangat linear terhadap perubahan suhu. Sensor ini berfungsi sebagai pegubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10 mV /°C yang berarti bahwa kenaikan suhu 1° C maka akan terjadi kenaikan tegangan sebesar 10 mV.


(18)

Gambar 2.7 Sensor Suhu LM 35

2.3.1 Spesifikasi Sensor Suhu LM 35

Gambar 2.8 Spesifikasi Sensor Suhu IC LM 35

Sensor suhu LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 µ A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan. Untuk mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat dikalibrasikan langsung dalam C (celcius), LM35 ini difungsikan sebagai basic temperature sensor.


(19)

2.4 IC Op-Amp LM 741

Penguat operasional (Op-Amp) adalah suatu blok penguat yang mempunyai dua masukan dan satu keluaran. Penguat operasional (Op-Amp) dikemas dalam suatu rangkaian terpadu (integrated circuit-IC). Salah satu tipe operasional amplifier (Op-Amp) yang populer adalah LM741. IC LM741 merupakan operasional amplifier yang dikemas dalam bentuk dual in-line package (DIP). Kemasan IC jenis DIP memiliki tanda bulatan atau strip pada salah satu sudutnya untuk menandai arah pin atau kaki nomor 1 dari IC tersebut. Penomoran IC dalam kemasan DIP adalah berlawanan arah jarum jam dimulai dari pin yang terletak paling dekat dengan tanda bulat atau strip pada kemasan DIP tersebut.

Gambar 2.9 Bentuk IC Op-Amp LM 741

2.4.1 Spesifikasi IC Op-Amp LM 741 Op-Amp memiliki karakteristik sebagai berikut:

• Impedansi Input (Zi) besar

• Impedansi Output (Z0) kecil= 0 Penguatan Tegangan (Av) tinggi

• Band Width respon frekuensi lebar


(20)

• Karakteristik operasional amplifier (Op-Amp) tidak tergantung temperatur /suhu.

Op-amp ini digunakan untuk membentuk fungsi-fungsi linier yang bermacam-mcam atau dapat juga digunakan untuk operasi-operasi tak linier, dan seringkali disebut sebagai rangkaian terpadu linier dasar. Penguat operasional (Op-Amp) merupakan komponen elektronika analog yang berfungsi sebagai amplifier multiguna dalam bentuk IC.

2.4.2 Konfigurasi Pin IC Op-Amp 741

Gambar 2.10 Konfigurasi Pin IC Op-Amp 741 Keterangan:

• Jumlah pin ada 8

• Terdapat satu channel penguat

• Input pembalik di pin 2

• Input bukan pembalik di pin 3

• Output di pin 6

• Pin 4 adalah jalur catu negatif (-)

• Pin 7 adalah jalur catu positif (+).

Pada IC ini terdapat dua pin input, dua pin power supply, satu pin output, satu pin NC (No Connection), dan dua pin offset null. Pin offset null


(21)

memungkinkan kita untuk melakukan sedikit pengaturan terhadap arus internal di dalam IC untuk memaksa tegangan output menjadi nol ketika kedua input bernilai nol. IC LM741 berisi satu buah Op-Amp, terdapat banyak tipe IC lain yang memiliki dua atau lebih Op-Amp dalam suatu kemasan DIP. IC Op-Amp memiliki karakteristik yang sangat mirip dengan konsep Op-Amp ideal pada analisis rangkaian. Pada kenyataannya IC Op-Amp terdapat batasan-batasan penting yang perlu diperhatikan.

• Pertama, tegangan maksimum power supply tidak boleh melebihi rating maksimum, karena akan merusak IC.

• Kedua, tegangan output dari IC op amp biasanya satu atau dua volt lebih kecil dari tegangan power supply. Sebagai contoh, tegangan swing output dari suatu op amp dengan tegangan supply 15 V adalah ±13V.

• Ketiga, arus output dari sebagian besar op amp memiliki batas pada 30mA, yang berarti bahwa resistansi beban yang ditambahkan pada output op amp harus cukup besar sehingga pada tegangan output maksimum, arus output yang mengalir tidak melebihi batas arus maksimum.

Muatan-muatan positif akan mengumpul pada salah satu kaki (elektroda) metalnya dan pada saat yang sama muatan-muatan negatif terkumpul pada ujung metal yang satu lagi.

Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan sebaliknya muatan negatif tidak bisa menuju ke ujung kutup positif, karena terpisah oleh bahan dielektrik yang non-konduktif. Muatan elektrik ini “tersimpan” selama tidak ada konduksi pada ujung-ujung kakinya. Kemampuan


(22)

untuk menyimpan muatan listrik pada kapasitor disebuat dengan kapasitansi atau kapasitas.

2.5 WTV020-SD modul suara kartu SD

Modul WTV020-SD adalah suara jenis modul penyimpanan suara rewritable, kapasitas maksimum dari kartu memori SD adalah 1GB. Dapat memuat suara format WAV dan ad4 format suara.

WTV020-SD modul suara menggunakan master core Chip WTV020SD-20S, dengan modus MP3 control, tombol modus satu-ke-satu kontrol (3 suara dengan suara dua), modus power control loop serta kontrol serial lini kedua modus. Modus kontrol diatur dalam chip dari persiapan sampel, tidak dapat diaktifkan selama operasi mode kontrol berbagai, seperti kebutuhan untuk menggunakan apa yang mode kontrol, Divisi I untuk membangun.

Mode MP3 kontrol: play / stop, dan yang berikutnya, pada satu, Volume +, Volume – fungsi. Tombol modus satu-ke-satu kontrol (3 paragraf suara): pemicu yang sesuai kunci suara harus bermain tiga suara dan mengatur volume fungsi pengurangan, semua tombol standar pulsa pemicu tidak mengulangi. Kunci satu-ke-satu mode kontrol (5 paragraf suara): memiliki tiga metode pengendalian

1. Semua tombol tidak retriggerable pulsa,

2. Semua tombol tidak bermain / stop pemicu (single tidak siklus); 3. Semua tombol tidak bermain / Stop (satu siklus ).

Daya loop mode kontrol: pada kekuasaan, tidak perlu memicu setiap port I/O, dan mengarahkan semua kartu memori SD suara Autoplay, dan memiliki kekuasaan dan titik fungsi memori bermain ketika power off dan kemudian


(23)

menyala secara otomatis kekuatan terakhir untuk melanjutkan pemutaran suara. Dua mode kontrol , P04 memiliki play / pause fungsi pulse, , P05 memiliki tingkat play / pause fungsi. Dua-kawat seri mode kontrol: Jam CLK dan mengirim DI baris data oleh mikrokontroler melalui data control modul WTV020-SD. Bebas untuk bermain suara alamat. Kombinasi suara bermain keadaan ini, dapat dilakukan. Suara update langsung melalui SD card reader pada penggantian PC. Modul ini mendukung sistem file FAT. Dukungan 6KHz ke 32KHz, 36KHz sampling rate ad4 suara dan 6KHz ~ 16KHz WAV audio yang sampling rate, otomatis dapat mengenali sampling rate suara, dan format file suara.

2.7 Bahasa Pemograman C

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 berorientasu objek dan pemrograman berbasis windows.

Sampai sekarang bahasa C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun 1995 (merupakan keluarga C


(24)

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 fungsi yang tidak memiliki tipe data kembalian (void). Hingga kini bahasa ni 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 : a. Kelebihan Bahasa C:

• Bahasa C tersedia hampir di semua jenis computer.

• Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.

• Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.

• Proses executable program bahasa C lebih cepat

• Dukungan pustaka yang banyak.

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


(25)

b. Kekurangan Bahasa C:

• Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.

• Bagi pemula pada umumnya akan kesulitan menggunakan pointer. 2.7.1 Struktur Bahasa C

a. Program bahasa C tersusun atas sejumlah blok fungsi.

b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu.

c. Tidak ada perbedaan antara prosedur dan fungsi.

d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main” (Program Utama).

e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”. f. Setiap statemen diakhiri dengan semicolon (titik koma).

2.7.2 Pengenal

Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura berikut :

• Karakter pertama tidak boleh menggunakan angka

• Karakter kedua dapat berupa huruf, angka, atau garis bawah.


(26)

• Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap berbeda.

• Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll.

2.7.3 Tipe Data

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 dalampembuatan 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, nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini.


(27)

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, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan 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 saya 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. Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe data double dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar.


(28)

Tabel 2.4 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

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.7.4 Konstanta Dan Variabel

Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa berubah nilainya pada saat program dijalankan.

2.7.5 IDENTIFIER

Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable,


(29)

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

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.8 Pengukuran Tegangan Output LM35 Dengan dan Tanpa

Menggunakan Pengkondisi Sinyal

Apabila kita ingin membaca suhu aktual dari sensor IC LM 35 ini menggunakan mikrokontroler maka kita perlu menggunakan ADC (analog to digital converter). Misalkan kita menggunakan mikrokontroler AVR Atmega32 maka kita tidak perlu menambahkan IC ADC, karena didalam mikrokontroler AVR Atmega32 sudah terdapat 8 channel ADC 10 bit, dimana port ADC terhubung dengan portA.

Apabila kita menginginkan sensor IC LM 35 ini untuk membaca suhu dengan range 0 – 100 0C maka dapat dihitung bahwa tegangan keluaran dari sensor ini berkisar antara 0V – 1 Volt ( 10mV/oC), sedangkan ADC dari mikrokontroler dapat membaca tegangan antara 0 – 5V (bila Vreff diseting 5V), maka supaya pembacaan sensor lebih teliti dengan resolusi perubahan yang halus maka keluaran tegangan dari sensor yang semula berkisar antara 0 – 1V kita buat


(30)

menjadi berkisar antara 0 – 5V dengan menggunakan rangkaian signal conditioning / pengkondisi sinyal.

Pengkondisi sinyal analog terdiri dari penguat penyangga (buffer) dan penguat non-inverting amplifier, dimana penguat penyangga berfungsi untuk merubah tegangan impedansi tinggi menjadi tegangan sama pada impedansi rendah. Karena sensor suhu LM35 menghasilkan tegangan yang berubah-ubah sesuai dengan perubahan suhu, maka penguat penyangga memastikan agar sinyal ini tidak terpengaruh oleh pembebanan dari penguat berikutnya. Dan penguat non-inverting amplifier berfungsi untuk menguatkan sinyal yang keluar dari rangkaian buffer. Dimana didalam rangkaian diatas penguatan dari rangkaian palifier ini dapat diatur dengan mengubah posisi variabel resistor 100K.


(1)

b. Kekurangan Bahasa C:

• Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.

• Bagi pemula pada umumnya akan kesulitan menggunakan pointer. 2.7.1 Struktur Bahasa C

a. Program bahasa C tersusun atas sejumlah blok fungsi.

b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan suatu proses tertentu.

c. Tidak ada perbedaan antara prosedur dan fungsi.

d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main” (Program Utama).

e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”. f. Setiap statemen diakhiri dengan semicolon (titik koma).

2.7.2 Pengenal

Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura berikut :

• Karakter pertama tidak boleh menggunakan angka

• Karakter kedua dapat berupa huruf, angka, atau garis bawah.


(2)

• Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap berbeda.

• Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun operator dalam pemrograman C, misalnya : Void, short, const, if, static, bit, long, case, do, switch dll.

2.7.3 Tipe Data

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 dalampembuatan 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, nilai inilah yang sebetulnya disimpan pada variabel yang bertipe data karakter ini.


(3)

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, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan hasilnya akan disimpan 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 saya 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. Double lebih memiliki panjang data yang lebih banyak dibandingkan float. Tipe data double dapat digunakan jika kita membutuhkan variabel yang dapat menampung tipe data berkoma yang bernilai besar.


(4)

Tabel 2.4 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

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.7.4 Konstanta Dan Variabel

Konstanta dan variable merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa berubah nilainya pada saat program dijalankan.

2.7.5 IDENTIFIER

Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable,


(5)

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

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.8 Pengukuran Tegangan Output LM35 Dengan dan Tanpa

Menggunakan Pengkondisi Sinyal

Apabila kita ingin membaca suhu aktual dari sensor IC LM 35 ini menggunakan mikrokontroler maka kita perlu menggunakan ADC (analog to digital converter). Misalkan kita menggunakan mikrokontroler AVR Atmega32 maka kita tidak perlu menambahkan IC ADC, karena didalam mikrokontroler AVR Atmega32 sudah terdapat 8 channel ADC 10 bit, dimana port ADC terhubung dengan portA.

Apabila kita menginginkan sensor IC LM 35 ini untuk membaca suhu dengan range 0 – 100 0C maka dapat dihitung bahwa tegangan keluaran dari sensor ini berkisar antara 0V – 1 Volt ( 10mV/oC), sedangkan ADC dari mikrokontroler dapat membaca tegangan antara 0 – 5V (bila Vreff diseting 5V), maka supaya pembacaan sensor lebih teliti dengan resolusi perubahan yang halus maka keluaran tegangan dari sensor yang semula berkisar antara 0 – 1V kita buat


(6)

menjadi berkisar antara 0 – 5V dengan menggunakan rangkaian signal conditioning / pengkondisi sinyal.

Pengkondisi sinyal analog terdiri dari penguat penyangga (buffer) dan penguat non-inverting amplifier, dimana penguat penyangga berfungsi untuk merubah tegangan impedansi tinggi menjadi tegangan sama pada impedansi rendah. Karena sensor suhu LM35 menghasilkan tegangan yang berubah-ubah sesuai dengan perubahan suhu, maka penguat penyangga memastikan agar sinyal ini tidak terpengaruh oleh pembebanan dari penguat berikutnya. Dan penguat non-inverting amplifier berfungsi untuk menguatkan sinyal yang keluar dari rangkaian buffer. Dimana didalam rangkaian diatas penguatan dari rangkaian palifier ini dapat diatur dengan mengubah posisi variabel resistor 100K.