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

質問編集履歴

1

プログラムの書式変更

2021/07/22 12:22

投稿

lisure
lisure

スコア1

title CHANGED
File without changes
body CHANGED
@@ -14,66 +14,67 @@
14
14
  ### 該当のソースコード
15
15
 
16
16
  ```python3
17
- !/usr/bin/env python
17
+ /usr/bin/env python
18
-
18
+ # -*- coding: utf-8 -*-
19
19
  import Adafruit_PCA9685
20
20
  import time
21
21
 
22
- """サーボモーターをコントロールするためのクラス"""
22
+ #емМТмпмВггЈЭмЫЙЋПЁЮЯЩй
23
23
  class servo_Class:
24
- """ChannelPCA9685のサーボモーターを繋いだチャンネル"""
24
+ #ChannelЯPCA9685ЮемМТмпмВދЄРЁУгЍЫ
25
- """ZeroOffsetはサーボモーターの基準の位置を調節するためのパラメーターです"""
25
+ #ZeroOffsetЯемМТмпмЮ׺ΖЮύ߮ВʿۀЙЋПЁЮБЩСмпмЧЙ
26
26
  def __init__(self, Channel, ZeroOffset):
27
27
  self.Channel = Channel
28
28
  self.ZeroOffset = ZeroOffset
29
29
 
30
- """Adafruit_PCA9685の初期化"""
30
+ #Adafruit_PCA9685ЮҝǟӖ
31
31
  self.pwm = Adafruit_PCA9685.PCA9685(address=0x40)
32
32
  self.pwm.set_pwm_freq(60)
33
33
 
34
- """角度を設定する関数です"""
34
+ """ɒަВʭۚЙЋբŰЧЙ"""
35
35
  def SetPos(self,pos):
36
36
 
37
- """pulse = 150~650 : 0 180
37
+ #pulse = 1500 : 0 ߞ 180ަ
38
- """PCA9685はパルスで角度を制御しているため0~180のように角度を指定しても思った角度にはなりません"""
38
+ #PCA9685ЯБЫйЧɒަВҶߡЗЦЄЋПЁ0~180ЮЈІЫɒަВÇۚЗЦЂУПɒަЫЯЪЊоЛГ
39
- """そこで角度の値からパルスの値へと変換します。PCA9685ではパルス150~650が角度の0~180に対応しているみたいです"""
39
+ #НГЧɒަЮФЋЉБЫйЮФиШىÛЗоЙЂPCA9685ЧЯБЫ๕0~650ЌɒަЮ0~180Ы۾ߜЗЦЄЋпПЄЧЙ
40
- """下の式の(650-150)/1801度あたりのパルスを表しています"""
40
+ #΋ЮߏЮ(650-150)/180Я1ަЂПЊЮБЫйВȨЗЦЄоЙ
41
- """それにpos(制御したい角度)を掛けた後、150を足すことでことで角度をパルスに直しています。"""
41
+ #НЌЫpos(ҶߡЗПЄɒަ)ВÛБПߌU0ВͳЙГШЧГШЧɒަВБЫйЫִЗЦЄоЙЂ
42
- """最後にZeroOffsetを足すことで基準にしたい位置に補正します"""
42
+ #ǀߌЫZeroOffsetВͳЙГШЧ׺ΖЫЗПЄύ߮ЫȜˣЗоЙ
43
43
  pulse = int(2.7)*pos+150+self.ZeroOffset
44
44
  self.pwm.set_pwm(self.Channel, 0, pulse)
45
45
 
46
46
 
47
- """制御を行うメインの部分です"""
47
+ """ҶߡВȌІСФгЮШ҆ЧЙ"""
48
48
  if __name__ == '__main__':
49
- """今回はサーボモーターが3つあります"""
49
+ #Ί֞ЯемМТмпмЌ3ФЂЊоЙ
50
50
  Servo0 = servo_Class(Channel=0, ZeroOffset=-5)
51
- Servo1 = servo_Class(Channel=1, ZeroOffset=-5)
51
+ #Servo1 = servo_Class(Channel=1, ZeroOffset=-5)
52
- Servo2 = servo_Class(Channel=2, ZeroOffset=-5)
52
+ #Servo2 = servo_Class(Channel=2, ZeroOffset=-5)
53
53
 
54
54
  try:
55
- """テストでそれぞれのサーボモーターを45度,90度と繰り返し動かしてみます。"""
55
+ #ІйЈЧНЌОЌЮемМТмпм҅ަ,90ަШްЊϔЗҕЋЗЦпоЙЂ
56
56
  while True:
57
57
  print('45')
58
58
  Servo0.SetPos(45)
59
59
  time.sleep(1)
60
- Servo1.SetPos(45)
60
+ #Servo1.SetPos(45)
61
- time.sleep(2)
61
+ #time.sleep(2)
62
- Servo2.SetPos(45)
62
+ #Servo2.SetPos(45)
63
- time.sleep(2)
63
+ #time.sleep(2)
64
64
 
65
65
  print('90')
66
66
  Servo0.SetPos(90)
67
67
  time.sleep(1)
68
- Servo1.SetPos(90)
68
+ #Servo1.SetPos(90)
69
- time.sleep(2)
69
+ #time.sleep(2)
70
- Servo2.SetPos(90)
70
+ #Servo2.SetPos(90)
71
- time.sleep(2)
71
+ #time.sleep(2)
72
72
 
73
- except KeyboardInterrupt : #Ctl+Cが押されたらループを終了
73
+ except KeyboardInterrupt : #Ctl+Cをおしたら終了
74
74
  print("\nCtl+C")
75
75
  except Exception as e:
76
76
  print(str(e))
77
+ ```
77
78
  ### 試したこと
78
79
 
79
80
  Githubを入れ直してみたり、実行するプログラムを変えてみたりしましたが、だめでした。