Assalammualaikum.wr.wb
Jumpa
lagi dengan saya agus waluyo, terima kasih telah berkunjung di blog saya
semoga bermanfaat bagi anda yang membacanya, kali ini saya akan
menjelaskan tentang serial receive,
Baiklah langsung saja ,
1. pertama kali buka microsoft visual studio atau aplikasi sharpdevelop atau visual studio c#
2. buat solution baru
3. pilih windows application, beri nama file dan tempat penyimpanan. kemudian klik create.
4. setelah muncul, pilih design
5.
setelah muncul lembar kerja, kita bisa mengedit tampilan sesuai selera
kita sendiri, caranya adalah pilih windows forms disebelah kiri kemudian
pilih control type yang digunakan sesuai kebutuhan dengan cara diseret
ke layoutnya, propertesnya bisa diganti sesuai yg kita inginkan
propertienya di sebelah kanan.
contoh type yang saya gunakan:
1 button
1 panel
1 text box
1 timer
1 serialpoart
6. setelah kita membuat design, mari kita buat programnya:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace serial_receive
{
public partial class Form1 : Form
{
string rxString;
int[] lokasiY = new int[100];
Graphics objGraphic;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == "Connect")
{
button1.Text = "Disconnect";
serialPort1.Open();
}
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)
{
textBox1.Text += rxString;
float tinggi = float.Parse(rxString);
tinggi = 179 - (tinggi / 1023 * 179);
// geser arraynya
for (int i = 0; i < 99; i++)
{
lokasiY[i] = lokasiY[i + 1];
}
lokasiY[99] = (int)tinggi;
}
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);
}
}
private void Form1_Load(object sender, EventArgs e)
{
objGraphic = panel1.CreateGraphics();
}
}
}ini design yang telah saya buat
ini hasil yang telah diraningkan
Tidak ada komentar:
Posting Komentar