teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

加筆

2020/01/15 15:45

投稿

mmaeda
mmaeda

スコア269

answer CHANGED
@@ -1,1 +1,25 @@
1
- 超音波センサは、どうやって接続されてますか?複数のシリアルポートに繋がっている場合は、COM3 を、COM4, COM5、COM6 と変えていきます。function を作って、COM<番号>をパラメータにすると、ポートの切り替えが簡単にできます。
1
+ 超音波センサは、どうやって接続されてますか?複数のシリアルポートに繋がっている場合は、COM3 を、COM4, COM5、COM6 と変えていきます。function を作って、COM<番号>をパラメータにすると、ポートの切り替えが簡単にできます。
2
+
3
+ ```py
4
+ import serial
5
+ import re
6
+
7
+
8
+ def readPort(port):
9
+ with serial.Serial('COM3', 9600, timeout=1) as ser:
10
+ while True:
11
+ c = ser.readline()
12
+ d = re.findall('[0-9]+.+[0-9]', str(c), flags=0)
13
+ d = [float(i) for i in d]
14
+ for i in range(0, len(d)):
15
+ print(d[i])
16
+ print
17
+ ser.close()
18
+
19
+ def main():
20
+ for port in ['COM3', 'COM4', 'COM5', 'COM6', 'COM7']:
21
+ readPort(port)
22
+
23
+ if name == "main":
24
+ main()
25
+ ```