关注  | 分享:

用VB做Arduino操作界面

Mr.D 2018-08-16

仪器设计

Arduino板可以通过Arduino IDE的串行监视器进行通信,但它只提供文本和数字选项。当我们考虑图形界面和控制时,Visual Basic是比较适合的选择。Visual Studio提供不同的语言程序支持,甚至可在互联网上使用的Visual Studio Arduino IDE。

项目详情

项目创意灵感
在这个项目中我使用了Microsoft Visual studio 2005,这里的目标是通过一个Windows应用程序打开和关闭Arduino板载LED(D13)。

通过Visual Basic创建Windows应用程序提供了最佳的GUI(图形用户界面),并且它还提供可配置的串行端口来控制与计算机连接的设备。
设计特色创新
第一步,硬件连接
只需将Arduino板与计算机连接,就不需要其他硬件连接,因为该项目可以处理Arduino的板载LED。
系统原理功能
第二步,VB编程
要启动项目,您需要可视化基础软件,只需在visual basic IDE中创建新项目窗口应用程序,然后绘制可视界面所需的按钮和图片框,然后按属性中的名称命名这些组件。具体步骤可以看视频。

* Button1 (text = LED ON) (Name = ButtonON)

* Button2 (text = LED OFF) (Name = ButtonOFF)

* Picturebox1 (Name = led)

* Picturebox2 (Name = ledon)

* Serial port (com11 //change as per your arduino port number)

Imports System.IO
Imports System.IO.Ports Imports System.Threading

Public Class Form1

Shared _continue As Boolean

Shared _serialPort As SerialPort

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load SerialPort1.Close()

SerialPort1.PortName = "com11" 'check and change Arduino port

SerialPort1.BaudRate = 9600

SerialPort1.DataBits = 8

SerialPort1.Parity = Parity.None

SerialPort1.StopBits = StopBits.One

SerialPort1.Handshake = Handshake.None

SerialPort1.Encoding = System.Text.Encoding.Default

End Sub

Private Sub ButtonON_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonON.Click

led.Visible = False

ledon.Visible = True

SerialPort1.Open()

SerialPort1.Write("1")

SerialPort1.Close()

End Sub

Private Sub ButtonOFF_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOFF.Click

led.Visible = True

ledon.Visible = False

SerialPort1.Open()

SerialPort1.Write("0")

SerialPort1.Close()

End Sub

End Class
完成情况概述
第三步,Arduino代码
完成Visual Basic设计后,不要忘记上载Arduino代码。
void setup()
{

pinMode (13,OUTPUT);

Serial.begin(9600);

}

void loop()

{

int value;

if(Serial.available())

{

delay(50);

while(Serial.available() >0)

{

value=Serial.read();

if(value=='1'){digitalWrite(13,HIGH);}

else if (value=='0') {digitalWrite (13,LOW); }

}

}

}


第四步,看视频跟着做一遍吧。VB和Arduino代码可以下载。
项目采用平台:

同学讨论

京ICP备17044568号-1 © 2020 北京时代行云科技有限公司