91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-01
  • 語言: Python
  • 標簽: python??PCA9685??

資源簡介

樹莓派_python_PCA9685_16路舵機自定義角度控制源碼,輸入需要控制的角度就可以達到控制舵機移動,代碼默認是控制0號端口,其他1-15自行修改

資源截圖

代碼片段和文件信息

#?-*-?coding:?UTF-8?-*-
import?smbus
import?time
pca9685_adr=0x40
pca9685_mode1adr=0x00
pca9685_mode2adr=0x01
pca9685_subadr1=0x02
pca9685_subadr2=0x03
pca9685_subadr3=0x04
pca9685_allcalladr=0x05
pca9685_led0_on_l=0x06
pca9685_led0_on_h=0x07
pca9685_led0_off_l=0x08
pca9685_led0_off_h=0x09
pca9685_all_led_on_l=0xfa
pca9685_all_led_on_h=0xfb
pca9685_all_led_off_l=0xfc
pca9685_all_led_off_h=0xfd
pca9685_pre_scale=0xfe
pca9685_testmode=0xff
pca9685_mode=0x00
bus=smbus.SMBus(1)
class?PCA9685(object):
????def?__init__(self?address=pca9685_adr):
????????self._address?=address
????????self._bus?=?smbus.SMBus(1)

????def?init(self):
????????bus.write_byte_data(self._addresspca9685_mode1adr0x0)
#????????bus.write_byte_data(self._addressmode1adr0x21)

????def?setsq(selfhz):
????????hz=float(hz)
????????data=(25000000/(4096*hz))-1
????????data=int(data)
????????oldmode1=bus.read_byte_data(self._addresspca9685_mode1adr)
????????newmode1?=?(oldmode1&0x7F)?|?0x10
????????bus.write_byte_data(self._addresspca9685_mode1adrnewmode1)
????????bus.write_byte_data(self._addresspca9685_pre_scaledata)
????????bus.write_byte_data(self._addresspca9685_mode1adroldmode1)
????????time.sleep(0.005)
????????bus.write_byte_data(self._addresspca9685_mode1adroldmode1|0xa1)
????????self.init()

????def?hex1(selfx1):
????????if?x1<0xff:
????????????x_l=x1
????????????x_h=0x00
????????else?:
????????????x_h=x1/256
????????????x_l=x1-x_h*256
????????return?x_lx_h

????def?write_16(selfledu_16):
????????(u_16_lu_16_h)=self.hex1(u_16)
????????bus.write_byte_data(self._addressledu_16_l)
????????bus.write_byte_data(self._addressled+1u_16_h)
????def?allinit(self):
????????self.write_16(pca9685_all_led_on_l0)
????????self.write_16(pca9685_all_led_off_l300)
????def?setallpwm(selfledonledoff):
????????self.write_16(pca9685_all_led_on_lledon)
????????self.write_16(pca9685_all_led_off_lledoff)
????def?setpwm(selfnledonledoff):
????????print?ledonledoff
????????self.write_16(pca9685_led0_on_l+4*nledon)
????????self.write_16(pca9685_led0_on_l+4*nledoff)
????def?getsq(self):
????????data=bus.read_byte_data(self._addresspca9685_pre_scale)
????????hz=25000000/(4096*(data+1))
????????return?hz
????def?setallangle(selfangle):
????????if?angle>180:angle=180
????????if?angle<0:angle=0
????????self.setsq(50)
????????time1=float(angle+45)/90
????????ledoff=int((time1/20)*4096)
????????self.write_16(pca9685_all_led_on_l0)
????????self.write_16(pca9685_all_led_off_lledoff)
????def?setangle(selfnangle):
????????“““
????????if?angle<16:angle=16
????????hz=self.getsq()
????????print?hz
????????time=float(1000/hz)#一個周期的時間
????????if?angle>180:angle=180
????????time1=float(angle+45)/90
????????print?timetime1
????????ledoff=int((time1/time)*4096)
????????print?ledoff
????????“““
????????if?angle>180:angle=180
????????if?angle<0:angle=0
????????#self.setsq(50)
????????time1=flo

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-28?22:41??dj\
?????文件????????3188??2016-06-04?21:18??dj\PCA9685.py
?????文件?????????410??2018-12-30?01:22??dj\testdj1.py

評論

共有 條評論