專案的目標是使用 Arduino UNO、Visual Basic、Sdcard 模組、串行通訊和 SPI 協議,透過藍牙從連接到 Arduino 的 SD 卡在電腦上發送和接收檔案。
Arduino程式碼(C++)
表單設計程式碼 (Visual Basic)
表單程式碼 (Visual Basic)
本專案分為兩部分:Visual Basic 程式和Arduino 程式。 Visual Basic程式透過串口通信,負責讓使用者與Arduino串口連接的HC-05藍牙模組進行連接,實現電腦與Arduino之間的無線通信,之後使用者選擇是否連接。與Arduino 的通信,通知用戶想要什麼,作為響應,帶有使用SPI 協議的SD 卡模組的Arduino 訪問該卡SD 並讀取或儲存文件到其中,還允許使用者查看 SD 卡根目錄中存在哪些文件,以防他選擇接收文件。
將程式載入到Arduino的BluetoothDataFile_ArduinoBluetoothDataFile_Arduino.ino資料夾中,然後開啟BluetoothDataFile_VisualBasic2010BluetoothDataFilebinDebugBluetoothDataFile.exe資料夾中的Visual Basic組件,開啟後點擊「藍牙序列」模組配對的組合框,然後按一下「連接到串列」。這樣,您只需選擇接收文件或將文件發送到 SD 卡。
接收文件:要接收文件,請點擊「接收文件」按鈕,等待按鈕下方的空白方塊顯示可以從 SD 根目錄接收的文件選項,雙擊文件名選擇文件,之後會出現一條訊息詢問您是否確實要接收該文件,單擊“是”並在打開的新視窗中選擇一個位置將其保存,現在只需等待接收完成,監視進度條並等待用於確認傳輸完成訊息。
傳送文件:要傳送文件,請點擊表單文字方塊旁的文件搜尋按鈕,選擇要傳送的文件,然後點擊「傳送」按鈕,然後等待進度條到達結束並出現發送完成訊息。
注意:要接收和發送的文件名必須最多有 8 個字符,另外還有 3 個字符的擴展名,否則傳輸將不會成功。
點擊上面的圖片即可觀看有關如何使用該程式的視頻
可能出現的bug之一是接收檔案時資料遺失,這會導致Visual Basic無法完成傳輸而不會成功,而且傳送和接收檔案的速度都相當慢(串口COM的波特率為38400bps,由於速度較高時會遺失資料),尤其是發送速度,這是由於藍牙模組、Arduino串口和所使用的庫的硬體限制。阿杜伊諾程序。