Minggu, 05 Maret 2017

Kontrol Led Dengan Visual Studio C# & Arduino

Salam elektro, bertemu lagi dengan saya, pada tulisan kali ini saya akan memberikan tutorial cara kontrol led dengan menggunakan visual studio dan arduino,silahkan kalian baca sampai benar benar paham.


Siapkan alat dan bahan :

Visual Studio 
Software yang menyediakan sebuah fitur testing proyek yang terintegrasi sehingga memudahkan developer.NET dalam melakukan verifikasi dan validasi software. Microsoft ingin membuat Microsoft Visual Studio sebagai IDE yang ‘Home Sweet Home’ terhadap developer setianya. Microsoft menyarankan metode satu proyek untuk aplikasi Web yang berukuran kecil hingga menengah. Visual Studio.NET langsung mendukung metode ini.

Komunikasi Serial
Adalah salah satu metode komunikasi data di mana hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu tertentu.[1] Pada dasarnya komunikasi serial adalah kasus khusus komunikasi paralel dengan nilai n = 1, atau dengan kata lain adalah suatu bentuk komunikasi paralel dengan jumlah kabel hanya satu dan hanya mengirimkan satu bit data secara simultan.[1] Hal ini dapat disandingkan dengan komunikasi paralel yang sesungguhnya di mana n-bit data dikirimkan bersamaan, dengan nilai umumnya 8 ≤ n ≤ 128.[1] Untuk komunikasi serial tersinkron, lebar pita setara dengan frekuensi jalur.[1]
Pada komputer pribadi, komunikasi serial digunakan misalnya pada standar komunikasi RS-232 yang menghubungkan periferal eksternal seperti modem dengan komputer.[2]

Arduino 
Pengendali mikro single-board yang bersifat open-source[1], diturunkan dari Wiring platform[2], dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri.

CATATAN !
a. Pastikan kabel usb sudah terhubung 
b. Pastikan kalian sudah meng-instal software Visual Studio 2012

WIRING ! 
Sambungkan semua komponen sesuai dengan gambar



Programming Visual Studio C#

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;
using System.IO.Ports;
using System.Diagnostics;

// Fickry Muhammad 
// Aruselektronika.blogspot.com

namespace Serial_Project
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            buttonConnect.Enabled = true;
            buttonDisconnect.Enabled = false;
            L1.Enabled = false;
            L2.Enabled = false;
            comboBoxSerial.Items.Clear();
            foreach (string item in SerialPort.GetPortNames())
            {
                comboBoxSerial.Items.Add(item);
            }
        }

        private void buttonConnect_Click(object sender, EventArgs e)
        {
            serialPort.PortName = comboBoxSerial.Text;
            buttonConnect.BackColor = Color.FromArgb(50, 205, 50);
            try
            {
                serialPort.BaudRate = 9600;
                serialPort.Parity = Parity.Even;
                serialPort.StopBits = StopBits.Two;
                serialPort.DataBits = 7;
                serialPort.Open();
            }
            catch (Exception error)
            {
                MessageBox.Show(error.ToString(), "Serial Port Error !");
            }
            if (serialPort.IsOpen)
            {
                buttonConnect.Enabled = false;
                buttonDisconnect.Enabled = true;
                L1.Enabled = true;
                L2.Enabled = true;
            }
        }

        private void buttonDisconnect_Click(object sender, EventArgs e)
        {
            buttonConnect.BackColor = Color.FromArgb(224, 224, 224);
            if (serialPort.IsOpen)
            {
                serialPort.Close();
                buttonConnect.Enabled = true;
                buttonDisconnect.Enabled = false;
                L1.Enabled = false;
                L2.Enabled = false;
            }
        }

        string RXstring;

        private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            RXstring = serialPort.ReadExisting();
            this.Invoke(new EventHandler(tampil_kata));
        }

        private void tampil_kata(object sender, EventArgs e)
        {
            richTextBoxData.AppendText(RXstring);
        }

        private void L1_Click(object sender, EventArgs e)
        {        
            serialPort.Write("A");
        }

        private void L2_Click(object sender, EventArgs e)
        {
            serialPort.Write("B");
        }

    }
}
Programming Arduino C

// Fickry Muhamad

char result;
int Lamp = 13;

void setup() {
   pinMode(Lamp,OUTPUT);
   Serial.begin(9600);
}

void loop() 
{
  while( Serial.available() >0 )     
  {
    result = Serial.read();
    if(result == 'A')             
    { 
      digitalWrite(Lamp,HIGH); 
    } 
    else if(result == 'B')
    {
      digitalWrite(Lamp,LOW); 
    }
    Serial.println(result);
  }  
}

1. Kalian hubungkan arduino dengan laptop/pc menggunakan kabel usb 
2. Kalian buka device manager,untuk memastikan arduino sudah terhubung (COM PORT)
3. Kalian buka aplikasi.exe yang sudah saya sertakan/download  
4. Kalian pilih COM yang kalian gunakan / COM arduino 
5. Kalian tekan tombol connect jika terhubung maka tombol connect akan berubah warna 
6. Kalian coba tekan tombol Lamp on (lihat apa yang terjadi pada board arduino)
7. Kalian coba tekan tombol Lamp off (lihat apa yang terjadi pada board arduino)

Budayakan mempelajarinya hingga benar benar paham,jika merasa belum paham bisa ajukan pertanyaan di komentar atau contact facebook saya atau email fickrymhd@gmail.com

Share:

0 comments:

Posting Komentar

Copyright © FILAB | Powered by FILAB
Design by Fickry Muhammad | Technology by Filab.id