8浏览
查看: 8|回复: 0

[ESP8266/ESP32] ESP32 C5初体验——炫彩风车再改造

[复制链接]
本帖最后由 DFrkOy0F-FE 于 2025-10-25 23:43 编辑

  由于最近很忙,作业一直迟迟未交,很荣幸这次参与了DFRobot的活动,看到ESP32-C5开发板的试用招募时,我的心情是无比激动的。而当我真的收到中选通知,亲手拿到这块板子时,那种“终于等到你”的喜悦感瞬间爆棚!这不仅是一块开发板,更是我们迈向更高效、更稳定物联网连接时代的一张“头等舱机票”。感谢DFRobot提供这次宝贵的试用机会!
一、 开箱与硬件初窥
  FireBeetle系列的包装一贯简洁环保。打开盒子,开发板本体静静地躺在其中。
                        ESP32  C5初体验——炫彩风车再改造图2
  听其他大佬说,我们拿到的是ECO1(试用版),正式版将为ECO2。这枚芯片的意义非凡:
  • 首款支持Wi-Fi 6的RISC-V MCU:它不仅是乐鑫首款支持2.4GHz & 5GHz 双频Wi-Fi 6的芯片,还采用了开放的RISC-V架构,兼具高性能与低功耗特性。
  • 告别“手机热点”尴尬:因为绝大多数现代手机热点都已经支持5GHz频段,ESP32-C5可以直连,彻底扫清了配网障碍!
  • 充裕的“内存”:4MB Flash 和 512KB SRAM 的配置,对于处理复杂的网络协议、存储网页资源或运行轻量级算法来说,空间堪称“奢华”,再也不用为内存捉襟见肘而烦恼。

   板载Type-C接口、用户按键和RGB LED等外设一应俱全,引脚布局也清晰合理,为后续的扩展开发打下了坚实基础。
二、 开发环境搭建(我选择用的是Arduino IDE)  1.这里我们将Arduino Ide升级到了2.3.6版本         ESP32  C5初体验——炫彩风车再改造图3
  2.然后需要下载esp32 v3.3.0-alpha1,有可能是因为行动太晚的缘故,看了好多大佬提供的github的网址,就像shengjz0303大佬说的一样,直接在官方支持的开发板管理添加会失败,最近也不知道怎么回事,github我是一直转圈没进去过。所以我就用了大佬提供的国内镜像“
  • https://github.com/espressif/arduino-esp32/releases/download/3.3.0-alpha1/package_esp32_dev_index_cn.json”
  •    3.之后我就不在说了,因为各个大佬已经说的很详细了,添加esp32 v3.3.0-alpha1即可
  • 三、性能初探
  •   理论说得再多,不如实际跑个demo。我首先测试了最基本的Wi-Fi连接。
  ESP32  C5初体验——炫彩风车再改造图1
  测试好后,我有拿出了我之前的炫彩风车,进行基本功能的测试
  • 四、改造
  1.我所编写的代码如下:
// 引脚定义
int motorPin = 25;      // 电机控制引脚
int greenLedPin = 3;    // 绿灯引脚(3号管脚)
int redLedPin = 2;      // 红灯引脚(2号管脚)
int buzzerPin = 4;      // 蜂鸣器引脚(4号管脚)


void setup() {
  // 初始化引脚模式
  pinMode(motorPin, OUTPUT);
  pinMode(greenLedPin, OUTPUT);
  pinMode(redLedPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
  
  // 启动自检
  startupSelfTest();
}


void loop() {
  // 状态1: 电机驱动时 - 亮绿灯,蜂鸣器响
  driveMotorWithGreenLightAndBuzzer();
  delay(3000);  // 运行3秒
  
  // 状态2: 电机停止时 - 亮红灯,蜂鸣器关闭
  stopMotorWithRedLight();
  delay(3000);  // 停止3秒
  
  // 状态3: PWM调速演示
  pwmSpeedControl();
  delay(2000);
}


void driveMotorWithGreenLightAndBuzzer() {
  // 亮绿灯,灭红灯
  digitalWrite(greenLedPin, HIGH);
  digitalWrite(redLedPin, LOW);
  
  // 启动电机(50%功率)
  analogWrite(motorPin, 128);  // 使用analogWrite进行PWM控制
  
  // 蜂鸣器响
  digitalWrite(buzzerPin, HIGH);  // 简单的高低电平控制
}


void stopMotorWithRedLight() {
  // 停止电机
  analogWrite(motorPin, 0);
  
  // 亮红灯,灭绿灯
  digitalWrite(redLedPin, HIGH);
  digitalWrite(greenLedPin, LOW);
  
  // 关闭蜂鸣器
  digitalWrite(buzzerPin, LOW);
}


void pwmSpeedControl() {
  // PWM加速过程
  for(int speed = 0; speed <= 255; speed += 5){
    analogWrite(motorPin, speed);
    digitalWrite(greenLedPin, HIGH);
    digitalWrite(redLedPin, LOW);
    digitalWrite(buzzerPin, HIGH);  // 蜂鸣器持续响
    delay(50);
  }
  
  delay(1000);  // 全速运行1秒
  
  // PWM减速过程
  for(int speed = 255; speed >= 0; speed -= 10){
    analogWrite(motorPin, speed);
    if(speed < 128) {
      // 低速时切换为红灯提示
      digitalWrite(greenLedPin, LOW);
      digitalWrite(redLedPin, HIGH);
    }
    delay(50);
  }
  
  digitalWrite(buzzerPin, LOW);  // 关闭蜂鸣器
  digitalWrite(redLedPin, HIGH);  // 停止后保持红灯
  digitalWrite(greenLedPin, LOW);
}


void startupSelfTest() {
  // 测试红灯(2号管脚)
  digitalWrite(redLedPin, HIGH);
  delay(500);
  digitalWrite(redLedPin, LOW);
  
  // 测试绿灯(3号管脚)
  digitalWrite(greenLedPin, HIGH);
  delay(500);
  digitalWrite(greenLedPin, LOW);
  
  // 测试蜂鸣器(4号管脚)
  digitalWrite(buzzerPin, HIGH);
  delay(500);
  digitalWrite(buzzerPin, LOW);
  
  // 测试电机(25号管脚 - 短暂启动)
  analogWrite(motorPin, 100);
  delay(300);
  analogWrite(motorPin, 0);
  
  // 关闭所有输出
  digitalWrite(greenLedPin, LOW);
  digitalWrite(redLedPin, LOW);
  
  delay(1000);
}


// 紧急停止函数(可在需要时调用)
void emergencyStop() {
  analogWrite(motorPin, 0);      // 立即停止电机
  digitalWrite(redLedPin, HIGH); // 亮红灯
  digitalWrite(greenLedPin, LOW); // 灭绿灯
  digitalWrite(buzzerPin, LOW);  // 关闭蜂鸣器
}
    硬件连接注意事项
    电机驱动模块:必须使用电机驱动模块(如L298N等),不要直接将电机连接到ESP32引脚。电机使用独立的外部电源(根据电机电压要求)
    2.呈现的效果
        ESP32  C5初体验——炫彩风车再改造图4



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail