Hello ENGINEER, Welcome to Electrical's Corner

Mei 31, 2015

Komunikasi Serial Chapter 1 - Receive Data (Menerima Data)

Assalamualaikum Wr. Wb
hai, gaesssss first of all thank you for visiting my beauty blog hehe.
okay, sekarang laras akan memberikan sebuah tutorial mengenai komunikasi serial untuk menerima data. hmm, secara umum sih pengaplikasiannya untuk memonitoring sesuatu, misalnya memonitoring ikan, tumbuhan dan masih banyak lagi pengaplikasiannya.
       Secara teorinya mulai dr serial portnya yaaaa, Port merupakan kumpulan jalur elektronik untuk menyalurkan data. Port ada yang untuk input saja, output saja atau input/output. Port dipakai untuk komunikasi antara CPU dengan monitor, keyboard,mouse dll.
       Proses pengiriman data dapat langsung sekaligus secara paralel dengan menggunakan beberapa kabel, atau satu-persatu secara berurutan (serial) dengan menggunakan sepasang kabel. Contoh transmisi data secara paralel adalah komunikasi harddisk IDE dengan
CPU, komunikasi printer dengan komputer. Contoh transmisi data secara serial adalah komunikasi harddisk SATA dengan CPU, komunikasi USB dll.
       Mikrokontroller umumnya menggunakan standar komunikasi serial RS232 untuk koneksi dengan perangkat lain. Komputer juga memiliki port standar serialport, paralelport, USB, VGA dan PS/2. Pada praktikum ini kita akan mempelajari penggunaan serial port.

sekarang, langsung saja ya ke praktikum nya gaess.
1. Buka visual studio 2012, pilih windows form application, jangan lupa diberi nama filenya gaes
2. Tujuan praktikum ini adalah untuk menerima data dari mikrokontroller melalui port serial. Data         yang dikirim oleh mikrokontroller adalah kondisi dari potensiometer. Nilai analog
    tegangan akan dikonversi oleh mikro ke nilai digital dalam range 0 - 1023. Kemudian nilai digital       ini yang dikirim ke komputer melalui port serial. Program pada mikro (kita akan menggunakan           arduino) cukup sederhana:
    void setup()
    {
          Serial.begin(9600);
    }
    void loop()
   {
        int sensorValue = analogRead(A1);
        delay(500);
        Serial.println(sensorValue, DEC);
   }

3. Buat solution baru. Susun form dengan control-control seperti terlihat pada gambar:

 4. Atur properties "Series" seperti dibawah ini, dan Anda bisa mengubah jenis grafik dengan                   mengubah ChartType nya.

5. Komponen SerialPort ada di Components toolbar, sedangkan komponen Chart ada di data.

6. Tambahkan program berikut untuk control button1:
    if (button1.Text == "Connect") {
       button1.Text = "Disconnect";
       serialPort1.Open();
       richTextBox1.text="";
       a=0; (Inisialisai dahulu variabel global)
       } 
       else {
        button1.Text = "Connect";
         serialPort1.Close();
       }

7. Tambahkan program berikut ke event DataReceived-nya serial:
    klik serialPort1 > klik event > double klik data received > tambahkan programnya
            rxString = serialPort1.ReadLine();
            this.Invoke(new EventHandler(DisplayText));
    Kita menggunakan method Invoke karena thread untuk receive serial berbeda dengan thread               program utama. Padahal object RichTextBox atau Label, tempat kita untuk menampilkan data
    serial, terletak di thread utama. Invoke membuat kita dapat melakukan cross-thread. Program di           atas akan membuat event DataReceived memanggil event handler baru yang terletak di thread             utama, yaitu DisplayText.

8. Untuk method DisplayText, tambahkan program berikut:
            private void DisplayText(object sender, EventArgs e){
            richTextBox1.AppendText(rxString);
            richTextBox1.ScrollToCaret();
            chart1.Series["Series1"].Points.AddXY(a,Convert.ToInt16(rxString));
            a++;
            }

9. Compile dan jalankan programnya. Good Luck


Tidak ada komentar:

Posting Komentar