def test_servo(): print("Testing servo") s = Servo() s.angle(0, 90) time.sleep(2) s.angle(0, 0) time.sleep(2) s.angle(0, 180) time.sleep(2) s.angle(0, 90) time.sleep(2) s.angle(0, 180) time.sleep(2)
next_update = time + datetime.timedelta(days=1) try: while True: time = datetime.datetime.utcnow() # The positions are returned in Earth-centric, Earth fixed coords. I need to convert those. ecef_location = locations.Location('station', *ecef_to_llh(predictor.get_only_position(time))) ### Convert ECEF to alt, az ### az, elev = me.get_azimuth_elev_deg(ecef_location) lcd.set_cursor(0,1) lcd.message("{:<8.2f}{:>8.2f}".format(az, elev)) # Move the actuators to the right angles elevation_actuator.angle = elev azimuth_actuator.to_angle(az, block=True) stop = time + datetime.timedelta(seconds=DELAY) while datetime.datetime.utcnow() < stop: sleep(0.1) if next_update < time: # Home the stepper lcd.clear() lcd.set_cursor(0,0) lcd.message("Re-homing\nstepper motor... ") azimuth_actuator.home(switch, home_angle) try: station_names, satlist = get_satlist() predictor, tracking = get_satellite(current_index, station_names, satlist)
from servo import Servo device = Servo() try: while True: device.angle = input("Digite um angulo destino ") device.set_angle() except KeyboardInterrupt: GPIO.cleanup()
print("Homing the stepper motor... ", end='') move.home(switch) print("Done!") servo_angle = 0 stepper_angle = 0 try: while True: stepper_angle += 45 servo_angle += 15 if servo_angle >= servo.max_angle: servo_angle = servo.min_angle print("Moving to {} deg".format(stepper_angle)) move.to_angle(stepper_angle, block=True) servo.angle = servo_angle time.sleep(DELAY) stepper_angle += 0 servo_angle += 15 if servo_angle >= servo.max_angle: servo_angle = servo.min_angle print("Moving to {} deg".format(stepper_angle)) move.to_angle(stepper_angle) servo.angle = servo_angle time.sleep(DELAY) except KeyboardInterrupt:
acc = [] gyro = [] while True: #start = utime.ticks_ms() accelerometer = sensor.accel gyrometer = sensor.gyro acc = umatrix.matrix([accelerometer.x, accelerometer.y, accelerometer.z], cstride=1, rstride=3, dtype=float) gyro = umatrix.matrix([gyrometer.x, gyrometer.y, gyrometer.z], cstride=1, rstride=3, dtype=float) #print("acceleration [X:%0.2f, Y:%0.2f, Z:%0.2f] gyro [X:%0.2f, Y:%0.2f, Z:%0.2f] \n" # %(accelerometer.x, accelerometer.y, accelerometer.z, gyrometer.x * math.pi/180, gyrometer.y * math.pi/180, gyrometer.z * math.pi/180)) #print("temperature [T:%0.2f]\n" %(sensor.temperature)) ahrs.update_imu(gyro * math.pi / 180.0, acc) (roll, pitch, yaw) = ahrs.quaternion.to_euler() print("roll: %0.2f, pitch: %0.2f yaw: %0.2f\n" % (roll, pitch, yaw)) servo0.angle(math.pi / 2 - pitch) servo1.angle(math.pi / 2 + yaw) #print("Elapsed: %d" % (utime.ticks_ms() - start))