BAB 2 LANDASAN TEORI 2.1 Sensor Suhu IC LM35 - Inkubator Penetas Telur Otomatis Memakai LM35 Berbasis Mikrokontroler Atmega 8535 Secara Hardware

  4 BAB 2 LANDASAN TEORI

2.1 Sensor Suhu IC LM35

  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 yang diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.

  Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-

  

heating ) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah

yaitu kurang dari 0,5 ºC pada suhu 25 ºC .

  Secara prinsip sensor akan melakukan penginderaan pada saat perubahan suhu setiap suhu 1 ºC akan menunjukan tegangan sebesar 10 mV. Pada penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula disemen pada permukaan akan tetapi suhunya akan sedikit berkurang sekitar 0,01 ºC karena terserap pada suhu permukaan tersebut. Dengan cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh sensor LM35 sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan dan suhu udara disekitarnya .

  Jarak yang jauh diperlukan penghubung yang tidak terpengaruh oleh interferensi dari luar, dengan demikian digunakan kabel selubung yang ditanahkan sehingga dapat bertindak sebagai suatu antenna penerima dan simpangan

  5

  didalamnya, juga dapat bertindak sebagai perata arus yang mengkoreksi pada kasus yang sedemikian, dengan mengunakan metode bypass kapasitor dari V

  in untuk ditanahkan. Berikut ini adalah karakteristik dari sensor LM35.

  1. Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius.

  2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC

  3. Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC.

  4. Bekerja pada tegangan 4 sampai 30 volt.

  5. Memiliki arus rendah yaitu 60 µA.

  6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara diam.

  7. Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA.

  8. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC

Gambar 2.1 Sensor Suhu LM35

  6

2.2 Mikrokontroler ATMega 8535

  Mikrokontroler adalah sebuah komputer dalam chip yang digunakan untuk mengontrol peralatan elektronik. Sebuah mikrokontroler umumnya berisi seluruh memori dan antarmuka I/O yang dibutuhkan, sedangkan mikroprosesor serba guna membutuhkan chip tambahan untuk menyediakan fungsi yang dibutuhkan. Mikrokontroler hanya bisa menjalankan satu program aplikasi saja yang tersimpan pada memori programnya ROM (Read Only Memory). Oleh Karena itu Mikro-System sering pula disebut sebagai Minimum System dan merupakan suatu rangkaian terintegrasi atau IC (Integrated Circuit) yang diperlukan oleh suatu kontroler sudah dikemas dalam satu keping yang didalamnya terdiri dari pusat pemroses (Central Processing Unit), RAM (Random Access Memory), EEPROM (Electrical Erasable Programmable Read Only Memory), atau EPROM (Erasable Programmable Read Only Memory), atau PROM (Programmable Read Only Memory), unit input/output, antarmuka serial dan parallel, timer dan counter, serta interup kontroler. Fasilitas port paralel yang dimiliki dapat dipergunakan untuk mengendalikan peralatan luar atau memasukkan data yang diperlukan. Port serial dapat dipergunakan untuk mengakses sistem komunikasi data dengan peralatan luar. Timer/Counter yang ada dapat dipergunakan untuk mencacah pulsa, menghitung lama pulsa atau sebagai pewaktu umum.

  Mikrokontroler umumnya bekerja pada frekuensi 4MHZ-40MHZ. perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggera motor. Read only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, sesuai dengan susunan MCS-51. Memory penyimpanan program dinamakan sebagai memory program.

  (RAM) IC kehilangan catu daya dipakai untuk

  Random Acces Memory

  menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

  Mikrokontroler biasanya dilengkapi dengan UART (Universal Receiver Transmitter) yaiut port serial komunikasi serial asinkron,

  Asychoronous

  US ART (Universal Asychoronous\Asy choronous Receiver Transmitter) yaitu port yang digunakan untuk komunikasi serial asinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari Uart, SPI ( Serial Port Interface), SCI (

  

Serial Communication Interface ), Bus RC ( Intergrated circuit Bus ) merupakan

  2 jalur yang terdapat 8 bit, CAN (Control Area Network ) merupakan standard pengkabelan SAE (Society of Automatic Enggineers). Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka perangkat keras disimpan dalm ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM yang ukurannya relative lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-register yang digunakan pada Mikrokontroler yang bersangkutan.

  2.2.1 Fitur ATMega 8535

  Kapabilitas detail dari ATMega8535 adalah sebagai berikut : 1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16MHz.

  2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.

  3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel

  4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5Mbps.

  5. Enam pilihan mode sleep menghemat penggunaan daya listrik.

  2.2.2 Konfigurasi ATMega 8535 Konfigurasi pin ATMega 8535 bisa dilihat pada gambar 2.3. di bawah ini.

  Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega 8535 sebagai berikut:

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

  2. GND merupakan pin ground.

  4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus , yaitu Timer/Counter, komparator analog, dan SPI.

  5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilat.

  6. Port D (PD0.. PD7 merupakan pin I/O dua arah dan fungsi khusus, yaitu komparator analog, interupsi eksternal, komunikasi serial.

  7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

  8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

  9. AVCC merupakan pin masukan tegangan untuk ADC.

  10. AREF merupakan pin masukan tegangan referensi ADC.

Gambar 2.2 Pin ATMega 8535

  9

  1. PORT A Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor ( 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 masukan sinyal analog bagi A/D coverter.

  2. PORT B Merupakan 8 bit 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 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. Pin-pin port B juga memiliki untuk fungsi\fungsi alternatif khusus seperti yang terlihat pada tabel berikut.

Tabel 2.1 Konfigurasi Pin Port B ATMega 8535

  PORT PIN FUNGSI KHUSUS PB0 T0 = timer/ counter 0 external counterinput

  PB1 T1 = timer/counter 0 external counter input

  PB2 AINO = analog comparator positive input

  PB3 AINI =analog comparator negative input

  PB4 SS = SPI slave select input

  PB5 MOSI = SPI bus master output/slave input

  PB6 MISO = SPI bus master input/slave output

  PB7 SCK = SPI bus serial clock

  3. PORT C Merupakan 8-bit directional port I/O. 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, DUA pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscilator untuk timer/counter 2.

  4. PORT D Merupakan 8-bit directional port I/O. 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 out

Tabel 2.2 Konfigurasi Pin Port D ATmega8535

   Port Pin Fungsi Khusus

  PD0 RDX (UART input line) PD1 TDX (UART output line) PD2

  INT0 ( external interrupt 0 input ) PD3

  INT1 ( external interrupt 1 input ) PD4 OC1B (Timer/Counter1 output compareB match output PD5 OC1A (Timer/Counter1 output compare A match output) PD6

  ICP (Timer/Counter1 input capture pin) PD7 OC2 (Timer/Counter2 output compare match output)

  5. RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di- reset.

  6. XTAL1

  XTAL1 adalah masukan ke inverting oscilator amplifier dan input ke internal clock operating circuit.

  7. XTAL2 XTAL2 adalah output dari inverting oscilator amplifier.

  8. Avcc Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara ekste rnal terhubung ke Vcc melalui lowpass filter.

  AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasional ADC, suatu level tegangan antara AGND dan Avcc harus diberikan kaki ini.

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

2.2.3 Peta Memori

  AVR ATMega8535 memilii ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Interanal.

  Register keperluan umum menempati space data pada alamt terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan mengatur fungsi terhadap berbagai peripheral mikrokontroller, seperti contoh register, t imer/counter, fungsi-fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat tabel ini. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan pada gambar dibawah ini .

Gambar 2.3 Konfigurasi Memori Data AVR ATMega 8535 word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit, AVR ATMega8535 memiliki KByte 12-bit program Counter (PC) sehingga mampu mengalamati isi flash. Selain itu AVR ATMega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF. Dibawah ini adalah gambar memori program AVR ATMega8535.

2.2.4 Status Register (SREG)

  Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan, ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.

Gambar 2.4 Status Register ATMega 8535 1.

  Bit 7-I: Global Interrupt Enable Bit harus diset untuk meng-enable interupsi. Setelah itu, dapat kita aktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit kontrol register yang bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI.

2. Bit 6-T:Bit Copy Storage

  Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BLD.

  3. Bit 5-H: Half Carry Flag 4.

  Bit 4-S: Sign Bit Bit-S merupakan hasil operasi EOR antara flag-N (negative) dan flag Vm (komplemen dua overflow).

  5. Bit 3-V: Two’s Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika.

  6. Bit 2-N: Negative Flag Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan diset.

  7. Bit 1-Z: Zero Flag Bit akan diset bila hasil operasi yang diperoleh adalah nol.

  8. Bit 0-C: Carry Flag apabila suatu operasi menghasilkan carry, maka bit akan diset.

  Port I/O pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan juga sebagai output dengan keluaran high atau low.Untuk mengatur fungsi port I/O sebagai input ataupun output, perlu dilakukan setting pada DDR dan port. Logika port I/O dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.

  I/O merupakan bagian yang paling menarik dan penting untuk diamati karena I/O merupakan bagian yang bersangkutan dengan komunikasi mikrokontroller dengan dunia luar. Selain port I/O, bagian ini juga menyediakan informasi mengenai berbagai peripheral mikrokontroller yang lain, seperti ADC, EEPROM, UART, dan Timer.

  Komponen yang tercakup dalam workspace I/O meliputi berbagai register berikut :

  1. AD_CONVERTER; register: ADMUX, ADCSR, ADCH, ADCL

  2. ANALOG_COMPARATOR; register: ACSR

  3. CPU; register: SREG, SPH, SPL, MCUCR, MCUCSR, OSCCAL, SFIOR, SPMCR

  4. EEPROM; register: EEARH, EEARL, EEDR, EECR

  5. External_Interrupt; register: GICR, GIFR, MCUCR, MCUCSR

  6. PORTA; register: PORTA, DDRA, dan PINA

  7. PORTB; register: PORTB, DDRB, dan PINB

  8. PORTC; register: PORTC, DDRC, dan PINC

  9. PORTD; register: PORTD,DDRD, dan PIND

  10. SPI; register: SPDR, SPSR, SPCR

  11. TIMER_COUNTER_0; register: TCCR0, TCNT0, OCR0, TIMSK,

TIFR, SFIOR

  12. TIMER_COUNTER_1; register: TIMSK, TIFR, TCCR1A, TCCR1B, TCNT1H, TCNT1L, OCR1AH, OCR1AL, OCR1BL, ICR1H,

  1CR1L

  13. TIMER_COUNTER_2; register: TIMSK, TIFR, TCRR2, TCNT2, OCR2, ASSR, SFIOR.

  14. TWI; register: TWBR, TWCR, TWSR, TWDR, TWAR

  15. USART; register: UDR, UCSRA, UCSRB, UCSRC, UBRRH, UBRRL

  16. WATCDOG; register: WDTCR Adapun komponen-komponen yang dapat diamati melalui I/O pada workspace sebagai berikut :

  • R0 sampai dengan R15
  • R16 sampai dengan R13

  2. Processor

  • Stack pointer
  • Program counter
  • Cycle pointer
  • X_register
  • Y_register
  • Z_register
  • Frequency - Stop Watch 3.

I/O AVR

  Adapun Instruksi I/O adalah sebagai berikut : 1. in; membaca data I/O Port atau internal peripheral register {Timers,UART, ke dalam register }

  2. Out; menulis data sebuah register ke I/O Port atau internal peripheral register.

  3. Idi (load immediate); untuk menulis konstanta ke register sebelum konstanta itu dituliskan ke I/O port.

  4. Sbi (set bit in I/O); untuk membuat logika high satu bit I/O register.

  5. Cbi ( clear bit in I/O); untuk membuat logika low satu bit I/O register.

  6. Sbic (skip if bit in I/O is cleared); untuk mengecek apakah bit I/O register clear.Jika ya, skip satu perintah dibawahnya.

  7. Sbis (skip if bit in I/O is set); untuk mengecek apakah bit I/O register set. Jika ya, skip satu perintah dibawahnya.

  Data yang dipakai dalam mikrokontroller ATmega8535 dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang terdapat di mikrokontroller dapat diolah dengan berbagai operasi aritmatik (penjumlahan, pengurangan, dan perkalian) maupun operasi nalar (AND, OR, dan EOR/eksklusif OR). AVR ATmega8535 memiliki tiga buah timer, yaitu:

  1. Timer/counter 0 (8 bit)

  17

  3. Timer/counter 2 (8 bit) Karena Atmega 8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal analog menjadi data digital yang berasal dari sensor dapat langsung dilakuka n prosesor utama. Beberapa karakteristik ADC internal ATmega8535 adalah 1. Mudah dalam pengoperasian.

  2. Resolusi 10 bit.

3. Memiliki 8 masukan analog.

  4. Konversi pada saat CPU sleep.

  5. Interrupt waktu konversi selesai.

2.3 Bahasa BASIC Menggunakan BASCOM

  BASCOM-8535 adalah program BASIC compiler berbasis Windows untuk mikrokontroler keluarga 8535 seperti AT89C51, AT89C2051, dan yang lainnya. BASCOM-8535 merupakan pemrograman dengan bahasa tingkat tinggi BASIC yang dikembangkan dan dikeluarkan oleh MCS Elektronik.

  Kita akan membahas penggunaan karakter, tipe data, variable, konstanta, operasi-operasi aritmatika dan logika, array, dan control program.

2.3.1 Karakter dalam BASCOM

  Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabet (A-Z dan a-z), karakter numeric (0-9), dan karakter special. Adapun karakter yang dimaksud ditunjukkan pada tabel 2.1 berikut :

Tabel 2.3 Karakter Spesial Karakter Nama

  Blank ‘ Apostrophe

  • Asterisk (symbol perkalian)
    • Plus sign , Comma - Minus sign . Period (decimal po int) / Slash (division symbol) will be handled as : Colon “ Double quotation mark ; Semicolon

  < Less than = Equal sign (assignment symbol or relational operator) > Greater than / Backspace (integer or word division symbol)

  Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler. Berikut adalah tipe data pada BASCOM berikut keterangannya.

  18

2.3.2 Tipe Data

Tabel 2.4 Tipe Data BASCOM

  Tipe Data Ukuran (byte) Range

  • Bit 1/8 Byte

  1 0 – 255 Integer 2 -32,768 - +32,767 Word 2 0 – 65535 Long 4 -214783648 - +2147483647

  4 - Single

  • String hingga 254 byte

2.3.3 Variabel

  Variabel dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan data atau penampungan data sementara, misalnya menampung hasil perhitungan, menampung data hasil pembacaan register, dan lainnya. Variabel merupakan pointer yang menunjukkan pada alamat memori fisik dan mikrokontroler.

  Dalam BASCOM, ada beberapa aturan dalam penamaan sebuah variabel : a. Nama variabel maksimum terdiri atas 32 karakter.

  b.

  Karakter biasa berupa angka atau huruf.

  c.

  Nama variabel harus dimulai dengan huruf.

  d.

  Variabel tidak boleh menggunakan kata-kata yang digunkan oleh BASCOM sebagai perintah, pernyataan, internal register, dan nama operator (AND, OR, DIM, dan lain-lain).

  20 Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel.

  Cara pertama adalah menggunakan pernyataan ‘DIM’ diikuti nama tipe datanya. Contoh pendeklarasian menggunakan DIM sebagai berikut: − Dim nama as byte Dim − tombol1 as word Dim − tombol2 as word Dim − tombol3 as word Dim − tombol4 as word Dim − Kas as string*10

  2.3.4 Alias

  Dengan menggunakan alias, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variabel yang telah baku, seperti port mikrokontroler. − LedBar alias P1 − Tombol1 alias P0.1 − Tombol2 alias P0.2

  Dengan deklarasi seperti diatas, perubahan pada tombol akan mengubah kondisi P0.1. Selain mengganti nama port, kita dapat pula menggunakan alias untuk mengaks esbit tertentu dari sebuah variabel yang telah dideklarasikan. − Dim LedBar as byte − Led1 as LedBar.0 − Led2 as LedBar.1 − Led3 as LedBar.2

  2.3.5 Konstanta

  Dalam BASCOM, selain variabel kita mengenal pula constant. Konstanta dikandung tetap. Dengan konstanta, kode program yang kita buat akan lebih mudah dibaca dan dapat mencegah kesalahan penulisan pada program kita. Misalnya, kita akan lebih mudah menulis phi daripada menulis 3,14159867. Sama seperti variabel, agar konstanta bias dikenali oleh program, maka harus dideklarasikan terlebih dahulu. Berikut adalah cara pendeklarasian sebuah konstanta.

  Const Cbyte = &HF Const Cint = -1000 Const Csingle = 1.1 Const Cstring = “test”

2.3.6 Operasi-operasi Dalam BASCOM

  Pada bagian ini akan dibahas tentang cara menggabungkan, memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan menggunakan operator-operator yang tersedia di BASCOM dan bagaimana sebuah pernyataan terbentuk dan dihasilkan dari operator- operator berikut: a.

  Operator Aritmatika Operator digunakan dalam perhitungan. Operator aritmatika meliputi + (tambah), - (kurang), / (bagi), dan * (kali).

  b.

  Operator Relasi Operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat digunakan untuk membuat keputusan sesuai dengan program yang kita buat.

  Operator relasi meliputi:

Tabel 2.5 Tabel Operator Relasi

  Operator Relasi Pernyataan = Sama Dengan X = Y < > Tidak sama dengan X < > Y < Lebih kecil dari X < Y > Lebih besar dari X > Y < = Lebih kecil atau sama dengan X < = Y > = Lebih besar atau sama dengan X > = Y c.

  Operator Logika Operator digunakan untuk menguji sebuah kondisi atau memanipulasi bit dan operasi bolean.

  Dalam BASCOM, ada empat buah operator logika, yaitu AND,OR, NOT, dan XOR. Operator logika biasa juga digunakan untuk menguji sebuah byte dengan pola bit tertentu, sebagai contoh:

  Dim A As Byte A = 63 And 19 PPRINT A A = 10 or 9 PRTINT A Output

  16

  11

  d. Operator Fungsi Operasi fungsi digunakan untuk melengkapi operator yang sederhana.

2.3.7 LCD (Liquid Crystal Display)

  Layar LCD merupakan media penampil data yang sangat efektif dalam suatu sistem elektronik. Agar sebuah pesan atau gambar dapat tampil pada layar LCD, diperlukan sebuah rangkaian pengatur scanning dan pembangkit tegangan sinus. Rangkaian yang cukup rumit ini awalnya sering menjadi kendala bagi pemula elektronika dalam menggunakan agar LCD dan antarmuka ke mikrokontroler. LCD yang terdiri dari Liquid yang bisa diartikan cair yang mengatur kristal agar mempolarisasikan cahaya. Setiap cell berlaku seperti prisma yang membiaskan cahaya matahari (putih) menjadi warna tertentu. Bahan kristal yang digunakan adalah Pasive matrix, indium-tin oxide, Active matrix. Pada LCD terdapat downloader yang akan disambungkan ke mikrokontroller. Pada inkubator ini LCD difungsikan untuk menampilkan nilai suhu dan kelembapan pada ruang inkubator.

  Antar muka antara LCD dengan ATmega8535 menggunakan mode antarmu ka 4 bit. Selain lebih menghemat I/O, mode demikianpun mempermudah proses pembuatan PCB-nya. Program berikut akan menjalankan beberapa perintah yang berkenaan dengan LCD.

  $regfi le = “8052.dat” $crystal = 12000000 dim x as byte config LCD = 16*2 Cursor off do X = 100 Cls

  Lcd “namaku teddy” Lowerlin cd“Nilaiku selalu”; x Wait 1 Cls

  24 Lcd “<<<< Hebat >>>> ”For x=1 to 16 Shiftlcd left next

  For x=1 to 32 Shiftlcd right Waitms 20 next x = 100 cls lcd hex x loop

  Penjelasan programnya sebagai berikut: 1.

   Dim x As Byte Pernyataan di atas merupakan pendeklarasian variable x dengan ukuran byte.

  2. Config LCD = 16*2

  Oleh karena itu, konfigurasi yang dapat kita lakukan adalah mendeklarasikannya dilisting program yang kita buat seperti dikontrolkan di atas.

  3. CLS Perintah CLS berfungsi membersihkan atau mengosongkan tampilan LCD.

  4. Lowerline

  Perintah berfungsi memindahkan kursor ke baris bawah. Karena LCD yang digunakan adalah LCD 2x16, maka LCD memiliki 2 baris dan kolom.

  5. X = 100 Lcd “namaku Teddy” Lowerline Lcd “Nilaiku selalu”; x

  Ketika kita menjalankan perintah di atas, maka keluarannya adalah Namaku Teddy

  25 Nilaiku selalu 100

  Contoh di atas menunjukkan bahwa kita dapat menampilkan isi sebuah variabel menggunakan LCD hanya dengan menulis.

  6. ShiftLCD left/right

  Perintah digunakan untuk menggeser tampilan LCD ke kiri atau ke kanan sebanyak 1 langkah. Perintah berguna untuk menampilkan kalimat yang panjang dan mebuat animasi di LCD.

  7. Lcdhex x

  Perintah berfungsi mengirim isi sebuah variabel ke LCD dalam format hexadecimal. Jika kita menjalankan program, maka hasilnya 64.