質問編集履歴
1
fourteenlength様からご指摘いただいたソースコードについて再度編集しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
### 該当のソースコード
|
20
20
|
|
21
|
-
|
21
|
+
```python
|
22
22
|
import RPi.GPIO as GPIO
|
23
23
|
from time import sleep
|
24
24
|
|
@@ -28,6 +28,7 @@
|
|
28
28
|
SV_DUTY_OFFSET = 0.025
|
29
29
|
SV_DUTY_RES = (2.4 - 0.5) / 20 / 180
|
30
30
|
SENSOR_PORT = 27
|
31
|
+
|
31
32
|
# GPIOの設定 --- (*2)
|
32
33
|
GPIO.setmode(GPIO.BCM)
|
33
34
|
GPIO.setup(SENSOR_PORT, GPIO.IN)
|
@@ -39,29 +40,30 @@
|
|
39
40
|
|
40
41
|
# 角度を計算し変更する関数 --- (*4)
|
41
42
|
def set_angle(angle):
|
42
|
-
degree = angle + 90
|
43
|
+
degree = angle + 90
|
43
|
-
duty = (SV_DUTY_OFFSET + SV_DUTY_RES * degree) * 100
|
44
|
+
duty = (SV_DUTY_OFFSET + SV_DUTY_RES * degree) * 100
|
44
|
-
print("angle=",angle,"duty=", int(duty))
|
45
|
+
print("angle=",angle,"duty=", int(duty))
|
45
|
-
servo.ChangeFrequency(SV_FREQ)
|
46
|
+
servo.ChangeFrequency(SV_FREQ)
|
46
|
-
servo.ChangeDutyCycle(duty)
|
47
|
+
servo.ChangeDutyCycle(duty)
|
47
48
|
|
48
49
|
# 人感センサが反応したら角度を変える --- (*5)
|
49
50
|
while True:
|
50
|
-
v = GPIO.input(SENSOR_PORT)
|
51
|
+
v = GPIO.input(SENSOR_PORT)
|
51
|
-
if v == GPIO.HIGH:
|
52
|
+
if v == GPIO.HIGH:
|
52
|
-
GPIO.output(SV_PORT, GPIO.HIGH)
|
53
|
+
GPIO.output(SV_PORT, GPIO.HIGH)
|
53
|
-
try:
|
54
|
+
try:
|
54
|
-
set_angle(90)
|
55
|
+
set_angle(90)
|
55
|
-
sleep(1)
|
56
|
+
sleep(1)
|
56
57
|
|
57
|
-
set_angle(-90)
|
58
|
+
set_angle(-90)
|
58
|
-
sleep(1)
|
59
|
+
sleep(1)
|
60
|
+
except KeyboardInterrupt:
|
61
|
+
break
|
59
62
|
|
60
|
-
except KeyboardInterrupt:
|
61
|
-
break
|
62
|
-
|
63
63
|
GPIO.cleanup()
|
64
64
|
|
65
|
+
```
|
66
|
+
|
65
67
|
### 試したこと
|
66
68
|
|
67
69
|
ここに問題に対して試したことを記載してください。
|