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)
Example #4
0
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()
Example #6
0
 def test_start_shaker(self):
     myshaker = shaker.Shaker()
     myshaker.quit()
     self.assertTrue(True)
Example #7
0
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)