| 
             3.1 PC未检测到Arduino UNO。 
Arduino UNO需要安装一个驱动程序来通过USB端口进行通信。 
3.2 PC上的无效设置错误(弹出报告“设置失败”)。 
可能原因: 
 针脚连接故障。 
3.3无模拟输出(保持0V)。 
检查导线连接并确保正在为传感器通电。 
可能的原因: 
 电源、接地或输出连接位置错误。 
 电源关闭或故障。 
3.4模拟输出保持在0.5V。 
可能原因: 
 可能是传感器故障。 
o检查传感器方向(见图3)。 
o如果出错,模拟输出将保持在0.49-0.5 V。 
o数字输出将保持在基线上(0计数)。 
第17页 
4示例用例 
第18页 
4.1 PC和Arduino示例 
Arduino UNO板可用于实现SingleTact的USB串行接口。 
Arduino应用程序(源代码)和相关的基于.NET的PC DAQ GUI应用程序(Windows可执行文件和源代码)的一旦使用SingleTact固件对Arduino板进行编程(请参阅使用SingleTact编程Arduino UNO示例),就可以运行PC应用程序以直观地观察传感器结果。 
由于Arduino代码存储在闪存中,编程(或Arduino术语中的“上传”)只需为新板执行一次。 
图9 Arduino和SingleTact组件 
注意:USB通信可能需要从Arduino软件包安装额外的驱动程序。看到了吗第19页 
图10 SingleTact和Arduino-UNO连接 
要运行Windows GUI应用程序: 
 打开PCExecutable文件夹。 
 运行SingleTact Demo.exe启动演示应用程序。 
图11 PC数据采集软件演示 
PC应用程序可用于更改传感器的I2C地址和修改其输出比例。有关这些设置的更多信息,请参阅I2C接口部分。 
连接 
无连接 
Arduino UNO引脚A4 
无连接 
Arduino UNO接地引脚 
1 
4 
三 
2 
8 
5 
6 
7 
连接 
无连接 
Arduino UNO针脚A5 
无连接 
Arduino UNO 5V引脚 
PIN码 
*注:参考增益将根据传感器尺寸自动变化。 
第20页 
4.2使用SingleTact示例编程Arduino UNO 
此过程概述了如何使用SingleTact示例固件编程Arduino UNO。 
1.从以下位置下载并安装Arduino软件2.从以下位置下载Arduino固件(例如ArduinoInterface3.使用提供的USB电缆将Arduino连接到电脑。 
4.打开Arduino IDE软件: 
图12 Arduino-PC连接 
注意:USB通信可能需要从Arduino软件包安装额外的驱动程序。 
按照分步说明进行操作。 
1.转到文件--->打开并打开“SingleTactDemo.ino” 
2.转到Sketch--->Include Library--->Add.zip Library并选择“Timer1.zip” 
3.转到草图--->验证/编译。 
4.进入素描--->上传*。 
*注意:如果上传时收到错误,请确保在“工具”->Port下选择Arduino。 
联合国组织 
USB接口(Arduino Uno)USB电缆 
第21页 
图13 Arduino集成开发环境 
图14编译和上传SingleTactDemo.ino文件 
第22页 
4.3 Arduino演示大纲 
本节中的图表概述了Arduino演示功能,如中所述 
上一节。在这种情况下,PC到Arduino接口被设置为镜像I2C接口, 
保持Arduino代码尽可能简单。 
图15 Arduino示例-通信架构 
图16 Arduino应用程序流程 
PC 1 Arduino Uno N SingleTacts公司 
请求数据(I2C) 
发送传感器 
数据 
将新数据发送到 
个人计算机 
如果是新数据(比较 
itr)-更新图表 
重复重复 
请求数据 
(USB/UART) 
扫描 
传感器* 
重复 
换乘 
输出 
缓冲器 
和 
时间戳 
p 
阅读 
输出 
缓冲器 
*扫描周期为 
异步 
回路 
中继命令 
I2C以上 
指挥需要 
I2C结果? 
将结果/确认发送到 
个人计算机 
重读结果 
I2C 
Y 
Parse命令 
小包裹 
Y 
时间戳 
读数*1 
N 
新建 
命令? 
N 
(*1注:Arduino含有晶体 
所以它能够产生更大的 
比SingleTact更准确的时间戳 
接口板。) 
第23页 
在主机上,Arduino显示为虚拟RS-232串行设备。使用串行API(如.NET中提供的API)将数据发送到Arduino或从Arduino发送数据。 
Arduino使用Arduino的晶体控制振荡器计算每个数据包的时间戳。这可以用作每个传感器的时间。 
这些串行命令反映了原始I2C命令(如图17中的蓝色所示)              |