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

質問編集履歴

1

コードの記入

2018/01/10 12:08

投稿

COCCOP
COCCOP

スコア6

title CHANGED
File without changes
body CHANGED
@@ -6,4 +6,125 @@
6
6
  自動側にした場合、スタートスイッチを押して、はじめてサーボが1サイクル動くコードの書き方(90度いったらー90度にいって止まる的な?)
7
7
  手動側にした場合、JOG運転がしたいので+側のボタンを押したら+側に動作し、ー側のボタンを押したらー側に動作するコードの書き方
8
8
 
9
- とりあえずは入力されるまでサーボが動かないコードを知りたいのでわかるかたいれば教えてください。
9
+ とりあえずは入力されるまでサーボが動かないコードを知りたいのでわかるかたいれば教えてください。
10
+
11
+ import RPi.GPIO as GPIO
12
+ import time
13
+
14
+ # 1サイクル自動化サブルーチンコード
15
+ GPIO.setmode(GPIO.BCM)
16
+ gp_out = 2
17
+ GPIO.setup(gp_out, GPIO.OUT)
18
+ servo = GPIO.PWM(gp_out, 50)
19
+ servo.start(0.0)
20
+ servo.ChangeDutyCycle(2.0)
21
+ time.sleep(1)
22
+ GPIO.cleanup()
23
+
24
+
25
+
26
+ GPIO.setmode(GPIO.BCM)
27
+ gp_out = 4
28
+ GPIO.setup(gp_out, GPIO.OUT)
29
+ servo = GPIO.PWM(gp_out, 50)
30
+ servo.start(0.0)
31
+ servo.ChangeDutyCycle(6.5)
32
+ time.sleep(1)
33
+ GPIO.cleanup()
34
+
35
+ GPIO.setmode(GPIO.BCM)
36
+ gp_out = 2
37
+ GPIO.setup(gp_out, GPIO.OUT)
38
+ servo = GPIO.PWM(gp_out, 50)
39
+ servo.start(0.0)
40
+ servo.ChangeDutyCycle(6.0)
41
+ time.sleep(1)
42
+ GPIO.cleanup()
43
+
44
+ GPIO.setmode(GPIO.BCM)
45
+ gp_out = 4
46
+ GPIO.setup(gp_out, GPIO.OUT)
47
+ servo = GPIO.PWM(gp_out, 50)
48
+ servo.start(5.0)
49
+ time.sleep(1)
50
+ servo.ChangeDutyCycle(0.0)
51
+ time.sleep(1)
52
+ GPIO.cleanup()
53
+
54
+ GPIO.setmode(GPIO.BCM)
55
+ gp_out = 3
56
+ GPIO.setup(gp_out, GPIO.OUT)
57
+ servo = GPIO.PWM(gp_out, 50)
58
+ servo.start(0.0)
59
+ servo.ChangeDutyCycle(4.9)
60
+ time.sleep(1)
61
+ GPIO.cleanup()
62
+
63
+ GPIO.setmode(GPIO.BCM)
64
+ gp_out = 14
65
+ GPIO.setup(gp_out, GPIO.OUT)
66
+ servo = GPIO.PWM(gp_out, 50)
67
+ servo.start(0.0)
68
+ servo.ChangeDutyCycle(11.0)
69
+ time.sleep(1)
70
+ GPIO.cleanup()
71
+
72
+ GPIO.setmode(GPIO.BCM)
73
+ gp_out = 4
74
+ GPIO.setup(gp_out, GPIO.OUT)
75
+ servo = GPIO.PWM(gp_out, 50)
76
+ servo.start(0.0)
77
+ time.sleep(2)
78
+ servo.ChangeDutyCycle(7.3)
79
+ time.sleep(1)
80
+ GPIO.cleanup()
81
+
82
+ GPIO.setmode(GPIO.BCM)
83
+ gp_out = 2
84
+ GPIO.setup(gp_out, GPIO.OUT)
85
+ servo = GPIO.PWM(gp_out, 50)
86
+ servo.start(0.0)
87
+ servo.ChangeDutyCycle(2.5)
88
+ time.sleep(2)
89
+ GPIO.cleanup()
90
+
91
+ GPIO.setmode(GPIO.BCM)
92
+ gp_out = 4
93
+ GPIO.setup(gp_out, GPIO.OUT)
94
+ servo = GPIO.PWM(gp_out, 50)
95
+ servo.start(4.0)
96
+ time.sleep(2)
97
+ servo.ChangeDutyCycle(7.5)
98
+ time.sleep(0.03)
99
+ GPIO.cleanup()
100
+
101
+ GPIO.setmode(GPIO.BCM)
102
+ gp_out = 3
103
+ GPIO.setup(gp_out, GPIO.OUT)
104
+ servo = GPIO.PWM(gp_out, 50)
105
+ servo.start(0.2)
106
+ time.sleep(2)
107
+ servo.ChangeDutyCycle(2.5)
108
+ time.sleep(2)
109
+ GPIO.cleanup()
110
+
111
+ GPIO.setmode(GPIO.BCM)
112
+ gp_out = 14
113
+ GPIO.setup(gp_out, GPIO.OUT)
114
+ servo = GPIO.PWM(gp_out, 50)
115
+ servo.start(0.0)
116
+ servo.ChangeDutyCycle(5.2)
117
+ time.sleep(2)
118
+ GPIO.cleanup()
119
+
120
+
121
+ GPIO.setmode(GPIO.BCM)
122
+ gp_out = 2
123
+ GPIO.setup(gp_out, GPIO.OUT)
124
+ servo = GPIO.PWM(gp_out, 50)
125
+ servo.start(0.0)
126
+ servo.ChangeDutyCycle(6.0)
127
+ time.sleep(2)
128
+ GPIO.cleanup()
129
+
130
+ 今、RUNを押した瞬間から1サイクル自動で動いてしまうので、とりあえずは入力の検知がONされてはじめて動くコードを知りたいのです。