# 这就是一个控制舵机大概模式 自学记录
# 树莓派上运行精度还行,香蕉派上精度不足,非常不足。控制机器人之类必须要加pwm发生芯片
#!/usr/bin/env python
# -*- coding:utf-8 -*-import RPi.GPIO as GPIO
import time import signal import atexit import sys# 清理gpio口
atexit.register(GPIO.cleanup)# 使用gpio22口
servopin = 22 # 设置gpio模式 GPIO.setmode(GPIO.BCM) # 设置 GPIO.setup(servopin, GPIO.OUT, initial=False) # 定义50HZ赫兹 gp = GPIO.PWM(servopin,50) # 从0 开始 gp.start(0) # 先休息2毫秒? time.sleep(2) x = 0def l(p):
"""设置0-180度 每15度一算占空比""" for i in range(0, 181, 15): x1=2.5 + 10 * i / 180 p.ChangeDutyCycle(x1) time.sleep(0.1) p.ChangeDutyCycle(0) time.sleep(0.2) #print i def r(p): """设置180-0度 每15度一算占空比""" for i in range(181, 0, -15): x2=2.5 + 10 * i / 180 p.ChangeDutyCycle(x2) time.sleep(0.1) p.ChangeDutyCycle(0) time.sleep(0.2) #print iwhile(True):
"""循环上面过程。其实就是舵机 180度 来回转""" x+=1 print 'change...', x l(gp) print 'change...', x + 1 r(gp)