def __init__(self): # Define I2C: self._i2c = board.I2C() # Define touch: # Initially, self._touches stores the pin used for a particular touch. When that touch is # used for the first time, the pin is replaced with the corresponding TouchIn object. # This saves a little RAM over using a separate read-only pin tuple. # For example, after `clue.touch_2`, self._touches is equivalent to: # [board.D0, board.D1, touchio.TouchIn(board.D2)] self._touches = [board.D0, board.D1, board.D2] self._touch_threshold_adjustment = 0 # Define buttons: self._a = digitalio.DigitalInOut(board.BUTTON_A) self._a.switch_to_input(pull=digitalio.Pull.UP) self._b = digitalio.DigitalInOut(board.BUTTON_B) self._b.switch_to_input(pull=digitalio.Pull.UP) self._gamepad = gamepad.GamePad(self._a, self._b) # Define LEDs: self._white_leds = digitalio.DigitalInOut(board.WHITE_LEDS) self._white_leds.switch_to_output() self._pixel = neopixel.NeoPixel(board.NEOPIXEL, 1) self._red_led = digitalio.DigitalInOut(board.L) self._red_led.switch_to_output() # Define audio: self._mic = audiobusio.PDMIn( board.MICROPHONE_CLOCK, board.MICROPHONE_DATA, sample_rate=16000, bit_depth=16, ) self._sample = None self._samples = None self._sine_wave = None self._sine_wave_sample = None # Define sensors: # Accelerometer/gyroscope: self._accelerometer = adafruit_lsm6ds.LSM6DS33(self._i2c) # Magnetometer: self._magnetometer = adafruit_lis3mdl.LIS3MDL(self._i2c) # DGesture/proximity/color/light sensor: self._sensor = adafruit_apds9960.apds9960.APDS9960(self._i2c) # Humidity sensor: self._humidity = adafruit_sht31d.SHT31D(self._i2c) # Barometric pressure sensor: self._pressure = adafruit_bmp280.Adafruit_BMP280_I2C(self._i2c) # Create displayio object for passing. self.display = board.DISPLAY
def getRawData(self): i2c = I2C(3) imu = adafruit_lsm6ds.LSM6DS33(i2c) accel_array = np.array(imu.acceleration) angvel_array = np.array(imu.gyro) print("Acceleration: X:%.2f, Y: %.2f, Z: %.2f m/s^2" % (imu.acceleration)) #print("Gyro X:%.2f, Y: %.2f, Z: %.2f radians/s"%(imu.gyro)) return accel_array, angvel_array
def __init__(self): super().__init__() i2c = board.I2C() if i2c is not None: self._accelerometer = adafruit_lsm6ds.LSM6DS33(i2c) self._buttons = GamePad(digitalio.DigitalInOut(board.BUTTON_A), digitalio.DigitalInOut(board.BUTTON_B))
def detect_motion_lsm6ds(self): try: import board import busio import adafruit_lsm6ds self.sensor_lsm6ds = adafruit_lsm6ds.LSM6DS33( busio.I2C(board.SCL, board.SDA)) return True except: return False
def read(self): try: i2c = I2C(3) imu = adafruit_lsm6ds.LSM6DS33(i2c) accel_array = imu.acceleration angvel_array = imu.gyro except RuntimeError as error: accel_array = (None, None, None) angvel_array = (None, None, None) return accel_array, angvel_array
def detect_motion_lsm6ds(self): try: import board import busio import adafruit_lsm6ds self.sensor_lsm6ds = adafruit_lsm6ds.LSM6DS33( busio.I2C(board.SCL, board.SDA)) self.sensor_lsm6ds.accelerometer_range = adafruit_lsm6ds.AccelRange.RANGE_2G self.sensor_lsm6ds.accelerometer_data_rate = adafruit_lsm6ds.Rate.RATE_52_HZ return True except: return False
def __init__(self): super().__init__() i2c = board.I2C() if i2c is not None: self._accelerometer = adafruit_lsm6ds.LSM6DS33(i2c) # NeoPixels self._neopixels = neopixel.NeoPixel(board.NEOPIXEL, self._neopixel_count, brightness=1, pixel_order=neopixel.GRB) self._buttons = GamePad( digitalio.DigitalInOut(board.BUTTON_A), digitalio.DigitalInOut(board.BUTTON_B), )
def collect(i2c_bus): # collect imu data try: i2c = I2C(3) imu = adafruit_lsm6ds.LSM6DS33(i2c) accel_array = imu.acceleration angvel_array = imu.gyro except RuntimeError as error: accel_array = (None, None, None) angvel_array = (None, None, None) # collect dht data try: temperature = dht_device.temperature humidity = dht_device.humidity except RuntimeError as error: # Errors happen fairly often, DHT's are hard to read, just keep going temperature = None humidity = None print(error.args[0]) t1 = time.time() return accel_array, angvel_array, temperature, humidity, t1
# # SPDX-License-Identifier: MIT """This uses the Feather Sense as a Bluetooth LE sensor node.""" import time import adafruit_ble_broadcastnet import board import adafruit_lsm6ds # accelerometer import adafruit_sht31d # humidity sensor import adafruit_bmp280 # barometric sensor import adafruit_lis3mdl # magnetic sensor i2c = board.I2C() sense_accel = adafruit_lsm6ds.LSM6DS33(i2c) sense_humid = adafruit_sht31d.SHT31D(i2c) sense_barometric = adafruit_bmp280.Adafruit_BMP280_I2C(i2c) sense_magnet = adafruit_lis3mdl.LIS3MDL(i2c) print("This is BroadcastNet Feather Sense sensor:", adafruit_ble_broadcastnet.device_address) while True: measurement = adafruit_ble_broadcastnet.AdafruitSensorMeasurement() measurement.temperature = sense_barometric.temperature measurement.pressure = sense_barometric.pressure measurement.relative_humidity = sense_humid.relative_humidity measurement.acceleration = sense_accel.acceleration measurement.magnetic = sense_magnet.magnetic
import board import adafruit_bmp280 import adafruit_sht31d # import adafruit_apds9960.apds9960 import adafruit_lis3mdl import adafruit_lsm6ds import adafruit_ble_broadcastnet print("This is BroadcastNet sensor:", adafruit_ble_broadcastnet.device_address) i2c = board.I2C() # Define sensors: # Accelerometer/gyroscope: lsm6ds = adafruit_lsm6ds.LSM6DS33(i2c) # Magnetometer: lis3mdl = adafruit_lis3mdl.LIS3MDL(i2c) # DGesture/proximity/color/light sensor: # TODO: How do we get the light level? # apds9960 = adafruit_apds9960.apds9960.APDS9960(i2c) # apds9960.enable_color = True # Humidity sensor: sht31d = adafruit_sht31d.SHT31D(i2c) # Barometric pressure sensor: bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)
54, 51, 52, ], individual_pixels=True) pixel_map = [ pixel_map_reverse, pixel_map_around, pixel_map_radiate, pixel_map_sweep, pixel_map_skip, ] #Set up accelerometer & mic sensor = adafruit_lsm6ds.LSM6DS33(i2c) mic = audiobusio.PDMIn(board.MICROPHONE_CLOCK, board.MICROPHONE_DATA, sample_rate=16000, bit_depth=16) NUM_SAMPLES = 256 samples_bit = array.array('H', [0] * (NUM_SAMPLES + 3)) def power_on(duration): """ Animate NeoPixels for power on. """ start_time = time.monotonic() # Save start time while True:
import time import board import adafruit_lsm6ds from adafruit_ht16k33 import matrix import matrixsand DELAY = 0.00 # add some delay if you want # the accelo accelo = adafruit_lsm6ds.LSM6DS33(board.I2C()) # the matrix matrix1 = matrix.Matrix8x8(board.I2C(), 0x70) matrix2 = matrix.Matrix8x8(board.I2C(), 0x71) # the sand sand = matrixsand.MatrixSand(8, 16) # simple helper def update_matrix(): for x in range(8): for y in range(16): if y < 8: matrix1[x, y] = sand[x, y] else: matrix2[x, y-8] = sand[x, y] # add some initial sand for sx in range(4): for sy in range(4): sand[sx, sy] = 1