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

質問編集履歴

1

fourteenlength様からご指摘いただいたソースコードについて再度編集しました。

2021/08/16 12:18

投稿

python6180
python6180

スコア1

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
  ここに問題に対して試したことを記載してください。