Movement shield

Shield je určen pro sledování veličin zrychlení (akcelerometr), rotace (gyroskop) a magnetické indukce (magnetometr). Ze získaných dat je tedy možné získat celou řadu informací - například informaci o náklonu, vibracích, pohybu. Základní detekčním obvodem je MPU-9250.

Hardware

Zapojení X konektoru

X01

X03

X05

X07

X09

X11

X13

X15

USR

VBUS

SDA

X00

X02

X04

X06

X08

X10

X12

X14

3V3

GND

SCL

3.3 V

GND

  • SCL a SDA - komnikace po sběrnice I2C s MPU-9250

  • 3V - detekce napětí 3,3 V

Konfigurace a zapojení

Není potřeba žádná dodatečná konfigurace.

Schéma

Software

#include "byzance.h"
#include "MPU9150.h"

#define BYZANCE_OVER_USB 0

#if BYZANCE_OVER_USB
	USBSerial	usb(0x1f00, 0x2012, 0x0001, false);
#else
	Serial		pc(SERIAL_TX, SERIAL_RX); // tx, rx
#endif

uint32_t tmp32 = 0;

/*
 * Prototyp, který bude vybírat, kam se konzole vypisuje
 */
void to_computer(const char* format, ...);

void init(){

	#if !BYZANCE_OVER_USB
		pc.baud(115200);
	#endif

}

void loop(){
	MPU9150 mpu9150(X07,X06);
	mpu9150.set_Ascale(AFS_2G);
	mpu9150.set_Gscale(GFS_250DPS);
	while(1){
		mpu9150.update_motion();  // Read the x/y/z adc values
		to_computer("mpu9150: ax = %f ay = %f az = %f gx = %f gy = %f gz = %f\n",mpu9150.ax,mpu9150.ay,mpu9150.az,mpu9150.gx,mpu9150.gy,mpu9150.gz);
		Thread::wait(1000);
	}
}

void to_computer(const char* format, ...){

	char buffer[256];

	va_list arg;
	va_start (arg, format);
	vsnprintf(buffer, 256, format, arg);
	va_end (arg);

	#if BYZANCE_OVER_USB
		usb.printf(buffer);
	#else
		printf(buffer);
	#endif

}

Last updated