该项目的目标是使用 Arduino UNO、Visual Basic、Sdcard 模块、串行通信和 SPI 协议,通过蓝牙从连接到 Arduino 的 SD 卡在计算机上发送和接收文件。
Arduino代码(C++)
表单设计代码 (Visual Basic)
表单代码 (Visual Basic)
该项目分为两部分:Visual Basic 程序和Arduino 程序。 Visual Basic程序通过串口通信,负责让用户与Arduino串口连接的HC-05蓝牙模块进行连接,实现电脑与Arduino之间的无线通信,之后用户选择是否连接。从 SD 卡发送或接收文件,Visual Basic 处理与 Arduino 的通信,通知用户想要什么,作为响应,带有使用 SPI 协议的 SD 卡模块的 Arduino 访问该卡SD 并读取或保存文件到其中,还允许用户查看 SD 卡根目录中存在哪些文件,以防他选择接收文件。
将程序加载到Arduino的BluetoothDataFile_ArduinoBluetoothDataFile_Arduino.ino文件夹中,然后打开BluetoothDataFile_VisualBasic2010BluetoothDataFilebinDebugBluetoothDataFile.exe文件夹中的Visual Basic应用程序,打开后单击“更新串行”按钮,从蓝牙模块配对的组合框,然后单击“连接到串行”。这样,您只需选择接收文件或将文件发送到 SD 卡即可。
接收文件:要接收文件,请单击“接收文件”按钮,等待按钮下方的空白框显示可以从 SD 根目录接收的文件选项,双击文件名选择文件,之后会出现一条消息询问您是否确实要接收该文件,单击“是”并在打开的新窗口中选择一个位置将其保存,现在只需等待接收完成,监视进度条并等待用于确认传输完成消息。
发送文件:要发送文件,点击表单文本框旁边的文件搜索按钮,选择要发送的文件,点击“发送”按钮,等待进度条到达结束并出现发送完成消息。
注意:要接收和发送的文件名最多必须有 8 个字符,另外还有 3 个字符的扩展名,否则传输将不会成功。
单击上面的图片即可观看有关如何使用该程序的视频
可能出现的错误之一是接收文件时数据丢失,这将导致 Visual Basic 无法完成传输而不会成功,此外,发送和接收文件的速度也相当慢。 (串口COM的波特率为38400bps,由于速度较高会丢失数据),尤其是发送速度,这是由于蓝牙模块、Arduino串口以及所使用的库的硬件限制所致。阿杜伊诺程序。