質問編集履歴

1

2022/02/16 23:38

投稿

senntii
senntii

スコア3

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
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-17/c361583f-5b6e-467b-9fd2-aae9c39d6f16.png)
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
  よろしくお願いいたします。