import gpiozero import numpy as np import cwiid steering = gpiozero.AngularServo(18, min_angle=-60, max_angle=60) drive = gpiozero.Motor(17, 21, enable=None, pwm=True, pin_factory=None) wii = cwiid.Wiimote() wii.rpt_mode = cwiid.RPT_BTN | cwiid.RPT_ACC def steer(angle): if np.absolute(angle) < 5: angle = 0 steering.angle = angle def drive(speed): if np.absolute(speed) < 0.15: drive.stop() elif speed < 0: drive.backward(abs(speed)) else: drive.forward(speed) while True: steer(np.clip(np.interp(wii.state["acc"][cwiid.X] - 95), 0, 50, -50, 50), -60, 60) drive(np.clip(np.interp(wii.state["acc"][cwiid.Y] - 95), 0, 50, -1, 1), -1, 1)
def move(self, angle=None, speed=0): '''Moves the servo to angle [deg] at speed [deg/s].''' if self.angle is None or angle is None or speed == 0: self.angle = angle return begin, end = int(self.angle), angle for a in range(begin, end + 1, 2 * (begin < end) - 1): self.angle = a time.sleep(1 / speed) if not dry_run: gpiozero.AngularServo.move = move servo = gpiozero.AngularServo(4, min_angle=0, max_angle=90, initial_angle=None, pin_factory=PiGPIOFactory()) switch = gpiozero.Button(27) breakwire = gpiozero.Button(22) switch.when_pressed = lambda: set_position(90) switch.when_released = lambda: set_position(0) breakwire.when_released = lambda: stop(True) LED = gpiozero.RGBLED(24, 23, 18) position = None shutdown = False # whether to shut down after exit. Var will be set by function call shutdown_hook = None # hacky global to store the server shutdown function in at the soonest request project_dir = '/home/pi/Documents/SRP_RI/' def stop(_shutdown=False):
while symb != '}' and j < len(resp): symb = resp[j] score += symb j += 1 symb = resp[j] results[keyword] = float(score) score = '' keyword = '' i = j i += 1 parse_text(response.text) servo1 = gpiozero.AngularServo(17, min_angle=-90, max_angle=90) #right platform servo servo1.angle = 0 servo2 = gpiozero.AngularServo(18, min_angle=-90, max_angle=90) #left platform servo servo2.angle = 0 sensor = gpiozero.MotionSensor(4) led = gpiozero.LED(14) """while True: if sensor.motion_detected(): led.on() #photo querystring = {"url":"https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2F1.bp.blogspot.com%2F_Od0_3vFBzHY%2FTJechRB6evI%2FAAAAAAAAAAM%2F3PKnboxFuTU%2Fs1600%2FPlasticBottle-PET.jpg&f=1&nofb=1"} response = requests.request("GET", url, headers=headers, params=querystring) if "Bottle" in results.keys() and "Plastic" in results.keys(): servo1.angle = -90
def go_to_angle(): servo = gz.AngularServo(17, min_angle=-90, max_angle=90) while True: angle = int(input("Enter an integer for angle: ")) servo.angle = angle
import VL53L0X tof = VL53L0X.VL53L0X() tof.start_ranging( 1) # Start ranging, 1 = Short Range, 2 = Medium Range, 3 = Long Range #right_motor = gpiozero.PhaseEnableMotor(13, 6) #left_motor = gpiozero.PhaseEnableMotor(26, 19) right_motor = gpiozero.PhaseEnableMotor(9, 10) left_motor = gpiozero.PhaseEnableMotor(22, 27) panangle = 0 tiltangle = 0 pan_servo = gpiozero.AngularServo(21) tilt_servo = gpiozero.AngularServo(26) pan_servo.angle = panangle tilt_servo.angle = tiltangle #pantilthat.pan(panangle) #pantilthat.tilt(tiltangle) running = True while running: try: # Get a joystick with ControllerResource() as joystick: # Loop until we're disconnected while joystick.connected: # Check joystick
curses.cbreak() screen.keypad(True) if __name__=="__main__": pinNumber1 = 17 pinNumber2 = 27 initialAngle = 0 minAngle = -90 maxAngle = 90 min_pulse_width = 500/1e6 max_pulse_width = 2400/1e6 servo1 = gpiozero.AngularServo(pinNumber1, initialAngle, minAngle, maxAngle, min_pulse_width, max_pulse_width) servo2 = gpiozero.AngularServo(pinNumber2, initialAngle, minAngle, maxAngle, min_pulse_width, max_pulse_width) def get_jacobian(q): l1 = 1 l2 = 1
import gpiozero import time if __name__=="__main__": pinNumber = 17 initialAngle = 0 minAngle = -90 maxAngle = 90 min_pulse_width = 500/1e6 max_pulse_width = 2400/1e6 servo = gpiozero.AngularServo(pinNumber, initialAngle, minAngle, maxAngle, min_pulse_width, max_pulse_width) servo.angle = -90 # Show the range while servo.angle < 90: servo.angle += 1 time.sleep(.01) while servo.angle > -90: servo.angle -= 1 time.sleep(.01) while True: angle = input("Enter an angle between -90 and 90 ")
import gpiozero as zero from time import sleep big = 100 lil = 0 mid = int((big - lil) * (2 / 5)) servo = zero.AngularServo(17, min_angle=lil, max_angle=big) while True: servo.angle = big sleep(1) print("big") servo.angle = mid sleep(1) print("mid") servo.angle = lil sleep(1) print("lil")
import gpiozero as gpio from time import sleep import sys led = gpio.LED(17) pir = gpio.MotionSensor(4) buzzer = gpio.Buzzer(27) servo = gpio.AngularServo(22,min_angle=-90,max_angle=90) sensor = gpio.DistanceSensor(echo = 18, trigger = 13) def turnOn(): led.on() sleep(10) print('Light was on, it just turned off') def turnOff(): led.off() print('Light is now off') def servoMovement(angle): angle = int(angle) servo.angle = angle sleep(3 ) print('Servo Moved') def buzz(): buzzer.on() sleep(10) print('buzzzz') def noBuzz():
import gpiozero as gpio #max and min MAXANGLE = 1 MINANGLE = -1 #pin numbers are temporary - change as needed #angle values are temporary - change as needed #INIT SERVOS servos = [gpio.AngularServo(21, initial_angle=-50), gpio.AngularServo(20, initial_angle=-12), gpio.AngularServo(4, initial_angle=90), gpio.AngularServo(5, initial_angle=-27), gpio.AngularServo(6, initial_angle=-19), gpio.AngularServo(12, initial_angle=-10)] angles = [(-50,-26), (-35,-12), (50,90), (-45,-27), (-35,-19), (-45,-10)] #returns list of angle values in order servos are defined def state(): s = [] for i in servos: s.append(i.angle) return s #param string of type integer is which string is to be picked #does gpio wait until completion? - if not, we have to manually add delays #return angle servo is set to def pick(string): s = state()[string] ang = angles[string] if s == ang[0]:
def __init__(self): #self.pan_servo = gpiozero.AngularServo(21) #self.tilt_servo = gpiozero.AngularServo(26) #self.right_motor = gpiozero.PhaseEnableMotor(9, 10) #self.left_motor = gpiozero.PhaseEnableMotor(22, 27) self.second_servo = gpiozero.AngularServo(22) self.first_servo = gpiozero.AngularServo(12,min_angle=-90,max_angle=90) self.fan_servo = gpiozero.AngularServo(20) self.fan_servo.angle = 90 self.servo_off() self.first_angle = 0 self.second_angle = 0 M1DIR = 27 M1PWM = 13 M2DIR = 6 M2PWM = 5 # self.right_motor = gpiozero.PhaseEnableMotor(M1DIR, M1PWM) # self.left_motor = gpiozero.PhaseEnableMotor(M2DIR, M2PWM) # self.right_motor.stop() # self.left_motor.stop() self.right_pwm = gpiozero.PWMOutputDevice(M1PWM) self.right_dir = gpiozero.OutputDevice(M1DIR) self.left_pwm = gpiozero.PWMOutputDevice(M2PWM) self.left_dir = gpiozero.OutputDevice(M2DIR) self.battery() self.temperature() try: # Create a VL53L0X object self.tof = VL53L0X.VL53L0X() # Start ranging # tof.start_ranging(VL53L0X.Vl53l0xAccuracyMode.BETTER) self.tof.start_ranging(VL53L0X.VL53L0X_HIGH_SPEED_MODE) self.timing = self.tof.get_timing() if self.timing < 20000: self.timing = 20000 print("Timing %d ms" % (self.timing/1000)) self.hasTOF = True except: print("Problem init TOF") self.hasTOF = False # Raspberry Pi configuration with serial UART and RST connected to GPIO 18: self.bno = BNO055.BNO055(serial_port='/dev/serial0', rst=7) while True: try: self.bno.begin() break except KeyboardInterrupt: # CTRL+C exit, disable all drives return except: print("BNO Error") #raise RuntimeError('Failed to initialize BNO055! Is the sensor connected?') # Print BNO055 software revision and other diagnostic data. sw, bl, accel, mag, gyro = self.bno.get_revision() print('Software version: {0}'.format(sw)) print('Bootloader version: {0}'.format(bl)) print('Accelerometer ID: 0x{0:02X}'.format(accel)) print('Magnetometer ID: 0x{0:02X}'.format(mag)) print('Gyroscope ID: 0x{0:02X}\n'.format(gyro))
import time import gpiozero as gp l = gp.Motor(6, 13) r = gp.Motor(2, 3) pan = gp.AngularServo(12) tilt = gp.AngularServo(8) time.sleep(10) try: l.forward() r.forward() time.sleep(2) l.backward() time.sleep(0.5) l.forward() time.sleep(1) r.backward() time.sleep(0.5) r.forward() time.sleep(1) finally: r.stop() l.stop() pan.angle = 0 pan.detach() tilt.angle = 0 tilt.detach()
DISTANCE_TO_OBJECT = 5 MIN_AREA = 100 MAX_AREA = 1000 CONFIDENCE = 0.01 BORDER = 8 FRAMES_TO_ENSURE = 1 FRAMES_TO_CANCEL_SHOOTING = 20 CORRECT_THRESHOLD_PROPORTION = 0 CHANGE_THRESHOLD = 0.2 DETECTION_DIFFERENCE_THRESHOLD = 4 # All Pins are BCM RELAY_PIN = 17 SERVO_PIN = 18 RELAY = gpiozero.OutputDevice(RELAY_PIN) SERVO = gpiozero.AngularServo(SERVO_PIN, min_angle=-45, max_angle=45) SERVO.mid() # TODO: find optimal values LOWER_SQUIRREL_HSV = np.array([20, 0, 50]) UPPER_SQUIRREL_HSV = np.array([130, 255, 180]) LABELS = open( os.path.abspath("yolo-coco/coco.names")).read().strip().split("\n") np.random.seed(42) COLORS = np.random.randint(0, 255, size=(len(LABELS), 3), dtype="uint8") weightsPath = os.path.sep.join(["yolo-coco", "yolov3-tiny.weights"]) configPath = os.path.sep.join(["yolo-coco", "yolov3-tiny.cfg"]) print("Loading YOLO v3 Tiny from disk...")