私が望むのは、ブルートゥースデバイスHC-05を使用してarduino UNOに読み書きするためにVisual Studioを使用します。前のステップでは、私はVisual Studio C++とArduinoを使ってUSBポート経由で直接通信することができました。私が使用しているコードは基本的にarduino and visual studio c++, 2 way serial communicationと同じです。 arduinoので、私はのようなコマンドを持っている:ArduinoビジュアルスタジオとブルートゥースHC-05
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available() > 0) {
char c = Serial.read();
if (c == '1')
Serial.write("FORW");
else if (c == '2')
Serial.write("LEFT");
else if (c == '3')
Serial.write("RIGTH");
else if (c == '4')
Serial.write("BACK");
else if (c == '5')
Serial.write("STOP");
else
Serial.write("Invalid");
}
と私/出力(直接ArduinoのUSBを使用して)です:
Connection established!!!
Enter your command: 1
arduino: FORW
Enter your command: 2
arduino: LEFT
Enter your command: 3
arduino: RIGTH
Enter your command: 6
arduino: Invalid
Enter your command:
私はそれでBluetoothモジュールのHC-05を追加したとき。シリアルモニターを使用して、同じ出力を得ることができますが、私は、Visual Studioを使用する場合は、次の出力のために、それは常に次のように、前回出力されていない現在のものを与えながら、最初の入力は、出力をバック与えたことがない:
Connection established!!!
Enter your command: 1
arduino:
Enter your command: 2
arduino: FORW
Enter your command: 1
arduino: LEFT
Enter your command: 4
arduino: FORW
Enter your command: 6
arduino: BACK
Enter your command: 2
arduino: Invalid
Enter your command:
次の手順がエラーを与える可能性がある場合、私は知らない。
- をブルートゥースを5V
- が供給されて、私はArduinoの宇野と接続したBluetooth TX RXを横断
- ブルートゥースHC-05がデフォルトモードになって、私はdidnのそれについて何も変えないでください。
- ブルートゥースがPCに接続されている場合、COM4 'DEV-B' & COM5の2つのポートが表示されます。そのため、Visual StudioのコードをCOM4に接続するように変更しました。
- ビジュアルスタジオでも示されているArduinoでは、バインドレートは9600に設定されています。
これはどうして起こるのでしょうか?