Membuat
Termometer Digital dengan
LM35 dan
Data Logger / SD Card
Pada
pembahasan kali ini akan dibahas mengenai bagaimana cara pembuatan dari alat
pengukur suhu yang menggunakan sensor LM35 menggunakan mikrokontroller ATMega32
dengan tambahan yaitu adanya system penyimpanan data logger yang berupa SD
Card, jadi data yang diperoleh oleh sensor akan disimpan kedalam SD Card dalam
bentuk file.txt, Lalu
bagaimana cara melihat text yang tersimpan di SD
Card?, Caranya yaitu dengan memasukkan SD Card tersebut ke komputer PC
atau
Laptop sehingga akan Nampak file.txt yang tersimpan.
Terdapat satu
buah tombol Push Button yang mana terletak pada portB.0 pada mikrokontroller,
tombol ini berfungsi untuk melakukan penyimpanan data yang ada pada
mikrokontroller, sehingga data yang dibaca oleh mikrokontroller dapat disimpan
ke SD Card melalui tombol ini. Untuk bagannya seperti berikut ini
Sensor
LM35
Sensor LM35 hanya menggunakan vcc, gnd dan data,
seperti gambar 6.22b yang mana hanya perlu disambungkan
port data output ke input data rangkaian pengkondisi sinyal.
Rangkaian pengkondisi sinyal digunakan untuk
memperbesar output tegangan dari sensor yang memiliki tegangan output yang
kecil, sehingga perlu diperbesar agar mikrokontroler dapat dengan jelas membaca
data tersebut.
Rangkaian
Minimum System ATMega32
SD Card Module
SD Card module disini adalah sebagai media untuk menghubungkan antara
mikrokontroller dengan SD card, yang mana agar data dapat tersimpan dengan baik
ke SD card yang dimasukkan ke dalam SD Card module, untuk konfugurasi dari SD
Card Module ke mikrokontroller dapat dilihat pada bagan berikut
SD
Card 128 MB
Program Bascom AVR
'========================================
'Programmer: Yanuar Mukhammad
‘Nama File Utama : sd card.bas
'=======================================
$regfile = "m32def.dat"
$crystal = 12000000
'==========================
Config Lcdpin = Pin , E = Portc.1 , Rs =
Portc.0 ,
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 =
Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2
Config Adc = Single , Prescaler = Auto ,
Reference = Avcc
Config Pinb.0 = Input
Tombol1 Alias Pinb.0
Set Portb.0
Set Portb.1
'======VARIABEL MMC==================
Dim A As Byte
Dim L As String * 10
Dim Ff As Byte
Dim S As Long
Dim Diskf As Long
Dim Disks As Long
Dim Nama As String * 20
$include "Config_AVR-DOS32.BAS"
$include "Config_MMC32.bas"
Ff = Drivereset()
Ff = Driveinit()
$external Waitms
'--------------------------
Dim Suhu_ref As Word
Dim Suhu As Word
'--------------------------
Deflcdchar 0 , 12 , 18 , 18 , 12 , 32 , 32 ,
32 , 32
Start Adc
Perintah:
Cls
Cursor Off
'--------------------------
Do
Suhu_ref = Getadc(7) 'ambil data ADC portA.7
Suhu = Suhu_ref * 5 'kalibrasi dari LM35
Suhu = Suhu / 10
Suhu = Suhu - 225
'jika kurang tepat disesuaikan dengan termometer
digital
'yang dijual dipasaran
Locate 1 , 1
Lcd "**THERMOMETER***"
Locate 2 , 1
Lcd "Suhu="
Locate 2 , 6
Lcd "
"
Locate 2 , 6
Lcd Suhu
Locate 2 , 9
Lcd Chr(0)
Locate 2 , 10
Lcd "C"
Locate 2 , 11
Lcd "
"
If Tombol1 = 0 Then Goto Utama
Waitms 500
Loop
Utama:
Cls
Waitms 200
Upperline
Lcd " PLEASE WAIT !!"
Wait 1
Cls
Do
If Gbdriveerror <> 0 Then 'CEK MEMORY CARD ERROR
Cls
Locate 1 , 1
Lcd
"Error Config"
Locate 2 , 1
Lcd
"CEK MEMORY"
Wait
2
End If
A = Initfilesystem(1) 'init file system
If A <> 0 Then
Cls
Locate 1 , 1
Lcd
"Error MEMORY"
Locate 2 , 1
Lcd
"CEK MEMORY CARD"
Wait
2
Cls
Goto
Perintah
End If
If A = 0 Then
Cls
Locate 1 , 1
Lcd
"MEMORY OK"
Wait
1
End If
Diskf = Diskfree()
Select Case Diskf 'CEK FREESPACE
S = Diskf
S = Str(s)
Case Is > 3000 : Locate 2 , 1
Lcd " Free >
3MB"
Lcd S
Case Is > 1000 : Locate 2 , 1
Lcd " Free >
1MB"
Lcd S
Case Else : Locate 2 , 1
Lcd "!! FREE < 1MB !!"
Wait 1
Locate 2 , 1
Lcd "GANTI memoryCARD"
End Select
Wait 3
Ff = Freefile()
L = "TEST"
Nama = L + ".txt"
Open Nama For Append As #ff
Print #ff , " RESULT "
Print #ff ,
"#################################"
Print #ff , " Data Suhu LM35 "
Print #ff ,
"#################################"
Print #ff , "Suhu: " ; Suhu ; "
Celcius "
Print #ff ,
Print #ff ,
Close #ff 'tutup file
Cls
Locate 1 , 1
Lcd
"FILE CREATED"
Wait
2
Goto
Perintah
Cls
Loop
Return
Catatan:
Saat Program di-compile pada file bascom, terlebih dahulu
masukkan file CONFIG_AVR-DOS32.bas dan Config_MMC32.bas pada satu folder dengan
file utama, seperti tampilan gambar berikut.
Maksud file utama yaitu file yang terdapat program diatas, yang
berisikan program LM35 dan SD card, yang jadi masalah disini yaitu bagaimana
cara mendapatkan file
CONFIG_AVR-DOS32.bas dan Config_MMC32.bas ?, tidak usah khawatir tinggal
download di link berikut ini
CONFIG_AVR-DOS32.bas =
Config_MMC32.bas =
Cara penggunaan
alat ini hanya berikan sumber daya 12v pada rangkaian regulator sehingga alat
akan menyala dan berfungsi, setelah berfungsi akan terlihat tampilan dari data
suhu yang diambil oleh port ADC mikrokontroller dari sensor LM35, untuk
menyimpan data tersebut, tekanlah tombol push button sekali, maka akan tampak
tulisan-tulisan pada LCD yang akan mengarah ke penyimpanan file, jika berhasil
maka tidak ada tampilan atau kata-kata error pada saat penyimpanan dan otomatis
tulisan pada lcd akan kembali pada deteksi suhu.
Untuk
kalibrasi LM35 disesuaikan dengan alat yang sebenarnya, yaitu termometer
digital yang dijual dipasaran, untuk membandingkan kevalid-an data yang diperoleh.
No comments:
Post a Comment