Arduino UNO, Visual Basic, Sdcard 모듈, 직렬 통신 및 SPI 프로토콜을 사용하여 Arduino에 연결된 SD 카드에서 Bluetooth를 통해 컴퓨터에서 파일을 보내고 받는 것을 목표로 하는 프로젝트입니다.
아두이노 코드(C++)
양식 디자인 코드(Visual Basic)
양식 코드(Visual Basic)
이 프로젝트는 Visual Basic 프로그램과 Arduino 프로그램의 두 부분으로 나뉩니다. Visual Basic 프로그램은 직렬 통신을 통해 사용자가 Arduino 직렬에 연결된 HC-05 블루투스 모듈에 연결하여 컴퓨터와 Arduino 간의 무선 통신을 가능하게 하는 역할을 담당합니다. SDcard에서 파일을 보내거나 받으면 Visual Basic이 Arduino와의 통신을 처리하여 사용자가 원하는 것을 알려주고 이에 대한 응답으로 SPI 프로토콜을 사용하는 SDcard 모듈이 있는 Arduino는 카드에 액세스합니다. SD는 파일을 읽거나 저장하며, 사용자가 파일 수신을 선택한 경우 sdcard의 루트에 어떤 파일이 있는지 확인할 수 있습니다.


프로그램을 Arduino의 BluetoothDataFile_ArduinoBluetoothDataFile_Arduino.ino 폴더에 로드하고 BluetoothDataFile_VisualBasic2010BluetoothDataFilebinDebugBluetoothDataFile.exe 폴더에서 Visual Basic 애플리케이션을 엽니다. 열리면 "직렬 업데이트" 버튼을 클릭하고 다음에서 COM을 선택합니다. Bluetooth 모듈이 페어링된 콤보 상자를 클릭하고 "직렬에 연결"을 클릭합니다. 이를 통해 파일을 SD 카드로 받을지, 보낼지 선택하기만 하면 됩니다.
파일 받기: 파일을 받으려면 "파일 받기" 버튼을 클릭하고 버튼 아래의 빈 상자에 SD 루트에서 받을 수 있는 파일 옵션이 표시될 때까지 기다립니다. 이름을 두 번 클릭하여 파일을 선택합니다. 그 후 정말로 해당 파일을 받을지 묻는 메시지가 표시됩니다. "예"를 클릭하고 열린 새 창에서 저장할 위치를 선택합니다. 이제 수신이 완료될 때까지 기다리면서 진행률 표시줄을 모니터링하고 기다리면 됩니다. 전송 완료 확인 메시지를 확인하세요.
파일 보내기: 파일을 보내려면 양식의 텍스트 상자 옆에 있는 파일 검색 버튼을 클릭하고 보내려는 파일을 선택한 다음 "보내기" 버튼을 클릭한 후 진행률 표시줄이 해당 파일에 도달할 때까지 기다리세요. 종료되고 전송 완료 메시지가 나타납니다.
참고: 수신 및 전송될 파일 이름은 최대 8자여야 하며 확장자는 추가로 3자를 포함해야 합니다. 그렇지 않으면 전송이 성공하지 못합니다.
위 이미지를 클릭하시면 프로그램 사용방법에 대한 영상을 보실 수 있습니다
발생할 수 있는 버그 중 하나는 파일을 수신할 때 데이터가 손실되어 Visual Basic이 전송을 완료할 수 없고 성공하지 못하게 되는 결과를 낳고, 또한 파일을 보내고 받는 속도가 상당히 느려지는 것입니다. (직렬 COM의 전송 속도는 38400bps입니다. 이는 고속에서 데이터 손실로 인해 발생합니다.) 특히 전송 속도는 블루투스 모듈의 하드웨어, Arduino 직렬 및 사용되는 라이브러리의 제한으로 인해 발생합니다. 아두이노 프로그램.