4_Arduino-ESP32_超声波传感器,MPU6050,SHTC3

2,812 阅读1分钟

1_超声波传感器


1.1_SR04+OLED-I2C-0.96(SSD1306)

安装库
Adafruit-GFX-Library
Adafruit_SSD1306

SCL=22
SDA=21

#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

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// defines pins numbers
const int trigPin = 2;
const int echoPin = 5;

// defines variables
long duration;
int distance;

void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C (128x64)
  display.clearDisplay();
  
}

void loop() {
// Clears the trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(echoPin, HIGH);

// Calculating the distance
distance= duration*0.034/2;

  display.clearDisplay();
  
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(40, 30);
  // Display static text
  display.print(distance);
  display.println("CM");
  display.display();
  
  delay(500);
  display.clearDisplay();
}

2_MPU6050


安装库
MPU6050_tockn

VCC = 5V
SCL = 22
SDA = 21

#include <MPU6050_tockn.h>
#include <Wire.h>

MPU6050 mpu6050(Wire);

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu6050.begin();
  mpu6050.calcGyroOffsets(true);
}

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());
}

3_SHTC3


SCL=22
SDA=21

下载并放到指定位置

https://github.com/ludiazv/arduino-SHTC3

#include <Arduino.h>
#include "SHTC3.h"

SHTC3 s(Wire);

void setup() {
  Serial.begin(9600);
  Wire.begin();
}

void loop() {
    s.begin(true);
    s.sample();
    Serial.print(F("[SHTC3] T:"));
    Serial.print(s.readTempC());
    Serial.print(F(" Cº  /   H: "));
    Serial.print(s.readHumidity());
    Serial.println(F(" %"));
    delay(2000);
}