“Temperature Data Logger” dengan EEPROM Internal

Aplikasi mikrokontroler AVR kali ini kita manfaatkan fitur yang ada di Atmega, semua tipe Atmega punya , yaitu EEPROM internal. Kalau dipanjangin jadi EE…………..PROM. Hehe… bukan ya, nih kepanjangannya EEPROM : Electrically Erasable Programmable Read-Only Memory. Gakperlu dipikirin maksudnya per-kata ya, intinya tuh peripheral bakal dipakai kalau kita butuh tempat nyimpen data. Lha, malah tambah bingung ? Ok, contoh ya : kita punya alat monitoring suhu.

Master Mikrokontroler

Dipasang disebuah tempat (samping rumah tarzan yang ada di hutan). Alat tersebut memantau suhu selama 1 bulan. Tiap 3 jam ambil data kemudian disimpan. Nah kalau kita nyimpennya di memori SRAM (dalam variabel biasanya) maka ketika power supply alat kita matikan, data akan hilang. Nah, agar tidak hilang maka kita simpan saja ke EEPROM.
99 proyek arduinoKalau jaman dulu kala, ketika kakek baru belajar mikro tipe AT89C51, EEPROM ini kudu beli terpisah, trus dirakit dengan mikronya.

EEPROM AT24C04

Untuk AVR tipe ATmega16 misalnya, dia sudah ada internal sebesar 512 byte. Kalau mau yang lebih besar lagi bisa coba ATmega32 dengan EEPROM 1 KB.
Langsung praktek. Siapkan mikrokontroler ATmega16, LCD, sensor suhu LM35 dan USBtoSerial untuk kirim data serial.

Skematik “Temperature Data Logger”

Kita program pakai bahasa yang paling gampang sedunia : BASCOM-AVR

$regfile = “m8535.dat”
$crystal = 16000000
Dim D As Word , V As Word , T As Word , M As Byte
Dim Suhu As Byte
Dim Addr As Word
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Portd = Input
Portd = &HFF
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.2 , Db4 = Portc.4 ,
Config Lcdpin = Pin , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
Config Lcd = 16 * 2
Cls
Cursor Off
Lcd “Data Logger”
Lowerline
Lcd “Dengan EEPROM”
Wait 1
Start Adc
Do
  If Pind.0 = 0 Then
    Cls
    Lcd “Start Prcoses”
    Wait 1
    Cls
    Lcd “Temp=”
    M = 1
  Elseif Pind.1 = 0 Then
   Cls
   Lcd “Stop Process  “
   M = 2
  Elseif Pind.2 = 0 Then
   Cls
   Lcd “Display Process”
   Wait 2
   Cls
   Lcd “Detik ke:”
   Lowerline
   Lcd “Temp=”
   M = 3
   For D = 1 To 100
      Locate 1 , 10
      Lcd D
      Readeeprom Suhu , D
      Locate 2 , 6
      Lcd Suhu
      Wait 2
   Next D
  End If

  If M = 1 Then
      D = Getadc(0)
      V = D * 5
      T = V / 10
      Suhu = T
      Locate 1 , 6
      Lcd Suhu ; ” C “
      Writeeeprom Suhu , Addr
      Incr Addr
      Wait 1
  End If
Loop
End

Aplikasi Mikrokontroler

Kita jalankan. Perta tekan tombol Start. Alat akan mulai memonitor suhu. Tiap 1 menit sekali akan membaca suhu kemudian menyimpan di EEPROM.
Untuk menghentikan proses, tekan tombol Stop. Ok, sekarang matikan alatnya. Sudah ? tunggu sekitar 2 -3 menit. Sekarang hidupkan. Tekan tombol Upload. Data hasil pembacaan akan tampil di LCD.

Hemat dan tidak rumit kan ? OK, selamat berkarya !!!

Iklan EDUROBO

This entry was posted in Mikrokontroler AVR. Bookmark the permalink.

9 Responses to “Temperature Data Logger” dengan EEPROM Internal

  1. Haryadi says:

    Mas klo kursus berapa hari? Maksudnya klo pas pulang kampung ke jogja mau kursus.

  2. hadeehhh,,
    saya kog gag mudeng sih ama bahasa programnya,,,????
    bisa dijelasin pake cvAVR nggak min,,,???
    belum pernah coba bahasa pemrograman lain jadi gag mudeng nih,,
    maklum,, 🙁

    • admin says:

      Oh iya mas Slamet, itu pakai bahasa BASCOM-AVR. Untuk yang CVAVR kapan2 kita translate, Insya Allah.
      trims dah mampir

  3. narto says:

    mas kalau yang awam masalah program untuk belajar itu mudah yang mana BASCOM-AVR atau CVAVR terima kasih sebelumnya

  4. Wawan says:

    Mas caranya transfer k laptop data eeprom gimana?

  5. heri says:

    mau belajar online bisa om

Leave a Reply