質問編集履歴
1
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,15 +2,67 @@
|
|
2
2
|
センサーの値を送信→センサー値を受信してTeraTermに表示させたいです。
|
3
3
|
|
4
4
|
~機器構成~
|
5
|
-
送信側:センサー+Arduino UNO+IM920sL
|
5
|
+
送信側:センサー(HC-SR04)+Arduino UNO+IM920sL
|
6
6
|
受信側:Arduino UNO+IM920sL
|
7
|
+
|
8
|
+

|
9
|
+
※送信側はこれにセンサーが接続されています。
|
7
10
|
|
8
11
|
[IM920cをArduinoで使う](https://www.autumn-color.com/archives/273)
|
9
12
|
|
10
13
|
こちらのサイトを参考に送信側、受信側のスケッチを書き込んでみましたが、受信側のTeraTermには何も表示されません。
|
11
14
|
受信側のArduinoをIM920sLスターターキット内のUSBインターフェイスボードに変えると、送信されたデータは受信できるので、送信側は問題なさそうです。
|
12
15
|
|
13
|
-
受信側のスケッチは以下のようになっています。
|
16
|
+
送信側、受信側のスケッチは以下のようになっています。
|
17
|
+
|
18
|
+
<送信側>
|
19
|
+
```C++
|
20
|
+
#include <SoftwareSerial.h>
|
21
|
+
|
22
|
+
SoftwareSerial IM920Serial(8,9); // RX, TX
|
23
|
+
|
24
|
+
int TRIG = 12; // Trig出力ピン
|
25
|
+
int ECHO = 13; // Echo入力ピン
|
26
|
+
|
27
|
+
double duration = 0;
|
28
|
+
double distance = 0;
|
29
|
+
double speed_of_sound = 331.5 + 0.6 * 25; // 25℃の気温の想定
|
30
|
+
|
31
|
+
void setup() {
|
32
|
+
IM920Serial.begin(19200); //ソフトウェアシリアル開始。IM920 とは 19200 ボーを指定
|
33
|
+
Serial.begin(19200);
|
34
|
+
|
35
|
+
pinMode(TRIG, OUTPUT); // 出力ピンの設定
|
36
|
+
pinMode(ECHO, INPUT); // 入力ピンの設定
|
37
|
+
digitalWrite(TRIG, LOW); // 初期状態をLOWにセット
|
38
|
+
}
|
39
|
+
|
40
|
+
void loop() {
|
41
|
+
digitalWrite(TRIG, LOW);
|
42
|
+
delayMicroseconds(2);
|
43
|
+
digitalWrite( TRIG, HIGH );
|
44
|
+
delayMicroseconds( 10 );
|
45
|
+
digitalWrite( TRIG, LOW );
|
46
|
+
duration = pulseIn( ECHO, HIGH ); // 往復にかかった時間が返却される[マイクロ秒]
|
47
|
+
|
48
|
+
if (duration > 0) {
|
49
|
+
duration = duration / 2; // 往路にかかった時間
|
50
|
+
distance = duration * speed_of_sound * 100 / 1000000;
|
51
|
+
Serial.print("Distance:");
|
52
|
+
Serial.print(distance);
|
53
|
+
Serial.println(" cm");
|
54
|
+
}
|
55
|
+
|
56
|
+
IM920Serial.print("TXDA ");
|
57
|
+
IM920Serial.print(distance);
|
58
|
+
IM920Serial.println("\r\n");
|
59
|
+
|
60
|
+
delay(10000);
|
61
|
+
}
|
62
|
+
```
|
63
|
+
|
64
|
+
|
65
|
+
<受信側>
|
14
66
|
```C++
|
15
67
|
#include <SoftwareSerial.h>
|
16
68
|
|
@@ -33,6 +85,8 @@
|
|
33
85
|
delay(10000);
|
34
86
|
}
|
35
87
|
```
|
88
|
+
|
89
|
+
|
36
90
|
TeraTermに表示させるにはどこを修正したらよいでしょうか。
|
37
91
|
|
38
92
|
よろしくお願いいたします。
|