Modul SerLog - Easy Serial Logger



Selamat pagi, kawan2 mikrodb, semoga senantiasa dalam keadaan sehat dan semangat... :D

Ok, kawan2 ini kami perkenalkan modul "SerLog" - Easy Serial Logger.  Modul ini sangat membantu bagi anda yang sedang mempunya project "Data Logger", dimana point penting dari data logger itu adalah proses pencatatan data, media nya? bisa ke eeprom atau yang sekarang sudah lebih ngetren pencatatan data nya me memory card. Ya, jadi sistem akan melakukan pencatatan ke memory card atau juga bisa dilakukan pembacaan data dari memory card .

Umumnya, komunikasi antara mikrkontroller ke memory card ini menggunakan protokol SPI ( Serial Peripheral Interface ). Akan tetapi mungkin sebagian dari kita masih merasa kesulitan untuk bermain protokol ini. Akhir nya  kami mencoba mengembangkan sebuah modul, yang selanjut nya kami beri nama modul "SerLog- Easy Serial Logger.

Modul apa itu???
Modul SerLog  adalah modul yang berfungsi untuk melakukan penulisan dan pembacaan data dari dan ke memory card. bagaimana cara mengakses nya? Cara mengakses nya cukup via serial..jadi koneksi antara modul "SerLog" ke mikrokontroller nya via serial ttl.

Berikut adalah gambar koneksi nya :



Jadi, untuk bisa berkomunikasi dengan mikro nya, menggunakan 3 buah pin, Pin uart ( tx,rx ) dimana pemasangan nya di cross alias di silang. Rx mikro hubung ke Tx SerLog, Tx mikro hubung ke Rx SerLog. Lalu ditambah lagi 1 pin ( bisa dari port mana aja yang kosong ) ini digunakan untuk pin reset modul serlog.  Kondisi logic "0" pada pin PD2 ( pada gambar diatas ) akan membuat modul SerLog ter reset. sedang kondisi logic "1" pada pin PD2 akan membuat modul berada pada mode "ready".

Pin Rst sebenernya Optional, artinya bisa dipakai bisa juga tidak perlu dipakai.

Berikut penampakan modul "SerLog" nya


Untuk bisa menggunakan modul ini dengan baik, perhatikan langkah2 berikut ini :

1. Memory Card ( Jenis microSD ), di format FAT32, seperti gambar di bawah ini.


2. Setelah di format, skrg langkah berikut nya adalah membuat file config pada memory card nya, cara nya yaitu :buka program NOTEPAD , lalu ketikan :   9600,13,1,2,1,1,1   kemudian simpan ke memory card nya dengan nama CONFIG.txt    atau seperti pada gambar dibawah ini      


3. Beri catu daya pada modul "SerLog" nya, pada pin Vcc dan Gnd sebesar 5v ( tidak boleh lebih ). Jika Led pada L2, blink terus menerus itu sebagai penanda bahwa proses inisialisasi memory card nya gagal, kemungkinan memory card belum terpasang, atau memory card format nya tidak sesuai, atau bisa juga memory card nya rusak, coba ulangi langkah 1 - 2

4. Pasang memory card yang sudah diformat dalam FAT32 tadi ke microsd socket nya. ada di bagian bawah board nya, seperti pda gambar ini :


4. Selanjut nya, koneksikan pin Tx,Rx,Rst pada modul SerLog ke pin mikro sesuai gambar sebelum nya.

Berikut gambar Modul SerLog terkoneksi dengan minimum sistem ATMega16


Selanjut nya, akan saya contoh kan program  dalam bahasa Basic ( Bascom AVR ) dan C ( Code Vision ) , menulis data ke memory card nya via modul serlog ini.

'//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Contoh Program Menulis data 1 - 10 menggunakan Bascom AVR


$regfile = "m16def.dat"
$crystal = 12000000
$baud = 9600

Config Portd.2 = Output
Pin_rst Alias Portd.2   ' ini pin untuk reset modul serlog
Portd.2 = 1

Dim Hitung as byte, File_name as string*5
File_name = "log01"


Gosub Rst_serlog

Do
For Hitung = 1 To 10
   Print "writes " ; File_name ; ".txt"                    ' memberi nama file nya LOG01.txt"
   Wait 1
   Print "Ini data ke = " ; Hitung ; Chr(10)             '  menulis data ke memory card
   Waitms 200
   Print Chr(13)
   Wait 2
Next Hitung
Loop

Rst_serlog:
  Wait 1
  Pin_rst = 0
  Wait 1
  Pin_rst = 1
  waitms 100
  Print "init"
  Wait 5
return

'//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Contoh Program Menulis data 1 - 10 menggunakan bahasa C ( CVAVR )

/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.9 Evaluation
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date    : 11/4/2014
Author  : Freeware, for evaluation and non-commercial use only
Company :
Comments:


Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/

#include <mega16.h>
#include <stdio.h>
#include <delay.h>
#define rst_serlog PORTD.2
// Declare your global variables here

void reset(void)
{
    delay_ms(1000);
    rst_serlog=0;
    delay_ms(1000);
    rst_serlog=1;
    delay_ms(100);
}

void init(void)
{
    printf("init\r\n");
    delay_ms(5000);
}

void main(void)
{
// Declare your local variables here
int i;
i=0;
PORTD.2=1;
DDRD.2=1;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x33;


while (1)
      {
      // Place your code here
      reset();
      init();
      for (i=1;i<11;i++)
        {
            printf("writes log01.txt\r\n");
            delay_ms(1000);
            printf("Ini data ke = %d\n\r\n",i);
            delay_ms(200);
            printf("\r\r\n");
            delay_ms(2000);    
        }
      }
}

ini tampilan simulasi dari serial mikro nya :


 

Hex view nya :


Dan berikut adalah video saat testing.. sorry kalau video nya kurang jelas.. :D



Nah selanjut nya, kita akan mengecek apakah data yang kita tuliskan tadi sudah masuk ke memory card atau belum.
lepas memory card nya, lalu pasang ke card reader, dan coba hubungkan ke pc /laptop. jika tidak ada masalah, kita akan melihat data hasil percobaan tadi seperti ini :


OK, jadi data - data yang kita tulis tadi sudah berhasil masuk ke memory card nya. Selain itu, jika pada aplikasi data logger anda mengharuskan ada nya prosedur baca data yang sudah disimpan ke memory card tadi, maka hal itu juga tidak perlu dikawatrkan, mengingat modul SerLog sudah ada handle untuk prosedur baca data nya. Bagaimana cara nya?

Dengan code simpel seperti dibawah ini ( contoh dalam bahasa basic --> Bascom AVR )

'///////////// Baca data

Print "read " ; File_name ; ".txt"

'///////////

Nah cukup dengan perintah sederhana seperti diatas, maka modul SerLog akan mengirimkan semua data yang tersimpan pda file name yang dipanggil.

Bagaiman?? mudahkan??

Dengan menggunakan modul SerLog ini, anda akan lebih cepat dalam membangun aplikasi data logger nya tanpa harus pusing2 belajar protokol spi untuk prosedur penulisan data ke memory card nya.


Bagi yang berminat dengan modul SerLog nya, bisa tulis komen dibawah ini, atau bisa langsung ke fb (mikrodb )
atau ke fb ( Ruslan Rasyid )

Selamat Berkarya, dan salam Inovasi





Comments   

0 #8 broderie 2017-09-18 03:33
Great post.
Quote
0 #7 Fabian 2016-03-20 04:31
Mas itu kalo bacanya file bisa perbaris kan?
Quote
0 #6 Sandi Saputro 2015-03-03 18:35
@Reno : dijadiin string mas
contoh :

Val_jarak = 0.017 * Dataadc
Val_jarak = Val_jarak - 0.144
Jarak = Fusing(val_jara k , "#.#")


prosedur simpan ke memory via modul serlog


Print "writes " ; Txt_data ; ".txt"
Waitms 100
Print "Jarak2 = " ; Jarak1 ; " cm" ; "," ; "Time = " ; Time$ ; Chr(10)
Waitms 200
Print Chr(13)
Waitms 500
Quote
0 #5 Reno 2015-02-24 08:33
Cara menyimpan bilangan tidak bulat atau bilangan koma gimana ya?
Quote
0 #4 Sandi Saputro 2014-09-14 19:03
Mas adi : y bisa mas.,bagi buyer..akan kita buatkan sampel program sesuai request yang akan disertakan nanti dengan modul serlog nya. Trimakasih..
Quote
0 #3 adi suyahman 2014-09-14 06:24
bolehkah dibuat contoh pembacaan jadwal dari sd card, lalu membandingkan dengan jam, jika sesuai mainkan lagu tertentu,
terimakasih
Quote
0 #2 adi suyahman 2014-09-14 06:22
bolehkah dibuat contoh pembacaan jadwal dari sd card, lalu membandingkan dengan jam, jika sesuai mainkan lagu tertentu,
terimakasih
Quote
0 #1 Gunawan 2014-09-06 15:16
Mantappppp bang ruslan... lanjutkan karyanya bang dan jadikan kebanggaan kita bersama dan tidak tergantung ke produk luar yg sudah jadi.. salam super..
Quote

Add comment


Security code
Refresh