Digital Termometer Tampilan Celcius, Fahrenheit, Kelvin dan Reamur
Alhamdulillah ketemu lagi , dengan kami, inkubator teknologi, di obrolan enteng berisi, microcontroller yang warna – warni, hihi… 🙂
Hmm gini aja deh, kita bikin aplikasi mikrokontroler AVR ATmega8535. Pada jaman duluuuu kita pernah bikin thermometer digital. nah itu kita modif dikit aja, kita tambahkan fitur tampilan ke satuan Farrenheit, Kelvin dan Reamur. Sensornya tetap LM35 dengan tampilan 7 segment 4 digit. untuk memilih apakah tampil dalam Celcius, Kelvin atau yang lain kita tambahkan 4 tombol push on.
Rangkaian digital thermometer dengan tampilan C, F, K dan R :
Rangkaian Termometer Digital
Programnya kita ramu dengan BASCOM-AVR :
$regfile = “m8535.dat”
$crystal = 16000000
Declare Sub Konversi(x As Word )
Dim Data_adc As Word , Suhu As Word
Dim Sat As Word , Pul As Word , Rat As Word
Dim T As String * 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portc = Output
Config Portb = Output
Config Portd = Input
Portd = &HFF
Start Adc
Suhu = 35
T = “C”
Do
Data_adc = Getadc(0)
Suhu = Data_adc * 5
Suhu = Suhu / 10
Portc = &B11110111
If T = “C” Then
Portb = &B11000110
Elseif T = “F” Then
Portb = &B10001110
Suhu = Suhu * 9
Suhu = Suhu / 5
Suhu = Suhu + 32
Elseif T = “K” Then
Portb = &B10001010
Suhu = Suhu + 273
Elseif T = “R” Then
Portb = &B10101111
Suhu = Suhu * 4
Suhu = Suhu / 5
End If
Waitms 2
Konversi Suhu
Portc = &B11111011
Portb = Lookup(sat , Angka)
Waitms 2
Portc = &B11111101
Portb = Lookup(pul , Angka)
Waitms 2
Portc = &B11111110
Portb = Lookup(rat , Angka)
Waitms 2
If Pind.0 = 0 Then
T = “C”
Elseif Pind.1 = 0 Then
T = “F”
Elseif Pind.2 = 0 Then
T = “K”
Elseif Pind.3 = 0 Then
T = “R”
End If
Loop
End
Sub Konversi(x As Word )
Rat = X Mod 1000
Rat = Rat / 100
Pul = X Mod 1000
Pul = Pul Mod 100
Pul = Pul / 10
Sat = X Mod 1000
Sat = Sat Mod 100
Sat = Sat Mod 10
End Sub
Angka:
Data &HC0 , &HF9 , &HA4 , &HB0 , &H99 , &H92 , &H82 , &HF8 , &H80 , &H90 , &H7F
Hasilnya :
Program awalnya membaca sensor suhu LM 35 dengan satuan Celcius (C ). untuk konversi ke satuan yang lain tinggal tekan tombolnya saja. Microcontroller kemudian akan menyesuaikan dengan rumus konversi dari Celcius :
– Reamur (R) = (4/5) x C
– Fahrenheit (F) = (9/5) x C + 32
– Kelvin (K) = C + 273
Kita coba tekan tombol 2 maka akan tampil dalam satuan Fahrenheit (F).
Untuk Reamur ( R ) dan Kelvin ( K) tampilan di 7 segment tentun menyesuaikan keterbatasan segmennya sehingga hurufnya tidak dapat seperti huruf ‘K’ sebenarnya.
Isinya bagus semua, buat latihan 🙂
Terimakasih mas sudah mampir
wah keren tapi gan boleh minta pencerahanya ga itu di ganti pake bascom avr bsa ga?
makasi
Bisa saja mas, lain kali Insya Allah.
maaf mas, sudah saya coba..saya buat sama persis kayak tutorial…
hasilnya, mengapa 7segmentnya cepat sekali…
terima kasih…mohon pencerahaanya mas…
buat tugas…GBU
Maksudnya cepat sekali ? Apakah clock freq -nya sudah disesuaikan ?
maaf mas, mau tnya, kalo source code untuk mkrokntrl suhu yg pake bahasa Cpp ada ngk ya?
Ada mas, bisa pakai ini :
sukses buat pemiliknya
Aamiin.
Trims mas dah mampir.