Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
 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")
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
    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);''')
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
# 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)
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
 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)
Ejemplo n.º 9
0
 def read(self):
     accel = adafruit_lsm303_accel.LSM303_Accel(self.i2c)
     return accel.acceleration
Ejemplo n.º 10
0
 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)
Ejemplo n.º 11
0
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)