def readGyroAngles(): # Read the gyroscope imu=IMU() # Default IC2 port 1 imu.gyro_range("245DPS") imu.read_gyro() angles = qM.getEuler() return Angles
def sensor_reader (): jaylen_data = IMU() jaylen_data.initialize() #enable sensors here jaylen_data.enable_accel() jaylen_data.enable_gyro() #declaring the range of the accelerometer jaylen_data.accel_range("8G") jaylen_data.read_accel() jaylen_data.read_gyro() ax = jaylen_data.ax ay = jaylen_data.ay az = jaylen_data.az gx = jaylen_data.gx gy = jaylen_data.gy gz = jaylen_data.gz return ax, ay, az
# accel_x.pop(0) # accel_x.append(imu.ax-accel_offset.ax) # accel_time.pop(0) # accel_time.append(current_time) velocity = 0 gyro_data = open('gyro_data.txt', 'w') time_data = open('time_data.txt', 'w') start_time = time.time() end_time = start_time + 60 while (time.time() < end_time): #imu.read_accel() current_time = time.time() #imu.read_mag() imu.read_gyro() #imu.readTemp() #accel_x.pop(0) #accel_x.append(imu.ax-accel_offset.ax) #accel_time.pop(0) #accel_time.append(current_time) gyro_data.write(str(imu.gz) + "\n") time_data.write(str(current_time-start_time) + "\n") #velocity = np.trapz([accel_x[0], accel_x[2]], x=[0, accel_time[2]-accel_time[0]]) #print "Acceleration before offset x: " + str(imu.ax) #print "Acceleration x: " + str(imu.ax-accel_offset.ax) #print "time: " + str(accel_time[2]) #print "Velocity: " + str(velocity)
# this is for non-blocking input old_settings = termios.tcgetattr(sys.stdin) try: tty.setcbreak(sys.stdin.fileno()) imu.read_mag() mag = (imu.mx, imu.my, imu.mz) calibrate(mag) print fuse.magbias while (1): imu.read_accel() imu.read_mag() imu.read_gyro() imu.readTemp() #gather the accel results for the fusion algorithm accel = (float(imu.ax), float(imu.ay), float(imu.az)) gyro = (float(imu.gx), float(imu.gy), float(imu.gz)) mag = (float(imu.mx), float(imu.my), float(imu.mz)) # Print the results print "Accel: " + str(imu.ax) + ", " + str(imu.ay) + ", " + str(imu.az) print "Mag: " + str(imu.mx) + ", " + str(imu.my) + ", " + str(imu.mz) print "Gyro: " + str(imu.gx) + ", " + str(imu.gy) + ", " + str(imu.gz) print "Temperature: " + str(imu.temp) outFile_accel.write( "{:7.3f},{:7.3f},{:7.3f},{:7.3f}, {:7.3f}, {:7.3f}\n".format( imu.ax, imu.ay, imu.az, imu.gx, imu.gy, imu.gz))