belajar menyimpan data suhu lm 35 ke MMC


kali ini kita akan praktikum . bagaimana caranya menyimpan data suhu lm 35 ke mmc. data akan disimpan tiap  10 detik sekali. adapun bahan bahan yang harus disiapkan

1. modul avr trainer 2.0 dengan ic atmega 32.

2. mmc

3. codevision.

………………………………………………………………………………………………………………………………………………………………………….

alangkah baiknya anda membeli modul avr trainer 2.0 dengan ic atmega 32 harga 450.000. agar praktikum anda berjalan dengan mulus.

mmc yang dipakai mmc merek VGEN .siapa tahu di kasih hadiah sama v gen

code vision yang di pakai , yaitu versi 2.04 keatas. agar support MMC librari.

//=====================================================================

pertama kita buat dulu project baru dengan codevision. yang jelas yang dipakai ic atmega 32, xtal 11.0592, adc, i2c buat rtc ds1307, dan mmc, berikut setingan yang penting untuk MMC.

nantinya di hardware modul avr trainer 2.0 PORTD.5 DAN PORTD.6 di sambungkan ke GND ..

//=============================================================

berikut hasil create file menggunakan modul avr trainer 2.0

berikut isi dari file suhu.txt.

berikut contoh source codemenulis data suhu ke mmc tiap 1o detik sekali.

source code memakai compiler codevision 2.04.4a

ayo gan setelah mengcopy source code ini jangan lupa kalo ada yang nanya, beli modul avr dimana, hubungi KEI ELEKTRONIK(085228292473) ya. ini cuma permintaan saya saja. .

nah sekarang penjelasannya. saya akan mencoba menjelaskan yang penting pentingnya saja.

MEMBERI SEBUAH NAMA FILE

Dalam memberikan sebuah nama file , kita harus mengikuti aturan penamaan file seperti DOS. yaitu nama file maximal 8 huruf. lebih dari itu tidak bisa coba buktikan sendiri.

Dalam contoh ini saya memberi nama file. “suhu.txt”. nama file ini di hitung cuma 4 huruf sedangkan .txt tidak dihitung.

terus  ketika kita memanggil nama file diusahakan filename itu di kosongkan dulu dengan cara diisi 0. dapat dilihat di subrutin reset filename

Membuat sebuah file.

urutan untuk membuat sebuah file:

1. reset namafile

2.beri nama file (jangan lupa tidak boleh lebih dari 8 huruf).

3. create file

4.  jangan lupa close file (kalo fungsi close file tidak di panggil mas proses membuat file baru tidak akan berhasil.

berikut source nya

void file_baru(void)
{
    unsigned char ulang;
    status_create=0;
    for(ulang=0;ulang<10;ulang++)
    {
        reset_filename();
        file_data_suhu();
        timer_mmc();   

        if ((res=f_open(&file,filename,FA_CREATE_NEW))==FR_OK)status_create=1;
        else status_create=0;

        if(status_create==1)
        {
            if ((res=f_close(&file))==FR_OK)status_create=1;
            else status_create=0;
        }

        if(status_create==1)break;

    }
    stop_timer_mmc();
}

Mengisi isi file (append)

urutan untuk mengisi file, dalam proyek ini kita akan menambahkan isi file ke bawah,  urutan :

1. reset nama file

2. beri nama fie

3. baca ukuran file (ukuran file ini dgunakan untuk mengetahui posisi terakhir alamat isi file).

4. buka file kemudian pilih mode tulis file

5. tunjuk alamat file yang akan ditulis. ( disini kita menggunakan alamat hasil dari ukuran file agar nantinya nambah terus).

6. kemudian tulis file dari buffer yang sudah di siapkan

7. close file (kalau fungsi close tidak dipanggil pasti udik semuanya. alias tidak berhasil).

void isi_file(void)
{
    unsigned ulang;
    status_tulis=0;

    reset_filename();
    file_data_suhu();
    display_status(filename);

     for(ulang=0;ulang<10;ulang++)
    {
             timer_mmc();
            if ((res=f_open(&file,filename,FA_WRITE))==FR_OK)status_tulis=1;
            else status_tulis=0; 

            if(status_tulis==1)
            {
                if ((res=f_lseek(&file,finfo.fsize))==FR_OK)status_tulis=1;
                else status_tulis=0;
            }

            if(status_tulis==1)
            {
                if ((res=f_write(&file,buffer,panjangdatammc+1,&nbytes))==FR_OK)status_tulis=1;
                else status_tulis=0;
            }

            if(status_tulis==1)
            {
                if ((res=f_close(&file))==FR_OK)status_tulis=1;
                else status_tulis=0;
            }     

            if(status_tulis==1)break;
            delay_ms(500);
    }
    stop_timer_mmc();
}

sekian dulu dari saya. maaf photo hardwarenya belum saya upload. nanti saya upload. mudah mudahan semuanya nambah rejekinya. amin. jangan lupa KEI ELEKTRONIK ya.

trims

dhani nugraha S.T.


			

31 tanggapan untuk “belajar menyimpan data suhu lm 35 ke MMC”

  1. bro,kalau yang pake code vision yang baru itu bisa muter file wav pake yang program itu juga ato tetep yang ada blok2an(pakai winhex)???

  2. salam kenal kang dhani,

    minta skema rangkaian interface modul mmc ke mikro bisa?
    ouw ya sama itu modul mmc yg dipakai belinya dmn?

    bisa kirim lwt email…terimakasih

  3. cari ram yang lebih gede dari 512byte, soalnya 1 sector mmc itu 512byte, jadi kalo ic micro mas lebih kecil dari itu ramnya pasti ga bisa

  4. mas aku dah nyoba programnya kok ketika dah nyampe pada program filebaru(); mikronya berhenti apa da yang salah ya mas, semuanya dah mirip sma program cuman untuk pin 10 dan 11 mmc pada mikronya tak setting portD.3 dan PortD.4 mohon solusinya

  5. Terimakasih banyak mas,sangat berguna,
    mau tanya sedikit, mas

    untuk bagian code ini
    for(ulang=0;ulang<10;ulang++)
    {
    timer_mmc();
    if ((res=f_open(&file,filename,FA_WRITE))==FR_OK)status_tulis=1;
    else status_tulis=0;

    if(status_tulis==1)
    {
    if ((res=f_lseek(&file,finfo.fsize))==FR_OK)status_tulis=1;
    else status_tulis=0;
    }

    if(status_tulis==1)
    {
    if ((res=f_write(&file,buffer,panjangdatammc+1,&nbytes))==FR_OK)status_tulis=1;
    else status_tulis=0;
    }

    if(status_tulis==1)
    {
    if ((res=f_close(&file))==FR_OK)status_tulis=1;
    else status_tulis=0;
    }

    if(status_tulis==1)break;
    delay_ms(500);
    }

    kenapa harus di loop sebanyak 10kali ya?

    mohon dibalas bila sempat ya

  6. saya mau tanya lagi

    void file_data_suhu(void)
    {
    filename[0]=’0′;
    filename[1]=’:’;
    filename[2]=’s’;
    filename[3]=’u’;
    filename[4]=’h’;
    filename[5]=’u’;
    filename[6]=’.’;
    filename[7]=’t’;
    filename[8]=’x’;
    filename[9]=’t’;
    }

    pada kode untuk pemberian nama diatas mengapa dimulai dengan karakter ‘0’ dan ‘:’ ya? terimakasih

Tinggalkan Balasan ke Demarone Batalkan balasan