Tutorial Arduino Komunikasi Serial Dengan Antarmuka Visual Studio C#

Dalam tutorial Arduino kali ini akan mengulas wacana antarmuka (interfacing) Arduino dengan Visual Studio C#.
Berikut ialah rangkaian sederhana Arduino untuk tutorial ini.

Dalam tutorial Arduino kali ini akan mengulas wacana antarmuka  Tutorial Arduino Komunikasi Serial dengan Antarmuka Visual Studio C#


Fungsi dari potentiometer dalam rangkaian tersebut untuk mengatur nilai tegangan input untuk Arduino. Potentiometer bekerja dengan prinsip pembagi tegangan, dimana terdapat kaki untuk sumber tegangan dihubungkan ke Vcc 5 volt Arduino, ground dihubungkan ke ground Arduino, dan data tegangan dihubungkan ke pin analog A3 Arduino. Nilai tegangan input diolah oleh ADC Arduino dan kemudian akan ditampilkan dengan antarmuka window form Visual Studio C#.
Berikut ini ialah source code untuk Arduino membaca nilai ADC dan mengirimkan nilai tersebut melalui komunikasi serial ke antarmuka window form Visual Studio C#.

/*
Program membaca nilai ADC
dengan serial

Loki Lang
*/

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  if (Serial.available())
  {
    int adc = analogRead(A3);
    Serial.print(adc);
    delay(1000);
  }
}


Sedangkan untuk design window form Visual Studio C# sanggup dirancang menyerupai berikut ini.

Dalam tutorial Arduino kali ini akan mengulas wacana antarmuka  Tutorial Arduino Komunikasi Serial dengan Antarmuka Visual Studio C#


Untuk tool yang dipakai antara lain.
  • Button, nama connectButton, untuk memulai komunikasi serial
  • Button, nama disconnectButton, untuk menghentikan komunikasi serial
  • ComboBox, nama comboBox1, untuk menentukan COM port yang tersedia
  • TextBox, nama textBox1, untuk menampilkan data nilai ADC disertai waktu sesuai pada operating system komputer
  • SerialPort, susukan komunikasi serial
Dalam beberapa tutorial yang ada memakai konstanta string untuk COM port. Hal cukup merepotkan, sebab jika COM port yang dipakai berubah maka harus mengubah string nama COM port sebelumnya. Penggunaan ComboBox memperlihatkan fasilitas untuk menentukan COM port yang sesuai dengan method GetPortNames dari class SerialPort. Method GetPortNames mengembalikan (return) value berupa System.String[], COM port yang tersedia.
Berikut ini source code Visual Studio C# untuk memulai komunikasi serial dan mendapatkan data nilai ADC dari Arduino.

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

namespace basicSerialCOM
{
    public partial class Form1 : Form
    {
        String stringRx;

        public Form1()
        {
            InitializeComponent();
            string[] ports = SerialPort.GetPortNames();
            foreach(string port in ports)
            {
                comboBox1.Items.Add(port);
            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.Text != null)
            {
                connectButton.Enabled = true;
            }
        }

        private void connectButton_Click(object sender, EventArgs e)
        {
            serialPort1.PortName = comboBox1.Text;
            serialPort1.BaudRate = 9600;
            serialPort1.Open();
            connectButton.Enabled = false;
            disconnectButton.Enabled = true;
        }

        private void disconnectButton_Click(object sender, EventArgs e)
        {
            serialPort1.Close();
            connectButton.Enabled = true;
            disconnectButton.Enabled = false;
            textBox1.Clear();
        }

        private void displayText(object sender , EventArgs e)
        {
            textBox1.AppendText(stringRx + " " + DateTime.Now.ToString() + "\n");
        }

        private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            stringRx = serialPort1.ReadLine();
            this.Invoke(new EventHandler(displayText));
        }
    }
}

Komentar

Postingan populer dari blog ini

Belajar Image Processing Binary Threshold Visual Studio C#

Sisi Lain Superhero Marvel Spider-Woman Hamil

Jual Murah Sensor Jarak Pir Hc-Sr501