windows远程控制arduino
文件列表(压缩包大小 1.54M)
免费
概述
使用Windows远程控制Arduino打开和关闭LED。
Arduino UNO
BlueSMiRF蓝牙调制解调器
杜邦线
在此项目中,我们将使用Windows远程Arduino打开和关闭LED。这是一个简单的示例,但是将展示该示例可以帮助你创建更多高级项目的功能。让我们开始吧!
你可以在此处下载“样本”存储库。此示例是相应的平台文件夹Win10或Win8.1中的“ RemoteBlinky”。可下载的示例包括用于USB和蓝牙连接的代码,而本指南主要介绍了蓝牙(带有一些简短的USB辅助功能),因为它涉及额外的硬件步骤并且功能更加强大。
你也可以通过网络连接到Arduino,但是你需要WiFi屏蔽或以太网屏蔽。可以在下面直接链接的Windows Remote Arduino存储库页面上找到更多说明。
你可以在此处找到Windows Remote Arduino存储库。
你也可以在下载区找到该文件。
首先,让我们对Arduino进行编程。
下载并安装Arduino软件。
使用USB将Arduino设备连接到计算机。
启动Arduino应用程序。
确认你在Tools > Board下选择了正确的Arduino主板
确认在“Tools > Port下选择了正确的COM端口
在Arduino IDE中,导航至File > Examples > Firmata > StandardFirmata
验证StandardFirmata将为你的连接使用正确的波特率。(请参见下面有关波特率的注释)
按“Upload”将StandardFirmata部署到Arduino设备。
StandardFirmata使用串行线路与蓝牙设备或通过USB进行通信。默认情况下,它使用的波特率为57,600 bps。根据蓝牙设备的配置,你可能需要修改该速率。可以在 方法中找到它setup
,如下所示:
Firmata.begin(57600);
将此值更改为正确的波特率。对于USB,此值可以在设备上和Windows Remote Arduino连接参数中进行配置。如果你使用的是蓝牙,则波特率取决于你使用的设备。
你始终可以使用USB,WiFi或以太网连接来开始,但是让我们简单地介绍一下蓝牙设备和LED的连接,我们将使用Windows Remote Arduino库通过蓝牙打开和关闭LED!
将面包板上的电源轨和接地轨分别连接到Arduino的5V和GND引脚。使用红色和黑色的导线可以轻松跟踪电源连接。
将你的蓝牙设备插入面包板上,并将VCC和GND引脚分别连接到面包板上的电源和接地轨。
将蓝牙设备上的TX-0引脚连接到Arduino上的RX引脚。同样,将蓝牙设备上的RX-1引脚连接到Arduino上的TX引脚。
请注意,图像中的黄线从蓝牙设备的发送引脚到Arduino的接收引脚,反之亦然。此步骤对于在蓝牙设备和Arduino之间建立串行通信至关重要,这允许从一个设备传输的消息被另一设备接收。
建立此连接之前,请确保你的代码已经上传到Arduino。Arduino Uno使用相同的串行(TX和RX)引脚来刷新设备,从而防止了将其他设备连接到这些串行引脚时将任何代码上传到设备。
在面包板上添加一个LED。请注意,较长(或弯曲)的支路是阳极(正),较短的支路是阴极(负)。
Arduino Sketch (Firmata)
安装Arduio Firmata库:
转到Sketch menu / Include Library / Manage Library并搜索“ Firmata ”并安装该库的最新版本。
现在从File / Examples / Firmata / StandardFirmata中打开并上传“ StandardFirmata ”示例。
在Arduino端完成后,现在我们转到Windows Universal Platform App。
Windows通用平台应用程序
在此处下载示例存储库。下载区也可找到。
现在我们已经完成了所有的设置,让我们写入代码代码!
我已经按照安装指南中的步骤设置了一个名为RemoteBlinky的项目。在下面的屏幕快照中,你将看到代码隐藏文件MainPage.xaml.cs,该文件仅创建一个蓝牙连接对象并将其传递给构造函数中的RemoteDevice类。你将看到在此示例中我指定了设备名称。你还可以通过.listAvailableDevicesAsync()
在构造对象之前调用BluetoothSerial(和USBSerial)类的静态功能来枚举可用的设备。
USBSerial
有许多选项可用于指定你的设备。在构造函数中,你可以提供设备的VID和PID,仅VID或DeviceInformation
对象(从上述listAvailableDevicesAsync
函数获得)。同样,BluetoothSerial
允许你提供设备ID(作为字符串),设备名称(也是字符串)或DeviceInformation
对象。
你可以按照以下步骤获取USB设备的VID和PID组合:
通过控制面板或同时按Windows +暂停键并选择左侧的设备管理器链接,打开设备管理器。
展开端口(COM和LPT)菜单
右键单击你的Arduino设备并选择属性
在详细信息选项卡上,从下拉菜单中选择“硬件ID ”。
你可能会在“值”框中看到多个条目,但是任何条目都将具有匹配的PID和VID。
这些条目的格式为“ USB \ VID _ ****&PID _ ”,其中是数字ID值。
USBSerial usb = new USBSerial( "VID_2341", "PID_0043" );
用来保证仅可用于以下硬件设备:
接下来,我将向RemoteDevice对象的DeviceReady事件添加一个回调函数。连接蓝牙设备并且所有必要的设置均已初始化时,将自动调用此功能。你会注意到,目前我尚未在该函数中实现任何功能。最后,调用.begin()
连接对象以使其连接。
该.begin()
功能的参数对于蓝牙无关紧要,但是你必须在Arduino和UsbSerial对象(第一个参数)上使用相同的波特率。另外,第二个参数必须为“ SerialConfig.8N1"
。无论你使用哪种连接类型,本示例的其余部分都将完全相同。
Click
事件添加了按钮回调,并将属性设置IsEnabled
为false,你将在下一步看到为什么。在这一步中,我已经实现了三个功能。首先,该OnDeviceReady
功能现在启用UI线程上的按钮!这样可以确保仅在蓝牙连接准备就绪时才启用按钮,因为通常需要几秒钟的时间。
我还在.digitalWrite()
按钮回调中设置了呼叫OnButton_Click
,OffButton_Click
至此项目完成。
所有需要的文件在下载区均可找到。
via:
如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈
评论(0)