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 :

Tampilan Celcius

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

Tampilan Fahrenheit (F)

Untuk Reamur ( R ) dan Kelvin ( K) tampilan di 7 segment tentun menyesuaikan keterbatasan segmennya sehingga hurufnya tidak dapat seperti huruf ‘K’ sebenarnya.

10 thoughts on “Digital Termometer Tampilan Celcius, Fahrenheit, Kelvin dan Reamur

    • March 28, 2015 at 12:29 pm
      Permalink

      Terimakasih mas sudah mampir

      Reply
  • April 3, 2015 at 6:19 am
    Permalink

    wah keren tapi gan boleh minta pencerahanya ga itu di ganti pake bascom avr bsa ga?
    makasi

    Reply
    • April 3, 2015 at 9:20 am
      Permalink

      Bisa saja mas, lain kali Insya Allah.

      Reply
  • April 4, 2015 at 9:49 pm
    Permalink

    maaf mas, sudah saya coba..saya buat sama persis kayak tutorial…
    hasilnya, mengapa 7segmentnya cepat sekali…
    terima kasih…mohon pencerahaanya mas…
    buat tugas…GBU

    Reply
    • April 6, 2015 at 8:29 am
      Permalink

      Maksudnya cepat sekali ? Apakah clock freq -nya sudah disesuaikan ?

      Reply
  • April 14, 2015 at 8:22 am
    Permalink

    maaf mas, mau tnya, kalo source code untuk mkrokntrl suhu yg pake bahasa Cpp ada ngk ya?

    Reply
    • April 17, 2015 at 3:35 pm
      Permalink

      Ada mas, bisa pakai ini :

      Reply
    • June 22, 2015 at 2:07 pm
      Permalink

      Aamiin.
      Trims mas dah mampir.

      Reply

Leave a Reply

WhatsApp chat
%d bloggers like this: