def __init__(self, start, end, rate, step_size=50): self.start = start self.end = end self.rate = rate now = datetime.datetime.now() self.log_direc = "/media/data/Data/Logs/{}_{}_{}_{}_{}/".format( now.year, now.month, now.day, now.hour, now.minute) try: os.mkdir(self.log_direc) except FileExistsError as e: print(e) self.i = 0 self.shaker = shaker.Shaker() self.shaker.change_duty(self.start) self.step_size = step_size cam_num = camera.guess_camera_number() port = STEPPER_CONTROL self.ard = arduino.Arduino(port) self.motors = stepper.Stepper(self.ard) self.motors.move_motor(1, 100, '+') self.motors.move_motor(2, 100, '+') self.motors.move_motor(1, 100, '-') self.motors.move_motor(2, 100, '-') self.cam = camera.Camera(cam_num=cam_num) im = self.cam.get_frame() self.hex, self.center, self.crop, self.mask = self.find_hexagon(im) im = images.crop_and_mask(im, self.crop, self.mask) self.im_shape = im.shape im = images.draw_polygon(im, self.hex) im = images.draw_circle(im, self.center[0], self.center[1], 3) images.display(im)
def __init__(self): self.cam = camera.Camera(0) self.shaker = shaker.Shaker() self.shaker.change_duty(600) self.crop, self.mask = self.get_crop() frame = self.get_frame() self.window = DisplayWindow(frame) self.x = [] self.y = [] self.contours = [] self.run()
def __init__(self): self.shaker = shaker.Shaker() self.shaker.change_duty(600) port = STEPPER_CONTROL self.ard = arduino.Arduino(port) self.motors = stepper.Stepper(self.ard) cam_num = camera.guess_camera_number() self.cam = camera.Camera(cam_num=cam_num) im = self.cam.get_frame() self.hex, self.center, self.crop, self.mask = self.find_hexagon(im) im = images.crop_and_mask(im, self.crop, self.mask) self.im_shape = im.shape im = images.draw_polygon(im, self.hex) im = images.draw_circle(im, self.center[0], self.center[1], 3) images.display(im)
import sys from labequipment import shaker duty = sys.argv[1] duty = int(duty) s = shaker.Shaker() s.init_duty(duty)
def initialise_devices(self): self.cam = camera.Camera(0) self.s = shaker.Shaker()
def test_start_shaker(self): myshaker = shaker.Shaker() myshaker.quit() self.assertTrue(True)
from labequipment import picoscope, shaker import time import numpy as np direc = "/media/data/Data/FirstOrder/Hysterisis/AccelerationHysterisis/repeat_data/" RATE = 0.1 START = 700 END = 600 INTERVAL = 1 / RATE REPEATS = 20 my_shaker = shaker.Shaker() my_scope = picoscope.Picoscope() for repeat in range(REPEATS): cool = np.arange(START, END - 1, -1) heat = np.arange(END, START + 1, 1) cool_V = [] for c in cool: t = time.time() my_shaker.change_duty(c) v_rms = [np.mean(my_scope.get_V()[1]**2) for r in range(10)] cool_V.append(np.mean(v_rms)) elapsed = time.time() - t time.sleep(INTERVAL - elapsed) np.savetxt(f'{direc}cool_V_{repeat}.txt', cool_V) heat_V = [] for h in heat: t = time.time() my_shaker.change_duty(h)