mpu6050
//安装库MPU6050_tockn@1.5.2
//接线 供电3.3V scl--引脚22 sda----引脚21
#include <MPU6050_tockn.h>
#include <Wire.h>MPU6050 mpu6050(Wire);void setup() {Serial.begin(115200);Wire.begin();mpu6050.begin();mpu6050.calcGyroOffsets(true);delay(10000);
}void loop() {mpu6050.update();Serial.print("angleX : ");Serial.print(mpu6050.getAngleX());Serial.print("\tangleY : ");Serial.print(mpu6050.getAngleY());Serial.print("\tangleZ : ");Serial.println(mpu6050.getAngleZ());
}
OLED
//安装 Adafruit_SSD1306库
//接线 供电3.3V scl--引脚22 sda----引脚21
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);void setup() {Serial.begin(115200);// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internallyif(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {Serial.println(F("SSD1306 allocation failed"));for(;;); // Don't proceed, loop forever}// Show initial display buffer contents on the screen --// the library initializes this with an Adafruit splash screen.display.display(); //显示的是Adafruit logodelay(2000); // Pause for 2 secondsdisplay.clearDisplay();display.setTextSize(1); // Normal 1:1 pixel scaledisplay.setTextColor(SSD1306_WHITE); // Draw white textdisplay.setCursor(0,0); // Start at top-left cornerdisplay.println(F("Hello, world!"));display.setTextColor(SSD1306_BLACK, SSD1306_WHITE); // Draw 'inverse' textdisplay.println(3.141592);display.setTextSize(2); // Draw 2X-scale textdisplay.setTextColor(SSD1306_WHITE);display.print(F("0x")); display.println(0xDEADBEEF, HEX);display.display();delay(2000);
}void loop() {
}
OLED and mpu6050
接线 供电3.3V oled和mpu6050的scl都接引脚22 oled和mpu6050的sda都接引脚21 电源、scl、sda全都是并联关系
#include <MPU6050_tockn.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);MPU6050 mpu6050(Wire);void setup() {Serial.begin(115200);Wire.begin();mpu6050.begin();mpu6050.calcGyroOffsets(true);if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {Serial.println(F("SSD1306 allocation failed"));for(;;); // Don't proceed, loop forever}// Show initial display buffer contents on the screen --// the library initializes this with an Adafruit splash screen.display.display(); //显示的是Adafruit logodelay(10000);
}void loop() {mpu6050.update();Serial.print("angleX : ");Serial.print(mpu6050.getAngleX());Serial.print("\tangleY : ");Serial.print(mpu6050.getAngleY());Serial.print("\tangleZ : ");Serial.println(mpu6050.getAngleZ());display.clearDisplay();display.setTextSize(1); // Normal 1:1 pixel scaledisplay.setTextColor(SSD1306_WHITE); // Draw white textdisplay.setCursor(0,0); // Start at top-left cornerdisplay.print(F("angleX : "));display.println(mpu6050.getAngleX());display.print(F("tangleY : "));display.println(mpu6050.getAngleY());display.display();
}