Membuat Indikator Suhu Dengan Bascom-AVR Dan ISIS Proteus

Posted on

Suhu merupakan besaran yang menunjukan derajat panas dingin suatu benda atau tempat. Suhu pada dasarnya memiliki empat jenis skala diantaranya skala celcius, skala farhenheit, skala reamur dan skala kelvin. Namun dari keempat skala tersebut yang paling sering digunakan atau yang seeing kita dengar sudah pasti skala celcius karena hampir semua ukuran suhu di nyatakan dalam skala celcius, misalnya suhu tubuh, air, udara, ruangan dan lain sebagainya.

Pada artikel sebelumnya saya sudah membuat tutorial bagaimana cara penggunaan LM35 dengan menggunakan ATmega8 sehingga menampil suhu pada suatu tempat atau ruangan yang di tampilkan dengan menggunakan LCD 16×2. Pada tutorial tersebut sudah terlihat bagaimana hasil dari penggunaan sensor tersebut untuk membaca suhu. Pada artikel kali ini saya akan membuat sebuh indikator tambahan yang akan menunjukan kekuatan sebuah suhu pada sebuah ruangan yang di tunjukan melalui LED. Saya akan menggunakan 4 buah LED dengan warna yang berbeda sehingga setiap warna menunjukan tingkaran suhu yang berbeda pula. 4 led tersebut di antaranya:

  1. LED berwarna Biru digunakan untuk menunjukan suhu diantara 1°C – 20 °C atau kita artikan sebagai suhu paling dingin
  2. LED berwarna Hijau digunakan untuk menunjukan suhu diantara 21°C – 30 °C atau kita artikan sebagai suhu sejuk
  3. LED berwarna Kuning digunakan untuk menunjukan suhu diantara 31°C – 38 °C atau kita artikan sebagai suhu sedang
  4. LED berwarna Merah digunakan untuk menunjukan suhu diantara 1°C – 20 °C atau kita artikan sebagai suhu paling panas

Baik langsung saja kita praktekan dengan mengikuti tutorial beriku:

Membuat Skema Rangkaian:

Sama seperti rangkaian pada artikel sebelumnya, namun dirangkaian kali ini saya menambhakan 4 buah LED dan 4 Buah resistor. Berikut Skema rangkaianya:

  1. Buka aplikasi ISIS proteus.
  2. Klik “Component mode” dan klik “pick from library” kemudian masukan komponen-komponen berikut:
    • ATMEGA8
    • CAP
    • CRYSTAL
    • LED-Blue
    • LED-Green
    • LED-Red
    • LED-Yellow
    • LM016L
    • LM35
    • RES
  3. Rangkaia komponen-komponen tersebut seperti gambar rangkaian di atas.
  4. Atur external clock pada IC ATmega8 dengan cara:
    • Double click pada IC ATmega8
    • Ubah yang ada pada kotak seperti gambar berikut:
  5. Simpan rangkaian tersebut pada folder masing-masing.

Membuat kode program

Untuk kode program juga sama dengan kode program pada artikel sebelumnya, cuma disini saya menambahkan fungsi “IF” pada eksekusi programnya. Tujuanya yaitu kita membuat suatu [atoka suhu tertentu dengan indikator lewat LED seperti yang sudah saya jelaskan di atas. Berikut kode programnya:

$regfile = “m8def.dat” ‘ jenis ATmega yang dipakai
$crystal = 1000000

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
Config Lcdpin = Pin , E = Portd.1 , Rs = Portd.0
Config Lcd = 16 * 2

Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output

Dingin Alias Portb.0
Sejuk Alias Portb.1
Sedang Alias Portb.2
Panas Alias Portb.3

Dim Temp_adc As Word
Dim Temp As Word

Deflcdchar 0 , 12 , 18 , 18 , 12 , 32 , 32 , 32 , 32

Cls

Do
Cursor Off
Temp_adc = Getadc(0)
Temp = Temp_adc * 5
Temp = Temp / 10

Locate 1 , 1
Lcd “IDEBELAJAR.COM”
Locate 2 , 1
Lcd “TEMP=”
Locate 2 , 6
Lcd TEMP
Locate 2 , 9
Lcd Chr(0)
Locate 2 , 10
Lcd “C”
Locate 2 , 11
Lcd “”

If Temp > 1 Then
Set Dingin
Reset Sejuk
Reset Sedang
Reset Panas
End If

If Temp > 20 Then
Set Dingin
Set Sejuk
Reset Sedang
Reset Panas
End If

If Temp > 30 Then
Set Dingin
Set Sejuk
Set Sedang
Reset Panas
End If

If Temp > 38 Then
Set Dingin
Set Sejuk
Set Sedang
Set Panas
end if

Waitms 50
Loop

Pada kode program yang telah saya beri warna hijau di atas merupakan tambahan dari artikel yang sebelumnya, saya hanya menentukan tingkatan suhu kemudian mematikan dan menyalakan LED dengan fungsi Set dan Reset. Jika teman teman sudah paham dengan kode program menggunakan bilangan biner maka boleh menggantikanya dengan kode program berikut:

If Temp > 1 Then
Portb = &B00000001
End If

If Temp > 20 Then
Portb = &B00000011
End If

If Temp > 30 Then
Portb = &B00000111
End If

If Temp > 38 Then
Portb = &B00001111
End If

Simpan kode program dengan nama LM35+LED kemudian compile dengan menekan tombol F7 pada keyboard. Hasilnya kedua kode program tersebut sama saja, hanya saja kode program kedua akan lebih simpel penulisanya dan lebih menghemat space memory pada ATmega8.

Percobaan simulasi

  1. Buka kembali skema rangkaian yang telah dibuat tadi.
  2. Double click pada IC ATmega8.
  3. Klik Icon Folder.
  4. Masuk ke folder penyimpanan kode program dan dari file bernama LM35+LED.hex.
  5. Jalankan simulasi dengan menekan tombol play seperti gambar berikut:

Naikan suhu dengan mengklik panah atas pada Sensor LM35 kemudian lihat hasilnya.

Bagaiamana? Mudah bukan? coba tambahkan beberpa LED lagi sebagai indikator agar melatih kemampuan teman-teman. Jika ada yang belum dipahami tulis pertanyaan di kolom komentar, InsyaAllah kalau bisa akan saya jawab, kalau saya tidak bsa mejawab mari kita cari jawabanya sama-sama 😀 . Selamat belajar dan berexplorasi.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.