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

回答編集履歴

1

追記: サンプルコード

2019/12/11 19:54

投稿

mt08
mt08

スコア1825

answer CHANGED
@@ -11,5 +11,44 @@
11
11
  2019-12-11 19:17:01
12
12
  ```
13
13
 
14
+ - (追記) 処理としてこんな感じでしょうか。
15
+ ```
16
+ #!/usr/bin/env python
17
+ # -*- coding: utf-8 -*-
18
+ import time
14
19
 
20
+ #ダミー関数: スイッチをチェックして、result = 1押している / 0:押していないを返す処理
21
+ def UserCheckSwitch():
22
+ result = 0
23
+ return result
24
+
25
+ #ダミー関数:LED点灯消灯
26
+ def UserLed(LedNo,bOn):
27
+ # LedNo =LED指定 - 1:LED1, 2:LED2
28
+ # bOn = 1で点灯、0で消灯する処理
29
+ return
30
+
31
+ #-- 処理開始 --
32
+ # LED消灯
33
+ UserLed(1, 0)
34
+ UserLed(2, 0)
35
+
36
+ StartTime = 0
37
+
38
+ # メインループ
39
+ while True:
40
+ if (StartTime > 0) and (time.time() - StartTime > 30) : # 計測中で現在時刻が30秒以上なら
41
+ StartTime = 0 # 計測停止
42
+ UserLed(2, 1) # LED2点灯
43
+
44
+ if (StartTime == 0) and (UserCheckSwitch() == 1):
45
+ StartTime = time.time() # 計測開始
46
+ UserLed(1, 1) # LED1点灯
47
+
48
+ time.sleep(1) # 1秒スリープ (1秒ごとにチェック)
49
+ ```
50
+
51
+
52
+
53
+
15
54
  ただ、インターネットを使わないで、"タクトスイッチを押した瞬間にLED1が点灯し、30秒後にLED2が自動点灯する"、という比較的単純な処理なら、Arduino系の方ほうがよいかもしれません。起動時間もほぼ一瞬ですし。