def main(): parser = argparse.ArgumentParser( description='Example application for displaying a dial indicator for ' 'what object is seen') parser.add_argument( '--output_overlay', default=True, type=bool, help='Should the visual overlay be generated') parser.add_argument( '--button_enabled', default=True, type=bool, help='Should the button be monitored') parser.add_argument( '--button_active', default=False, type=bool, help='Should the button start out active (true) or only be active once ' 'pressed (false)') flags = parser.parse_args() load_model = time.time() category_count = len(category_mapper.get_categories()) button = AutoButton(flags.button_active, flags.button_enabled) for category in category_mapper.get_categories(): print('Category[%d]: %s' % (category_mapper.get_category_index(category), category)) with picamera.PiCamera() as camera: camera.resolution = (1640, 1232) camera.start_preview() overlay = OverlayManager( camera) if flags.output_overlay else DummyOverlayManager() servo = AngularServo(PIN_A, min_pulse_width=.0005, max_pulse_width=.0019) with CameraInference(image_classification.model()) as classifier: print('Load Model %f' % (time.time() - load_model)) for result in classifier.run(): if not button.on(): overlay.clear() servo.angle = -90 continue classes = image_classification.get_classes(result) probs = [0] * (category_count + 1) result_categories = [] for label, score in classes: category = category_mapper.get_category(label) or 'Other' probs[category_mapper.get_category_index(category) + 1] += score result_categories.append(category) overlay.update(classes, result_categories) max_prob = max(probs) best_category = probs.index(max_prob) if best_category == 0 and max_prob > .5: servo.angle = -90 elif best_category != 0: servo.angle = -90 + (180 * best_category) / category_count print('category: %d - %s' % (best_category, category_mapper.get_categories()[best_category - 1]))
def camController(): global txCamData, camAngle, headAngle camPin = 4 headPin = 17 print('camController Started') camServo = AngularServo(camPin, min_angle=0, max_angle=180, min_pulse_width=(0.5 / 1000), max_pulse_width=(2.3 / 1000), frame_width=20 / 1000) headServo = AngularServo(headPin, min_angle=-90, max_angle=90, min_pulse_width=(0.5 / 1000), max_pulse_width=(2.3 / 1000), frame_width=20 / 1000) camServo.angle = 90 headServo.angle = 0 time.sleep(1) while True: txCamData = 0 #time.sleep(0.500) camAngle = int(rxCamData % 1000) #end digits xxxabc abc is data headAngle = int(rxCamData / 1000) #begin digits abcxxx #if rxCamData: #print("rxCamData: %d" % rxCamData) camServo.angle = camAngle headServo.angle = headAngle
def main(): # Now just write the code you would use on a real Raspberry Pi from time import sleep from gpiozero import AngularServo servo1 = AngularServo(17, min_angle=-90, max_angle=90) servo1.angle = -90 while True: for x in range(-90, 90): servo1.angle = x sleep(0.1)
def main(): from time import sleep from gpiozero import AngularServo, Button owm = OWM('api_key') reg = owm.city_id_registry() mgr = owm.weather_manager() krakow = reg.ids_for('Kraków', country='PL')[0] istanbul = reg.ids_for('Istanbul', country='TR')[0] stockholm = reg.ids_for('Stockholm', country='SE')[0] global btn_state btn_state = 0 CITIES = [krakow, istanbul, stockholm] CITY_COUNT = 3 WEATHER = { 'clear': -70, 'mist': -30, 'haze': -30, 'smoke': 10, 'dust': 10, 'sand': 10, 'clouds': 10, 'ash': 10, 'squall': 10, 'drizzle': 50, 'rain': 50, 'snow': 50, 'thunderstorm': 50, 'tornado': 50 } servo1 = AngularServo(17, min_angle=-90, max_angle=90) servo1.angle = -90 def button1_pressed(): global btn_state btn_state += 1 print("Change to " + str(CITIES[btn_state % CITY_COUNT])) button1 = Button(11) button1.when_pressed = button1_pressed while True: weather = mgr.weather_at_id(CITIES[btn_state % CITY_COUNT][0]).weather status = str(weather.status).lower() servo1.angle = WEATHER.get(status) print(str(CITIES[btn_state % CITY_COUNT]) + " : " + status) sleep(3)
def main(): # now just write the code you would use on a real Raspberry Pi from time import sleep from gpiozero import AngularServo, Button, LED servo1 = AngularServo(17, min_angle=-90, max_angle=90) # possible_status = ['Rain', 'Clear', 'Clouds', 'Drizzle'] #LED for showig activ city led_Krk = LED(22) led_Stk = LED(21) active_city = "Krakow" led_Krk.on() button1 = Button(11) button2 = Button(12) button1.when_pressed = lambda: button1_pressed(active_city, led_Krk, led_Stk) button2.when_pressed = lambda: button2_pressed(active_city, led_Krk, led_Stk) while True: print("Active city: ", active_city) servo1.angle = status_to_angle(import_weather(active_city)) sleep(3)
def main(): # now just write the code you would use on a real Raspberry Pi from time import sleep from gpiozero import AngularServo, LED, Button from weather import Weather weather = Weather() def button1_pressed(): city_weather = weather.get_next_weather() print(city_weather) servo1.angle = convert_deg_temp(city_weather['temp']) def button2_pressed(): print("button 2 pressed!") button1 = Button(11) button1.when_pressed = button1_pressed button2 = Button(12) button2.when_pressed = button2_pressed servo1 = AngularServo(17, min_angle=-90, max_angle=90) servo1.angle = convert_deg_temp(weather.get_next_weather()['temp']) while True: pass
def slider_angle(slider_num): n = slider_num servo1 = AngularServo(gpio20, min_pulse_width=minPW, max_pulse_width=maxPW, initial_angle=0) servo1.angle = int(n) print(n) sleep(.5)
def slider2_angle(slider2_num): n2 = slider2_num servo2 = AngularServo(gpio21, min_pulse_width=minPW, max_pulse_width=maxPW, initial_angle=0) servo2.angle = int(n2) print(n2) sleep(.5)
def Turn_Horizontal(slider_value): n = int(slider_value) servo_Horizontal = AngularServo(17, min_angle=-90, max_angle=90, min_pulse_width=minPWM, max_pulse_width=maxPWM) servo_Horizontal.angle = n sleep(2)
def main(): # 初期化 factory = PiGPIOFactory() # min_pulse_width, max_pulse_width, frame_width =>SG90仕様 servo = AngularServo(SERVO_PIN, min_angle=MIN_DEGREE, max_angle=MAX_DEGREE, min_pulse_width=0.5/1000, max_pulse_width=2.4/1000, frame_width=1/50, pin_factory=factory) # SG90を -60度 <-> +60度で角度を変える try: for _ in range(5): servo.angle = 60 sleep(1.0) servo.angle = -60 sleep(1.0) except KeyboardInterrupt: print("stop") return
def slider_change2(slider_value): #slider value for motor 2 textbox.value = slider_value print(slider_value) servo2 = AngularServo(Servo2, min_pulse_width=minPulseWidth, max_pulse_width=maxPulseWidth, initial_angle=0, min_angle=-0, max_angle=90) servo2.angle = int(slider_value)
def cam_action(msg): servo = AngularServo(config.CAMSERVO_TILT, min_pulse_width=0.2/1000, max_pulse_width=1.8/1000, frame_width=20/1000, ) angle = json.loads(msg["data"])["angle"] if angle <= 90 and angle >= -90: servo.angle = angle time.sleep(1)
def slider_change1(slider1_value): text1.value = slider1_value servo1 = AngularServo(Servo1, min_pulse_width=minpw, max_pulse_width=maxpw, initial_angle=0, min_angle=0, max_angle=180) servo1.angle = int(slider1_value) time.sleep(.25)
def slider_change2(slider2_value): text2.value = slider2_value servo2 = AngularServo(Servo2, min_pulse_width=minpw, max_pulse_width=maxpw, initial_angle=0, min_angle=0, max_angle=180) servo2.angle = int(slider2_value) time.sleep(.25)
def main(): from gpiozero import MCP3002, AngularServo from time import sleep pot1 = MCP3002(1, max_voltage=5, clock_pin=11, mosi_pin=10, miso_pin=9, select_pin=8) pot2 = MCP3002(1, max_voltage=5, clock_pin=15, mosi_pin=14, miso_pin=13, select_pin=12) servo1 = AngularServo(17, min_angle=0, max_angle=159) servo1.angle = 0 servo2 = AngularServo(18, min_angle=-60, max_angle=240) servo2.angle = -60 while True: print(f"pot1: value = {pot1.value:0.2f}\tvoltage = {pot1.voltage:0.2f}\traw value = {pot1.raw_value:0.2f}") servo1.angle = 159 * pot1.value print(f"pot2: value = {pot2.value:0.2f}\tvoltage = {pot2.voltage:0.2f}\traw value = {pot2.raw_value:0.2f}") servo2.angle = -60 + 300 * pot2.value sleep(0.1)
def slidervalchange2(slider_val): textbox.value = slider_val print(slider_val) servo2 = AngularServo(20, min_pulse_width=minPW, max_pulse_width=maxPW, initial_angle=0, min_angle=-90, max_angle=90) servo2.angle = int(slider_val) time.sleep(0.4)
def main(): from time import sleep from gpiozero import AngularServo, Button servo1 = AngularServo(17, min_angle=-90, max_angle=90) button1 = Button(12) button1.when_activated = change_location while True: servo1.angle = set_angle(current_location) sleep(0.1)
def main(): from time import sleep from gpiozero import AngularServo, Button servo1 = AngularServo(17, min_angle=-90, max_angle=90) button_upper = Button(12) change_location() button_upper.when_activated = change_location while True: servo1.angle = get_servo_angle(location) sleep(0.1)
while True: # get track info for the first time if nr_iterations == 0: print('get track info for the first time') track.get_track() track.get_song_id() track.get_bpm() print('bpm is ') print(track.bpm) nr_iterations += 1 # check if 5 seconds have elapsed if time.time() - time_last_update > 5: # update bpm track.get_track() track.get_song_id() track.get_bpm() print('updated bpm to ') print(track.bpm) # reset time last update time_last_update = time.time() print('reset time last update') # rotate servo on the beat of the music servo.angle = -20 sleep(60 / track.bpm) servo.angle = 20 sleep(60 / track.bpm)
def worker(conn, increasepos, increaseinc): pid = os.getpid() conn.send(pid) global deltaAngle global HdeltaAngle global VglobalAngle global HglobalAngle global minangle global s global s2 # move vertical angle by this much deltaAngle = -int(increaseinc) # move vertical angle by this much HdeltaAngle = int(increasepos) while True: # recv the command fromt the conctroller command = conn.recv() if command == 'Start': print('\ndeltaAngle =' + str(deltaAngle)) print('HdeltaAngle = ' + str(HdeltaAngle)) try: f = open("Position.txt", 'r+') coord = f.read().split(",") f.close() s = AngularServo(17, initial_angle=int(coord[1]), min_angle=-60, max_angle=60) sleep(2) s2 = AngularServo(21, initial_angle=int(coord[0]), min_angle=-60, max_angle=60) sleep(2) except FileNotFoundError: print("File not found. Setting angles to 0 in 5 seconds...") sleep(5) s = AngularServo(17, min_angle=-60, max_angle=60) sleep(2) s2 = AngularServo(21, min_angle=-60, max_angle=60) sleep(2) write_to(0,0) sleep(2) print("ANTENNA INITIALIZED") print("Waiting 5 seconds before continuing...") sleep(5) while s.angle != 10: s.angle += 10 sleep(2) write_to(HglobalAngle, VglobalAngle) while s2.angle != -60: s2.angle -= 10 sleep(2) write_to(HglobalAngle, VglobalAngle) # sends controller that it has finished moving conn.send([HglobalAngle,VglobalAngle])# checks to see if the next command is to move write_to(HglobalAngle, VglobalAngle) elif command == 'Next': sleep(1) # if the angle is greater than 50 it'll set the angle to 50 instead of going over if VglobalAngle == -20: if HglobalAngle + HdeltaAngle >= 60: if VglobalAngle == -20 and HglobalAngle == 60: conn.send("done") while True: if conn.recv() == 'movetostrongest': conn.send('ready') strongest = conn.recv() print("moving to strongest signal at: " + str(strongest[0]) +" " + str(strongest[1])) sleep(3) moveto(strongest[0], strongest[1]) write_to(strongest[0], strongest[1]) sleep(3) break conn.send("Done") HglobalAngle = 60 s2.angle = 60 sleep(2) VglobalAngle = minangle moveto(HglobalAngle, VglobalAngle) sleep(2) conn.send([HglobalAngle, VglobalAngle]) write_to(HglobalAngle, VglobalAngle) sleep(1) else: moveHorizontalServo() # increases the HglobalAngle VglobalAngle = minangle moveto(HglobalAngle,VglobalAngle) sleep(2) conn.send([HglobalAngle, VglobalAngle]) write_to(HglobalAngle, VglobalAngle) sleep(1) if VglobalAngle + deltaAngle <= -20: VglobalAngle = -20 s.angle = -20 sleep(2) # for right now they are set to 1 conn.send([HglobalAngle, VglobalAngle]) write_to(HglobalAngle, VglobalAngle) sleep(1) # increments the vertical servo if it won't go over 50 else: incrementVerticalServo() sleep(3) conn.send([HglobalAngle, VglobalAngle]) write_to(HglobalAngle, VglobalAngle) sleep(3) elif command == 'moveto': print("Moving Antenna vertical angle to:", str(increaseinc)) print("Moving Antenna horizontal angle to:", str(increasepos)) try: f = open("Position.txt", 'r+') coord = f.read().split(",") f.close() s = AngularServo(17, initial_angle=int(coord[1]), min_angle=-60, max_angle=60) sleep(2) s2 = AngularServo(21, initial_angle=int(coord[0]), min_angle=-60, max_angle=60) sleep(2) except FileNotFoundError: print("File not found. Setting angles to 0 in 5 seconds...") sleep(5) s = AngularServo(17, min_angle=-60, max_angle=60) sleep(2) s2 = AngularServo(21, min_angle=-60, max_angle=60) sleep(2) write_to(0,0) sleep(2) moveto(increasepos, increaseinc) write_to(increasepos, increaseinc) sleep(3) s.close() sleep(3) s2.close() conn.send("close") exit(0)
# VARIABLES GLOBALES velocidad = 0.00 # Ciclo de trabajo para el motor (entre 0 y 1) angulo = -13 # Angulo para el servo # INICIALIZACIONES # Motor motor = Motor(20,21) motor.stop() # Servo servo = AngularServo(14, min_angle=-40, max_angle=40) servo.angle = angulo # Sensor sensor = DistanceSensor(echo=18 , trigger=15 ) # Luces frontalDer = PWMLED(2) frontalIzq = PWMLED(3) frontalGiroIzq = LED(17) frontalGiroDer = LED(4) traseraDer = LED(26) traseraIzq = LED(16) traseraGiroIzq = LED(13) traseraGiroDer = LED(19) # Conexion TCP_IP
from gpiozero import AngularServo from time import sleep import Adafruit_DHT servo_pin = 4 #pin of servo dht_pin = 16 #pin of dht sensor delay = 5 # second,must more than 2. servo = AngularServo(servo_pin, min_angle=-90, max_angle=90) servo.angle = 0 while True: humi, temp = Adafruit_DHT.read_retry(Adafruit_DHT.DHT11,dht_pin) print("humi = %f ,temp = %f"%(humi,temp)) if humi > 80: servo.angle = 90 print("servo 90") elif humi < 75: servo angle = 0 print("servo 0") else : print("servo err") sleep(delay)
from gpiozero import AngularServo, LED from time import sleep led = LED(2) servo = AngularServo(21, min_angle=-45, max_angle=45) led.on() servo.angle = -45 sleep(10) for i in range(91): servo.angle += 1 sleep(1) led.off()
from gpiozero import AngularServo from gpiozero import LED from time import sleep #setting up servo and fan. servo = AngularServo(4, min_angle=-90, max_angle=90) fan = LED(17) theDangle = -90 while True: theDangle = -90 servo.angle = theDangle sleep(0.5) #This for loop is used to slow down the servo, previously it threw the bubble mix all over the place. for i in range(19): servo.angle = theDangle print(theDangle) theDangle += 10 sleep(0.1) #starting the fan fan.on() #giving the fan time to blow some bubbles. sleep(2) #shuting the fan off. fan.off() #giving the fan some time to spin down. sleep(2)
def servo_control2(s2_value): angle = float(s2_value) s2 = AngularServo(27, min_pulse_width=minPulseW, max_pulse_width=maxPulseW) s2.angle = angle sleep(0.5)
#!/usr/bin/python3 from gpiozero import AngularServo from time import sleep from sys import argv pinservo=22 # bcm pin servo // pin servo bcm #goes to a angle between 0 and 180, the angle is the parameter of the program // va a un angulo pasado como parametro al programa #you can change the angles // puede cambiar los angulos #the pulses must be changed for the pulses you need to get min an max angle in your servo // se deben cambiar los pulsos para su servomotor dependiendo cuales sean los pulsos de apertura maxima y minima del servo servo = AngularServo(pinservo,min_angle=0, max_angle=180, min_pulse_width=1/2500, max_pulse_width=5/2200) #go to angle, and wait 1 second for complete the order of change angle // va a el angulo y espera 1 segundo para que se complete la orden de cambio de angulo servo.angle = float(argv[1]) sleep(1) #important, wait time is neccesary for doing the order, minimun time is the time of the pulse and the time to change angle // importante, el tiempo de espera es necesario, minimo el tiempo del pulso y el tiempo de recorrido
from gpiozero import AngularServo from time import sleep servo = AngularServo(18, min_pulse_width=0.0006, max_pulse_width=0.0023) servo.angle = 0 #while (True): # servo.angle = 90 # sleep(2) # servo.angle = 0 #sleep(2) #servo.angle = -90 #sleep(2)
from gpiozero import AngularServo from time import sleep min_num = 0.45 max_num = 2.15 left_right_servo = AngularServo(17, min_angle=-90, max_angle=90, min_pulse_width=min_num / 1000, max_pulse_width=max_num / 1000) while True: # s.angle = angle setting = input("Enter an angle: ") left_right_servo.angle = int(setting) #if setting == 'max': # s.max() #if setting == 'mid': # s.mid() #if setting == 'min': # s.min()
import gpiozero from gpiozero.pins.pigpio import PiGPIOFactory gpiozero.Device.pin_factory = PiGPIOFactory() from gpiozero import AngularServo from time import sleep print(gpiozero.Device.pin_factory) pan = AngularServo(17, min_angle=-45, max_angle=45) tilt = AngularServo(27, min_angle=-45, max_angle=45) #while True: print('start') pan.angle = 0.0 tilt.angle = 0.0 sleep(5) pan.angle = 40 tilt.angle = 40 sleep(5) pan.detach() tilt.detach()
def servo_control1(s1_value): angle = float(s1_value) s1 = AngularServo(17, min_pulse_width=minPulseW, max_pulse_width=maxPulseW) s1.angle = angle sleep(0.5)