MPU6050 NANO OLED
5V <------- VCC
VCC --------> 3.3V
GND --------> GND <------- GND
SCL --------> A5 <------- SCL
SDA --------> A4 <------- SDA
USB固定5V升压模块拆除USB端口以减小体积。负输入通过拨动开关接电池负极,正输入接电池正极及NANO的A0,输出接NANOD的5V端口。
程序如下:
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include "U8glib.h"
Adafruit_MPU6050 mpu;
U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);
void setup(void) {
Serial.begin(115200);
while (!Serial) {
delay(10); // will pause Zero, Leonardo, etc until serial console opens
}
// Try to initialize!
if (!mpu.begin()) {
Serial.println("Failed to find MPU6050 chip");
while (1) {
delay(10);
}
}
mpu.setAccelerometerRange(MPU6050_RANGE_16_G);
mpu.setGyroRange(MPU6050_RANGE_250_DEG);
mpu.setFilterBandwidth(MPU6050_BAND_21_HZ);
Serial.println("");
delay(100);
}
void loop(void) {
sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);
int val=analogRead(A0);
if(val<200) {
u8g.firstPage();
do {
u8g.setFont(u8g_font_osb21);
u8g.setPrintPos(40, 32);
u8g.print("LOW");
} while( u8g.nextPage() );
}
else {
u8g.firstPage();
do {
u8g.setFont(u8g_font_osb26n);
u8g.setPrintPos(40, 32);
u8g.print(a.acceleration.y);
} while( u8g.nextPage() );
}
Serial.println(a.acceleration.y);
delay(1000);
} |