import time from adafruit_servokit import ServoKit import adafruit_pca9685 import board import busio import numpy as np import imutils kit = ServoKit(channels=16) i2c = busio.I2C(board.SCL, board.SDA) hat = adafruit_pca9685.PCA9685(i2c) hat.frequency = 60 # Set channels to the number of servo channels on your kit. # 8 for FeatherWing, 16 for Shield/HAT/Bonnet. kit = ServoKit(channels=16) Step = .1 Pos = 90 Start = 0 while (1): if Pos >= 170: Step *= -1 elif Pos <= 10: Step *= -1 Pos += Step #time.sleep(.1) kit.servo[3].angle = Pos
def setupPCA(self): self.i2c = busio.I2C(board.SCL, board.SDA) self.pca = adafruit_pca9685.PCA9685(self.i2c) self.pca.frequency = FREQUENCY
import board import busio from adafruit_servokit import ServoKit import adafruit_pca9685 import time as time i2c = busio.I2C(board.SCL, board.SDA) servo = adafruit_pca9685.PCA9685(i2c) kit = ServoKit(channels=16) kit.servo[13].actuation_range = 360 #360 kit.servo[13].set_pulse_width_range(500, 3250) #100,4000 while True: angle = int(input("Angle? between -135 and 135")) angle += 135 kit.servo[13].angle = int(angle) time.sleep(1) #kit.servo[11].angle = 180 #kit.servo[11].angle = 0 #kit.servo[13].angle= 50 #time.sleep(1) #kit.servo[12].angle = 0 #kit.servo[13].angle = 0 #time.sleep(1)
from adafruit_servokit import ServoKit import board import busio import adafruit_pca9685 import time from adafruit_motor import servo, motor from adafruit_motorkit import MotorKit i2c = busio.I2C(board.SCL, board.SDA) pca = adafruit_pca9685.PCA9685(i2c, address=0x40) pca.frequency = 100 motor4 = motor.DCMotor(pca.channels[6], pca.channels[7]) motor4.decay_mode = (motor.SLOW_DECAY) motor4.throttle = 1 time.sleep(3) motor4.throttle = 0 time.sleep(3) motor4.throttle = -1 time.sleep(3) motor4.throttle = 0 """i2c = busio.I2C(board.SCL, board.SDA) pca = adafruit_pca9685.PCA9685(i2c) pca.frequency = 50 servo0 = servo.Servo(pca.channels[8]) servo1 = servo.Servo(pca.channels[9]) #servo0.angle=90
#------------------------------------i2c - shield-trial 1----------------------------------------------- import board import busio import adafruit_pca9685 import time import adafruit_motor.servo import Motor_angles from analogio import AnalogIn #i2c communication i2c = busio.I2C(board.SCL, board.SDA) #when motor shaft is connected to Potentiometer, the value is read using analog pin A4 on Trinket analoginp = AnalogIn(board.A4) #comment if not required pcaobj = adafruit_pca9685.PCA9685(i2c) # creating object for pca9685 library pcaobj.frequency = 50 # set frequency servo_channel = pcaobj.channels[ 0] #select channel on pca9685 over which PWM must be generated servo = adafruit_motor.servo.Servo( servo_channel) #createing object for servo library start_angle = 0.0 #start position of motor stop_angle = 40.0 # stop position of motor motobj = Motor_angles.Speed(start_angle, stop_angle) #creating object for motor_angles li1 = motobj.incrDecr( ) #returns a list of angles with the difference varying in fibonacci series manner # print ('list is--',li1) for each in li1: servo.angle = each #display Pot value. comment if Pot is not used print('Analog value from Pot is--', (analoginp.value * 3.3) / 65536) #3.3V of Trinket in connect to Pot time.sleep(0.25)
#logging.basicConfig(level=logging.DEBUG) adjustSize = 1 doneList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] with open('calibrationProfile.txt') as calibration_profile: saves = json.load(calibration_profile) dataSets = [saves["min"], saves["mid"], saves["max"]] dataSetNames = ["min", "mid", "max"] messages = [ 'Calibrating 0 degrees Servo ', 'Calibrating 90 degrees Sevo ', 'Calibrating 180 degrees Servo ' ] pwm = adafruit_pca9685.PCA9685() pwm.set_pwm_freq(60) def dealJson(): data = {} for i in range(3): data[dataSetNames[i]] = dataSets[i] with open('calibrationProfile.txt', 'w') as outfile: json.dump(data, outfile) possibleKeys = [' ', 'w', 's', 'set'] def checkKeyPress():