2016年4月11日 星期一

RS232 串列埠連接 Arduino 控制LED燈

   RS232 串列埠連接 Arduino 控制LED燈


     利用 RS232 串列埠連接 Arduino 控制LED燈, 將pin5及pin10各接一個LED ,注意地線(GND)要接。



       設定pinMode 5 & 10 為 OUTPUT, 初始值設為LOW, LED滅; 當OUTPUT為HIGH, LED亮。程式設定String sign 為 1, 2, 3, 4時, LED分別亮一紅, 一黃 , 全亮, 全滅。程式如下:



執行結果如下:
用Arduino IDE執行串列埠控制LED燈明滅


      接著利用C#來控制串列埠,由工具箱加入1個seialPort及5個button, 其中 seialPort 屬性BaudRate & PortName 要和之前設定相同, 此處BaudRate為 115200 , PortName 為 COM3 。
      5個button為 Start及按鍵1, 按鍵2, 按鍵3, 按鍵4 ,分別控制按鍵開/關及LED四種明滅情況。




程式如下:

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

namespace W20160411a
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnStart_Click(object sender, EventArgs e)
        {
            if (btnStart.Text == "Start")
            {
                serialPort1.Open();
                btnStart.Text = "Close";
            }
            else 
            {
                serialPort1.Close();
                btnStart.Text = "Start";
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
                serialPort1.Write("1");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
                serialPort1.Write("2");
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
                serialPort1.Write("3");
        }

        private void button4_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
                serialPort1.Write("4");
        }
    }
}



執行結果如下:
以Visual Studio撰寫串列埠C#程式控制LED燈明滅





1 則留言: