回答編集履歴

1

追記: サンプルコード

2019/12/11 19:54

投稿

mt08
mt08

スコア1825

test CHANGED
@@ -24,6 +24,84 @@
24
24
 
25
25
 
26
26
 
27
+ - (追記) 処理としてこんな感じでしょうか。
28
+
29
+ ```
30
+
31
+ #!/usr/bin/env python
32
+
33
+ # -*- coding: utf-8 -*-
34
+
35
+ import time
36
+
37
+
38
+
39
+ #ダミー関数: スイッチをチェックして、result = 1押している / 0:押していないを返す処理
40
+
41
+ def UserCheckSwitch():
42
+
43
+ result = 0
44
+
45
+ return result
46
+
47
+
48
+
49
+ #ダミー関数:LED点灯消灯
50
+
51
+ def UserLed(LedNo,bOn):
52
+
53
+ # LedNo =LED指定 - 1:LED1, 2:LED2
54
+
55
+ # bOn = 1で点灯、0で消灯する処理
56
+
57
+ return
58
+
59
+
60
+
61
+ #-- 処理開始 --
62
+
63
+ # LED消灯
64
+
65
+ UserLed(1, 0)
66
+
67
+ UserLed(2, 0)
68
+
69
+
70
+
71
+ StartTime = 0
72
+
73
+
74
+
75
+ # メインループ
76
+
77
+ while True:
78
+
79
+ if (StartTime > 0) and (time.time() - StartTime > 30) : # 計測中で現在時刻が30秒以上なら
80
+
81
+ StartTime = 0 # 計測停止
82
+
83
+ UserLed(2, 1) # LED2点灯
84
+
85
+
86
+
87
+ if (StartTime == 0) and (UserCheckSwitch() == 1):
88
+
89
+ StartTime = time.time() # 計測開始
90
+
91
+ UserLed(1, 1) # LED1点灯
92
+
93
+
94
+
95
+ time.sleep(1) # 1秒スリープ (1秒ごとにチェック)
96
+
97
+ ```
98
+
99
+
100
+
101
+
102
+
103
+
104
+
27
105
 
28
106
 
29
107
  ただ、インターネットを使わないで、"タクトスイッチを押した瞬間にLED1が点灯し、30秒後にLED2が自動点灯する"、という比較的単純な処理なら、Arduino系の方ほうがよいかもしれません。起動時間もほぼ一瞬ですし。