def get_accel_mag(): theDict = {} i2c = busio.I2C(board.SCL, board.SDA) theDict["magnetic"] = adafruit_lsm303dlh_mag.LSM303DLH_Mag(i2c).magnetic theDict["acceleration"] = adafruit_lsm303_accel.LSM303_Accel( i2c).acceleration return theDict
def open(self): i2c_busio = busio.I2C(board.SCL, board.SDA) self.sensor_mag = adafruit_lsm303dlh_mag.LSM303DLH_Mag(i2c_busio) self.sensor_accel = adafruit_lsm303_accel.LSM303_Accel(i2c_busio) i2c_luma = luma_i2c(port=1, address=0x3c) self.lcd = sh1106(i2c_luma, width=128, height=64) self.font = ImageFont.truetype("FreeSans.ttf", 16) print("Opened interface")
def init_magnetometer_accelerometer(configuration: Configuration): """Initialize the sensor for magnetic and acceleration""" assignments = configuration.get_pin_assignments("lsm303") if not assignments: return None, None i2c = busio.I2C(assignments.get("scl"), assignments.get("sda")) mag = adafruit_lsm303dlh_mag.LSM303DLH_Mag(i2c) accel = adafruit_lsm303_accel.LSM303_Accel(i2c) return mag, accel
def __init__(self,path): self.i2c=busio.I2C(board.SCL,board.SDA) self.accel=adafruit_lsm303_accel.LSM303_Accel(self.i2c) self.mag=adafruit_lsm303dlh_mag.LSM303DLH_Mag(self.i2c) # Creation d'une base de donnees self.conn=sqlite3.connect(path + 'Compas_' + str(time.time()) + '.db') self.c=self.conn.cursor() #c.execute("DROP TABLE CARBOT") self.c.execute('''CREATE TABLE Compas (time REAL, acc_x REAL, acc_y REAL,acc_z REAL,mag_x REAL,mag_y REAL,mag_z REAL);''')
def init_magnetometer_accelerometer(configuration: Configuration): """Initialize the sensor for magnetic and acceleration""" try: logging.info("Initializing magnetometer/accelerometer") assignments = configuration.get_pin_assignments("lsm303") if not assignments: return None, None i2c = busio.I2C(assignments.get("scl"), assignments.get("sda")) mag = adafruit_lsm303dlh_mag.LSM303DLH_Mag(i2c) accel = adafruit_lsm303_accel.LSM303_Accel(i2c) return mag, accel except Exception as ex: # pylint: disable=broad-except mag = DummyMag() accel = DummyAccel() logging.exception(ex) return mag, accel
# SPDX-FileCopyrightText: 2019 Bryan Siepert for Adafruit Industries # # SPDX-License-Identifier: MIT from time import sleep import board import busio import adafruit_lsm303_accel import adafruit_lis2mdl i2c = busio.I2C(board.SCL, board.SDA) mag = adafruit_lis2mdl.LIS2MDL(i2c) accel = adafruit_lsm303_accel.LSM303_Accel(i2c) while True: print("Acceleration (m/s^2): X=%0.3f Y=%0.3f Z=%0.3f"%accel.acceleration) print("Magnetometer (micro-Teslas)): X=%0.3f Y=%0.3f Z=%0.3f"%mag.magnetic) print("") sleep(0.5)
import adafruit_bme280 from PIL import Image, ImageDraw, ImageFont import os, sys, struct, array from fcntl import ioctl import RPi.GPIO as GPIO #I2C address for the PWM driver board retrieved automatically i2c_pwm = board.I2C() pwm = adafruit_pca9685.PCA9685(i2c_pwm) pwm.frequency = 1600 i2c_lsm = board.I2C() mag_sensor = adafruit_lsm303dlh_mag.LSM303DLH_Mag(i2c_lsm) accel_sensor = adafruit_lsm303_accel.LSM303_Accel(i2c_lsm) #gyro_sensor = adafruit_l3gd20.L3GD20_I2C(i2c_lsm,rng=1,address=0x6B) #I2C address for the OLED screen is 0x3c i2c_oled = board.I2C() oled = adafruit_ssd1306.SSD1306_I2C(128,64, i2c_oled,addr=0x3c,reset=[]) #I2C address for the temp, humidity and pressure sensor is 0x76 i2c_bme = board.I2C() bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c_bme,0x76) def sensor_read(arg1): while True: global yy global xx
def __init__(self): i2c = busio.I2C(24, 23) self._sensor_accel = adafruit_lsm303_accel.LSM303_Accel(i2c=i2c, address=0x18) self._sensor_mag = adafruit_lsm303dlh_mag.LSM303DLH_Mag(i2c=i2c)
def read(self): accel = adafruit_lsm303_accel.LSM303_Accel(self.i2c) return accel.acceleration
def __init__(self): i2c = busio.I2C(board.SCL, board.SDA) self.mag = adafruit_lsm303dlh_mag.LSM303DLH_Mag(i2c) self.accel = adafruit_lsm303_accel.LSM303_Accel(i2c)
def initializeHardware(display_diagnostics=False, ce_pin=board.D8, csn_pin=board.D17, button_pin=16, ch=76): if cfg.config['has_radio']: from circuitpython_nrf24l01 import RF24 import digitalio as dio global address, spi, nrf try: address = b'1Node' ce = dio.DigitalInOut(ce_pin) csn = dio.DigitalInOut(csn_pin) spi = board.SPI() # init spi bus object #Initialize the nRF24L01 on the spi bus object nrf = RF24(spi, csn, ce, ard=2000, arc=15, data_rate=1, auto_ack=True, channel=ch) if display_diagnostics: nrf.what_happened(True) else: printOK("Radio Initialized") except: printCRIT("Radio required to proceed. Exiting.") quit() else: printCRIT("Radio required to proceed. Exiting.") quit() if cfg.config['has_accel']: import adafruit_lsm303_accel import adafruit_lsm303dlh_mag import busio global mag, accel, i2c try: i2c = busio.I2C(board.SCL, board.SDA) mag = adafruit_lsm303dlh_mag.LSM303DLH_Mag(i2c) accel = adafruit_lsm303_accel.LSM303_Accel(i2c) calibrateAccel(cycles=25) printOK("Accel Initialized") except: printERR("Accel Error, Check Connections") else: printBYP("No Accel Installed... Bypassing") if cfg.config['has_GPS']: import serial import adafruit_gps global gps try: uart = serial.Serial("/dev/ttyS0", baudrate=9600, timeout=10) gps = adafruit_gps.GPS(uart, debug=False) gps.send_command(b'PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0') gps.send_command(b'PMTK220,200') if display_diagnostics: gps.update() getGPSLock() else: printOK("GPS Initialized") except: printERROR("GPS Error, Check Connections") else: printBYP("No GPS Installed... Bypassing") if cfg.config['has_button']: GPIO.setmode(GPIO.BCM) GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) if display_diagnostics: print(interupt()) else: printOK("Button Initialized") else: printBYP("No Button Installed... Bypassing") printOK("System Ready") print("=" * 40)