本帖最后由 林与安年 于 2024-4-17 10:52 编辑  
 
开篇 
非常荣幸获得了此次esp32-c6的开发板测试机会,自己也秉持着物尽其用的功能,想要好好用开发板做一些有趣的东西。 
ESP32-C6是一款功能强大的低功耗微控制器,适用于各种物联网(IoT)应用。 
 
1. **双核处理器**: 
   - ESP32-C6搭载了一个高性能的RISC-V 32位处理器和一个低功耗的RISC-V 32位处理器,两者可以协同工作,以实现高性能处理和低功耗运行。 
2. **Wi-Fi和蓝牙功能**: 
   - 支持2.4 GHz Wi-Fi 6 (802.11ax)和Bluetooth 5 (LE),适用于需要无线数据传输的项目。 
3. **丰富的外设接口**: 
   - 提供多个GPIO引脚,可用于连接各种传感器和外部设备。 
   - 集成了UART、SPI、I2C等接口,方便与外部设备通信。 
4. **内置传感器**: 
   - 内置12位SAR ADC,可用于模拟信号的采集。 
   - 集成温度传感器,可直接用于温度监测。 
5. **低功耗管理**: 
   - 支持多种低功耗模式,包括Active、Modem-sleep、Light-sleep和Deep-sleep模式,有助于延长电池寿命。 
6. **安全特性**: 
   - 提供安全启动、Flash加密、数字签名等安全机制,确保数据安全。 
7. **丰富的软件支持**: 
   - 乐鑫提供了ESP-IDF开发框架,以及大量的示例代码和文档,便于开发者快速上手。 
 
我申请的是Beetle ESP32 C6迷你开发板。上面的这些功能对我来开发出一个既能够准确记录步数和温度,又能够无线传输数据的智能控制板十分有帮助。 
 
开发思路 
- 使用内置的温度传感器直接测量温度。 
- 通过GPIO引脚连接MPU6050传感器来检测步数。可以使用外部中断功能来检测每一步的振动或运动。 
- 利用Wi-Fi或蓝牙功能将步数和温度数据发送到智能手机或其他设备上。 
- 使用低功耗模式来延长设备的电池使用时间。 
- 通过安全特性保护记录的步数和温度数据不被未授权访问。 
 
硬件介绍 
1.esp32-c6 
2.MPU6050 
3.3.7V电池 
4.0.96寸OLED显示屏 
 
软件开发平台 
Arduino IDE 
 
开发流程 
1.环境配置:因为开发板为最新型号,所以需要在Github里面下载3.0.0版本esp才支持C6系列: 
  
在文件—首选项里面输入开发板地址:https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/package_esp32_dev_index.json 
在板里面就可以开到3.0.0版本的esp32了。注:如果下载缓慢,可以使用群里老师发的国内镜像网站,速度很快(亲测):https://djzrs.github.io/picx-images-hosting/package_esp32_dev_index.json 
2.下载好后就根据原理图确定选用开发板的引脚进行代码编写:由esp c6引脚图可知连接方向 
  
引脚连接方式: 
esp32 c6——MPU6050 
3V3        ——VCC 
GND      ——GND 
19          ——SDA 
20          ——SCL 
 
esp32 c6——OLED显示屏 
3V3        ——VCC 
GND      ——GND 
19          ——SDA 
20          ——SCL 
 
 
代码: 
			
			
			- #include <Wire.h>
 - #include <Adafruit_GFX.h>
 - #include <Adafruit_SSD1306.h>
 - #include <Adafruit_MPU6050.h>
 - #include <Adafruit_Sensor.h>
 - 
 - Adafruit_MPU6050 mpu;
 - #define SCREEN_WIDTH 128 // OLED屏幕宽度
 - #define SCREEN_HEIGHT 64 // OLED屏幕高度
 - #define OLED_RESET 4
 - Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
 - 
 - // 定义加速度变化的阈值
 - const float ACCELERATION_THRESHOLD = 10.0;
 - // 定义步数变量
 - int stepCount = 0;
 - 
 - void setup() {
 -   // 初始化I2C通信
 -   Wire.begin(/*SDA=*/19, /*SCL=*/20);
 -   Serial.begin(115200);
 -   // 初始化MPU6050传感器
 -   if (!mpu.begin()) {
 -     Serial.println("Sensor init failed");
 -     while (1) {
 -       delay(10); // 保持在失败状态,防止程序继续执行
 -     }
 -   }
 -   Serial.println("Found a MPU-6050 sensor");
 -   // 初始化OLED显示屏
 -   display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
 -   // 清除屏幕内容
 -   display.clearDisplay();
 -   delay(500); // 等待半秒
 -   display.setTextSize(1);
 -   display.setTextColor(WHITE);
 -   display.setRotation(0);
 -   display.display();
 - }
 - 
 - void loop() {
 -   sensors_event_t a, g, temp;
 -   mpu.getEvent(&a, &g, &temp);
 - 
 -   // 检测步数
 -   if (abs(a.acceleration.x) > ACCELERATION_THRESHOLD || abs(a.acceleration.y) > ACCELERATION_THRESHOLD) {
 -     stepCount++; // 步数增加
 -   }
 - 
 -   display.clearDisplay();
 -   display.setCursor(0, 0);
 - 
 -   // 显示加速度数据
 -   display.print("Accel: ");
 -   display.print(a.acceleration.x, 2); // 显示加速度X值,保留两位小数
 -   display.print(", ");
 -   display.print(a.acceleration.y, 2); // 显示加速度Y值,保留两位小数
 -   display.print(", ");
 -   display.print(a.acceleration.z, 2); // 显示加速度Z值,保留两位小数
 -   display.println();
 - 
 -   // 显示陀螺仪数据
 -   display.setCursor(0, 20);
 -   display.print("Gyro: ");
 -   display.print(g.gyro.x, 2); // 显示陀螺仪X值,保留两位小数
 -   display.print(", ");
 -   display.print(g.gyro.y, 2); // 显示陀螺仪Y值,保留两位小数
 -   display.print(", ");
 -   display.print(g.gyro.z, 2); // 显示陀螺仪Z值,保留两位小数
 -   display.println();
 - 
 -   // 显示温度数据
 -   display.setCursor(0, 40);
 -   display.print("Temp: ");
 -   display.print(temp.temperature, 1); // 显示温度值,保留一位小数
 -   display.println("C");
 - 
 -   // 显示步数
 -   display.setCursor(0, 55);
 -   display.print("Steps: ");
 -   display.println(stepCount);
 - 
 -   display.display();
 -   delay(100); // 等待100毫秒再次更新数据
 - }
 
  复制代码
  
 
 
 
3.上传测试 
  
 
测试情况良好,可以实现数据显示 
 
4总结与展望 
Beetle ESP32 C6迷你开发板本身尺寸十分精巧,同时具备低功耗与WiFi与蓝牙功能,制作一个可穿戴设备十分合适,可惜本人能力有限,目前还不能集成可穿戴功能,同时因为时间有限,未能完成电路板设计与打板,希望在之后的时间里可以继续完善可穿戴功能。 
 
 
 
 
 
 
 |   
 
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |