Selasa, 19 Mei 2015

serial Receive


Dasar Teori
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.

langkah pertama, buka komputer dan hidupkan.
lalu buka visual studio dan buat form baru dengan desain seperti tampilan dibawah ini



setelah desain selesai, buat codingannya 



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace prak1
{
    public partial class Form1 : Form
    {
        String rxString;
        int[] lokasiY = new int[100];
        Graphics objGraphic;
        int a;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            objGraphic = chart1.CreateGraphics();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (button1.Text == "Connect")
            {
                button1.Text = "Disconnect";
                serialPort1.Open();
                richTextBox1.Text = "";
                a = 0;
            }
            else
            {
                button1.Text = "Connect";
                serialPort1.Close();
            }
        }

        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            rxString = serialPort1.ReadLine();
            this.Invoke(new EventHandler(DisplayText));
        }

        private void DisplayText(object sender, EventArgs e)
        {
            richTextBox1.AppendText(rxString);
            richTextBox1.ScrollToCaret();

            chart1.Series["Series1"].Points.AddXY(a,Convert.ToInt16(rxString));
            a++;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            Pen pena = new Pen(Color.Black);
            int awalX = 0;
            int titikMulaiX, titikMulaiY, titikAkhirX, titikAkhirY;
            // hapus dulu semuanya
            objGraphic.Clear(Color.White);
            for(int i=0;i<99;i++) 
            {
            titikMulaiX = awalX + i*5;
            titikMulaiY = lokasiY[i];
            titikAkhirX = awalX + (i+1)*5;
            titikAkhirY = lokasiY[i+1];
            objGraphic.DrawLine(pena, titikMulaiX,titikMulaiY,titikAkhirX,titikAkhirY);
            }
        }


    }
}


lalu buka arduino dan ketikkan codingannya juga ,seperti tampak pada gambar 


ikuti langkahnya

 Com dipilih sesuka hati ,asalkan merupakan pasangan yang sudah terconect


setelah itu running programnya 
rangkaian arduino yang saya rangkai tidak menggunakan potensio, sehingga grafiknya naik-turun

Tidak ada komentar:

Posting Komentar