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

mikrokontroler murah

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.

Kalau jaman dulu kala, ketika kakek baru belajar mikro tipe AT89C51, EEPROM ini kudu beli terpisah, trus dirakit dengan mikronya.

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.

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

mikrokontroler diskonDo
  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

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 !!!

 

9 thoughts on ““Temperature Data Logger” dengan EEPROM Internal

  • September 28, 2014 at 8:52 pm
    Permalink

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

    Reply
    • September 29, 2014 at 10:04 am
      Permalink

      4 sd 5 pertemuan mas.
      Kalau dibuat sehari ya sekitar 2 – 3 hari slesai.
      Trims

      Reply
  • July 7, 2015 at 11:14 pm
    Permalink

    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,, 🙁

    Reply
    • July 8, 2015 at 8:18 am
      Permalink

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

      Reply
  • April 20, 2016 at 3:01 pm
    Permalink

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

    Reply
    • April 22, 2016 at 10:36 am
      Permalink

      Mudah yang BASCOM-AVR mas Narto ..

      Reply
  • April 23, 2016 at 1:49 am
    Permalink

    Mas caranya transfer k laptop data eeprom gimana?

    Reply
    • April 25, 2016 at 9:53 am
      Permalink

      Bisa pakai program serial mas, nanti tampil di Hyperterminal

      Reply
  • October 22, 2016 at 10:02 pm
    Permalink

    mau belajar online bisa om

    Reply

Leave a Reply

WhatsApp chat
%d bloggers like this: