さーぼやります。Amazonに出ているもの。バッタもの多いとのことでWEBの助言でこれにしてみた。
なんだか、https://shop.lgs.jp/post-519/ 本物を見分けるページもあるようだ・・・。
# 0.5msec = left 90 agree
# 1.45msec= center
# 2.4msec = right 90 agree
# 例題の値では25000でleftフルスイングなのだけれど、ビビリが出る。
# 電源を外部からサーボ電源に供給したが変わらない。(稲妻マークは出づらくなったが・・・3B+の欠陥だな。アダプタ3AでもNGか。とほほなラズパイ。
# サーボ系を12ピンから13番の系にしたが変わらない
# 30000でいい感じだ。(これでも180度は範囲があるような)
# フルスイングでする用途は今の所考えつかないからいいかな。
# オシロでデューティを見たい。
# PCA9685(16チャンネル 12-ビット PWM Servo モーター ドライバー)を使うか。
# サーボモータは増やすとなればモータードライバは必須かな。
# それでビビリあるならモータが不良ということだ。
# もう1個買うか
/* Your code... */
#!/usr/bin/python3
# _*_ coding: utf-8 _*_
import pigpio
import time
import sys
import signal
def signal_handler(signal, frame):
print('You pressed Ctrl+C!')
pig.hardware_PWM(12, 50, 0)
pig.set_mode(12,pigpio.INPUT)
pig.stop()
sys.exit(0)
TM = 0.5
PIN = 13
pig = pigpio.pi()
pig.set_mode(PIN, pigpio.ALT0)
print(sys.version)
maxNum = int(input('回数>'))
interval = int(input('間隔>'))
TM = interval
counter = 0
signal.signal(signal.SIGINT, signal_handler)
while ( counter<(maxNum+1)):
print('120000')
pig.hardware_PWM(PIN, 50, 120000)
time.sleep(TM)
print('72500')
pig.hardware_PWM(PIN, 50, 72500)
time.sleep(TM)
print('25000')
pig.hardware_PWM(PIN, 50, 30000)
time.sleep(TM)
print('72500')
pig.hardware_PWM(PIN, 50, 72500)
time.sleep(TM)
print( '----> count=', counter )
counter = (counter + 1) + 1
pig.hardware_PWM(PIN, 50, 0)
pig.set_mode(12,pigpio.INPUT)
pig.stop()
/* Your code... */
#!/usr/bin/python3
# _*_ coding: utf-8 _*_
import pigpio
import time
import sys
import signal
def signal_handler(signal, frame):
print('You pressed Ctrl+C!')
pwmCnt = 72500
pig.hardware_PWM(PIN, 50, pwmCnt)
time.sleep(1)
pig.hardware_PWM(12, 50, 0)
pig.set_mode(12,pigpio.INPUT)
pig.stop()
sys.exit(0)
TM = 0.5
PIN = 13
pig = pigpio.pi()
pig.set_mode(PIN, pigpio.ALT0)
MAXSTOP = 10
TM = 0.01
#interval
SPAN = 1500
counter = 0
signal.signal(signal.SIGINT, signal_handler)
pwmCnt = 120000
flag = 0
pig.hardware_PWM(PIN, 50, pwmCnt)
time.sleep(1)
while 1:
print(pwmCnt)
pig.hardware_PWM(PIN, 50, pwmCnt)
time.sleep(TM)
if flag == 0:
pwmCnt = pwmCnt - SPAN
else:
pwmCnt = pwmCnt + SPAN
if pwmCnt < 30000 and flag == 0:
flag = 1
elif flag == 1 and pwmCnt >= 120000:
flag = 0
MAXSTOP = MAXSTOP + 1
print( '---max stop Count ---- ',MAXSTOP )
if MAXSTOP >= 1000:
break
pwmCnt = 72500
pig.hardware_PWM(PIN, 50, pwmCnt)
time.sleep(1)
pig.hardware_PWM(PIN, 50, 0)
pig.set_mode(PIN,pigpio.INPUT)
pig.stop()