def __init__(self, polling_rate=10, decimals=3, sensor_type="ICM20948"): # user parameters self.run_time = input("Enter the desired runtime in minutes: ") if self.run_time == "": self.run_time = -1 self.run_time = float(self.run_time) filename_add = input( "Enter anything you would like to add to the filename: ") # pollingRate in Hz, max 25 self.polling_rate = polling_rate # number of decimals in sensor reading self.decimals = decimals # set up sensor, start counter, convert pollingRate to cycleTime print("Setting up, please wait") i2c_bus = busio.I2C(board.SCL, board.SDA) self.sensor = adafruit_icm20x.ICM20948(i2c_bus) self.time_counter = 0 # establish event scheduler self.scheduler = sched.scheduler(time.time, time.sleep) # create file with format "MLX90393 DD-MM-YY H:M:S" time_str = time.strftime("%d-%m-%Y %H:%M:%S") self.filename = sensor_type + " " + time_str + " " + filename_add + ".csv" f = open(self.filename, "a") f.write("Polling rate " + str(polling_rate) + " Hz test run on sensor ") f.write(sensor_type + " at " + time_str + "\n") f.write("Seconds,X (uT),Y (uT),Z (uT)\n") f.close()
def __init__(self): self.i2c = busio.I2C(board.SCL, board.SDA) self.station_id = "Amsterdam" self.cpu = CPUTemperature() self.sht = adafruit_shtc3.SHTC3(self.i2c) self.lps = adafruit_lps2x.LPS22(self.i2c, 0x5c) self.tcs = adafruit_tcs34725.TCS34725(self.i2c) self.tcs.integration_time = 200 self.icm = adafruit_icm20x.ICM20948(self.i2c, 0x68) self.ads = ADS.ADS1015(self.i2c)
import time import board import busio import adafruit_icm20x i2c = busio.I2C(board.SCL, board.SDA) icm = adafruit_icm20x.ICM20948(i2c) while True: print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (icm.acceleration)) print("Gyro X:%.2f, Y: %.2f, Z: %.2f rads/s" % (icm.gyro)) print("Magnetometer X:%.2f, Y: %.2f, Z: %.2f uT" % (icm.magnetic)) print("") time.sleep(0.5)