电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
使用Arduino Mega控制多个步进电机进行同方向转动
分 享
扫描二维码分享
使用Arduino Mega控制多个步进电机进行同方向转动
arduino
步进电机
哈里波菜呀
关注
发布时间: 2022-01-17
丨
阅读: 3343
#一、简介 本次项目主要使用Arduino Mega开发板和Arduino Mega传感器扩展板结合PAJ7620手势传感器对六个28BYJ-48步进电机进行控制。手势传感器可识别 向左、向右、向上、向下四个方向的手势。并配合手势旋转不同的角度。 #二、材料清单 1、1*[MEGA2560 R3 开发板](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.33972e8dRf6I9x&id=634767568956&_u=d2ers8op3197 "MEGA2560 R3 开发板") 2、6*[步进电机](https://detail.tmall.com/item.htm?id=591695441384&ali_refid=a3_430582_1006:1109952213:N:zBXos0SCqSSIi4hteZqLjQvVcqs%20t2QY2FrzGiQwPV8=:702c6051c9cf9ca5ffc75c3d7943a4dd&ali_trackid=1_702c6051c9cf9ca5ffc75c3d7943a4dd&spm=a230r.1.14.11 "步进电机") 3、6*[按压装置](https://detail.tmall.com/item.htm?id=662718752609&spm=a1z09.2.0.0.27212e8duIfedL&_u=d2ers8opfb43 "按压装置") 4、1*[手势识别模块](https://item.taobao.com/item.htm?spm=a230r.1.14.19.78db4fffkL3wLQ&id=617113896018&ns=1&abbucket=20#detail "手势识别模块") 5、6*[亚克力板](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.27212e8duIfedL&id=613874696989&_u=d2ers8opb4c9 "亚克力板") 6、6*[联轴器](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.27212e8duIfedL&id=599399692536&_u=d2ers8opf66b "联轴器") 7、1*[MEGA2560专用扩展板](https://detail.tmall.com/item.htm?id=654584935050&spm=a1z09.2.0.0.27212e8duIfedL&_u=d2ers8opa5da&skuId=4894617167231 "MEGA2560专用扩展板") #三、程序功能 **第1步**:MEGA2560 R3 开发板通过MEGA2560专用扩展板控制6个步进电机,电机根据检测到的手势进行相应的旋转。检测到 向左手势第一次:6个步进电机顺时针旋转45°,如果检测到第二次向左手势,再次旋转45°,以此类推,每次检测到一次向左手势则顺时针旋转45°一次,直到电机顺时针旋转到90°位置。 向右手势第一次:6个步进电机逆时针旋转45°,如果检测到第二次向右手势,再次旋转45°,以此类推,每次检测到一次向右手势则逆时针旋转45°一次,直到电机逆时针旋转到-90°位置。 向上手势第一次:如果电机在-90°或者-45°位置,则6个步进电机顺时针旋转到0°位置,如果电机在0°或者45°位置,则6个步进电机顺时针旋转到90°位置。如果电机处于90°位置,则向上手势无效。 向下手势第一次:如果电机在90°或者45°位置,则6个步进电机逆时针旋转到0°位置,如果电机在0°或者-45°位置,则6个步进电逆时针旋转到-90°位置。如果电机处于-90°位置,则向下手势无效。 **第2步:**MEGA2560 R3 开发板通过手势识别模块,进行动作捕获。 当检测到向上手势时,向串口监视器发送"UP"字符; 当检测到向下手势时,向串口监视器发送"DOWM"字符; 当检测到向右手势时,向串口监视器发送"RIGHT"字符; 当检测到向左手势时,向串口监视器发送"LEFT"字符; **第3步:**MEGA2560 R3 开发板通过类似于按压装置的机械原理,实现按压效果。最终实物不是采用此款。只是借用此原理。 #四、程序代码 以下展现的是代码的主要功能介绍:(包含有接线方法,以及Arduino使用教程) ```c /@@* 程序目的: 第1步:Arduino Mega2560通过Mega2560 R3专用传感器扩展板控制步进电机。 第2步:Mega2560通过与Mega2560 R3专用传感器扩展板连接的PAJ7620U2手势传感器识别手势(向左、向右、向上、向下) 第3步:Mega2560根据不同的手势,通过与Mega2560 R3专用传感器扩展板连接的ULN2003控制电机向不同的方向旋转一定的角度。 一、硬件材料 1*Arduino Mega2560开发板 1*Mega2560 R3专用传感器扩展板 6*步进电机 6*ULN2003步进电机驱动板 6*按压装置 1*手势识别模块(PAJ7620U2) 若干杜邦线 二、电路接线 Mega2560 R3专用传感器扩展板 的 5V 接 PAJ7620U2 的 VCC Mega2560 R3专用传感器扩展板 的 GND 接 PAJ7620U2 的 GND Mega2560 R3专用传感器扩展板 的 21(SCL) 接 PAJ7620U2 的 SCL Mega2560 R3专用传感器扩展板 的 20(SDA) 接 PAJ7620U2 的 SDA 电机1 Mega2560 R3专用传感器扩展板 的 4 接 ULN2003 的 In1 Mega2560 R3专用传感器扩展板 的 5 接 ULN2003 的 In2 Mega2560 R3专用传感器扩展板 的 6 接 ULN2003 的 In3 Mega2560 R3专用传感器扩展板 的 7 接 ULN2003 的 In4 电机2 Mega2560 R3专用传感器扩展板 的 8 接 ULN2003 的 In1 Mega2560 R3专用传感器扩展板 的 9 接 ULN2003 的 In2 Mega2560 R3专用传感器扩展板 的 10 接 ULN2003 的 In3 Mega2560 R3专用传感器扩展板 的 11 接 ULN2003 的 In4 电机3 Mega2560 R3专用传感器扩展板 的 14 接 ULN2003 的 In1 Mega2560 R3专用传感器扩展板 的 15 接 ULN2003 的 In2 Mega2560 R3专用传感器扩展板 的 16 接 ULN2003 的 In3 Mega2560 R3专用传感器扩展板 的 17 接 ULN2003 的 In4 电机4 Mega2560 R3专用传感器扩展板 的 22 接 ULN2003 的 In1 Mega2560 R3专用传感器扩展板 的 23 接 ULN2003 的 In2 Mega2560 R3专用传感器扩展板 的 24 接 ULN2003 的 In3 Mega2560 R3专用传感器扩展板 的 25 接 ULN2003 的 In4 电机5 Mega2560 R3专用传感器扩展板 的 26 接 ULN2003 的 In1 Mega2560 R3专用传感器扩展板 的 27 接 ULN2003 的 In2 Mega2560 R3专用传感器扩展板 的 28 接 ULN2003 的 In3 Mega2560 R3专用传感器扩展板 的 29 接 ULN2003 的 In4 电机6 Mega2560 R3专用传感器扩展板 的 30 接 ULN2003 的 In1 Mega2560 R3专用传感器扩展板 的 31 接 ULN2003 的 In2 Mega2560 R3专用传感器扩展板 的 32 接 ULN2003 的 In3 Mega2560 R3专用传感器扩展板 的 33 接 ULN2003 的 In4 Mega2560 R3专用传感器扩展板 的 所有引脚 接 Mega2560开发板 的 所有引脚 详见接线图 三、程序上传 第1步:打开Arduino软件,依次点击 -> 工具 -> 开发板选择"Arduino Mega2560 or Mega2560" 第2步:依次点击 -> 工具 -> 端口选择你自己电脑Arduino的COM口,一般是com3开始,如COM3,COM7 第3步:点击上传(Arduino软件左上角对勾旁边的图标) 四、程序原理 第1步:识别手势 第2步:根据手势,控制步进电机运动 五、预期效果 在手势传感器前(10-15cm范围),比出不同的手势,电机会向不同的方向旋转 向左手势,电机向左旋转45° 向右手势,电机向右旋转45° 向上手势,电机向左旋转90° 向下手势,电机向右旋转90° 六、可能的问题 1、接线不对 仔细核对接线图接线 2、添加库文件 打开 arduino IDE 在菜单栏找到【项目】->【加载库】->【添加。ZIP库】 在我们发您的文件夹中找到【3、程序代码】->【1、库文件】->找到压缩包进行添加即可 需要的库: PAJ7620 https://www.arduinolibraries.info/libraries/rev-eng-paj7620 AccelStepper https://www.arduino.cc/reference/en/libraries/accelstepper/ 如何安装库文件 https://www.arduino.cc/en/guide/libraries?setlang=cn 七、参考的资料 Arduino教程 https://space.bilibili.com/103589285/video?tid=0&page=4&keyword=&order=pubdate https://www.geek-workshop.com/thread-2719-1-1.html https://www.yiboard.com/forum-70-1.html 八、升级建议 暂无 */ ``` **第一步:**首先需要安装以下两个库文件,具体的安装方法参考以上第六步中的如何安装库文件。 ```c #include"paj7620.h" #include
``` 以下是代码的宏定义部分,确定电机的控制引脚以及手势传感器(PAJ7620)的指令 ```c #define turnLeft 0x0A //手势向左 #define turnRight 0x0B //手势向右 #define turnUp 0x0C //手势向上 #define turnDown 0x0D //手势向下 //电机步进方式定义 #define fullStep 4 //全步进参数 #define halfStep 8 //半步进参数 //定义1号步进电机引脚 #define motor1Pin1 4 //28BYJ48连接的ULN2003电机驱动板引脚 in1 #define motor1Pin2 5 //28BYJ48连接的ULN2003电机驱动板引脚 in2 #define motor1Pin3 6 //28BYJ48连接的ULN2003电机驱动板引脚 in3 #define motor1Pin4 7 //28BYJ48连接的ULN2003电机驱动板引脚 in4 //定义2号步进电机引脚 #define motor2Pin1 8 //28BYJ48连接的ULN2003电机驱动板引脚 in1 #define motor2Pin2 9 //28BYJ48连接的ULN2003电机驱动板引脚 in2 #define motor2Pin3 10 //28BYJ48连接的ULN2003电机驱动板引脚 in3 #define motor2Pin4 11 //28BYJ48连接的ULN2003电机驱动板引脚 in4 //定义3号步进电机引脚 #define motor3Pin1 14 //28BYJ48连接的ULN2003电机驱动板引脚 in1 #define motor3Pin2 15 //28BYJ48连接的ULN2003电机驱动板引脚 in2 #define motor3Pin3 16 //28BYJ48连接的ULN2003电机驱动板引脚 in3 #define motor3Pin4 17 //28BYJ48连接的ULN2003电机驱动板引脚 in4 //定义4号步进电机引脚 #define motor4Pin1 22 //28BYJ48连接的ULN2003电机驱动板引脚 in1 #define motor4Pin2 23 //28BYJ48连接的ULN2003电机驱动板引脚 in2 #define motor4Pin3 24 //28BYJ48连接的ULN2003电机驱动板引脚 in3 #define motor4Pin4 25 //28BYJ48连接的ULN2003电机驱动板引脚 in4 //定义5号步进电机引脚 #define motor5Pin1 26 //28BYJ48连接的ULN2003电机驱动板引脚 in1 #define motor5Pin2 27 //28BYJ48连接的ULN2003电机驱动板引脚 in2 #define motor5Pin3 28 //28BYJ48连接的ULN2003电机驱动板引脚 in3 #define motor5Pin4 29 //28BYJ48连接的ULN2003电机驱动板引脚 in4 //定义6号步进电机引脚 #define motor6Pin1 30 //28BYJ48连接的ULN2003电机驱动板引脚 in1 #define motor6Pin2 31 //28BYJ48连接的ULN2003电机驱动板引脚 in2 #define motor6Pin3 32 //28BYJ48连接的ULN2003电机驱动板引脚 in3 #define motor6Pin4 33 //28BYJ48连接的ULN2003电机驱动板引脚 in4 uint8_t gestureState = 0; //手势状态(0x0A向左、0x0B向右) ``` 以下是利用Arduino的步进电机驱动库AccelStepper初始化6个步进电机对应的引脚,这里fullStep我设置的是全步进的工作方式,根据实际情况也可以设置为半步进的工作方式。 ```c /@@* 定义中ULN2003驱动板引脚顺序为 in1-in3-in2-in4 所有电机设置为全步进运行 */ AccelStepper stepper1(fullStep, motor1Pin1, motor1Pin3, motor1Pin2, motor1Pin4); AccelStepper stepper2(fullStep, motor2Pin1, motor2Pin3, motor2Pin2, motor2Pin4); AccelStepper stepper3(fullStep, motor3Pin1, motor3Pin3, motor3Pin2, motor3Pin4); AccelStepper stepper4(fullStep, motor4Pin1, motor4Pin3, motor4Pin2, motor4Pin4); AccelStepper stepper5(fullStep, motor5Pin1, motor5Pin3, motor5Pin2, motor5Pin4); AccelStepper stepper6(fullStep, motor6Pin1, motor6Pin3, motor6Pin2, motor6Pin4); ``` 初始化部分,主要设置电机的最大速度为800,加速度为80.设置硬串口波特率为9600,硬串口打印字符串"\nPAJ7620U2 TEST DEMO: Recognize 9 gestures.",如果初始化手势传感器OK则打印“INIT OK”,否则则,打印“INIT ERROR,CODE:”。之后打印字符串“Please input your gestures:”,就可以开始输入手势,在输入手势时,不能远离手势传感器超过10cm,否则会无法识别。 ```c /@@* 初始化函数, 主要用于电机和手势传感器的控制 此函数上电只执行一次 */ void setup() { uint8_t Error = 0; Serial.begin(9600); //串口初始化,波特率为9600 stepper1.setMaxSpeed(800.0); //电机最大速度800 stepper1.setAcceleration(80.0); //电机加速度80 stepper2.setMaxSpeed(800.0); //电机最大速度800 stepper2.setAcceleration(80.0); //电机加速度80 stepper3.setMaxSpeed(800.0); //电机最大速度800 stepper3.setAcceleration(80.0); //电机加速度80 stepper4.setMaxSpeed(800.0); //电机最大速度800 stepper4.setAcceleration(80.0); //电机加速度80 stepper5.setMaxSpeed(800.0); //电机最大速度800 stepper5.setAcceleration(80.0); //电机加速度80 stepper6.setMaxSpeed(800.0); //电机最大速度800 stepper6.setAcceleration(80.0); //电机加速度80 Serial.println("\nPAJ7620U2 TEST DEMO: Recognize 9 gestures."); Error = paj7620Init(); //初始化PAJ7620U2传感器 if (Error) { Serial.print("INIT ERROR,CODE:"); //如果初始化错误,串口打印错误码 Serial.println(Error); } else { Serial.println("INIT OK"); //如果初始化正确,串口打印"INIT OK" } Serial.println("Please input your gestures:\n"); //开始检测手势 } ``` 主函数的逻辑主要就是读取手势传感器的手势方向,然后根据相应的手势,返回对应的代码: turnLeft 0x0A turnRight 0x0B turnUp 0x0C turnDown 0x0D 获得相应的代码之后,再利用电机库当中的currentPosition()函数,获取当前电机的具体位置,再根据这个实际位置旋转相应的角度。具体逻辑关系见代码: ```c /@@* loop函数, 主逻辑运行函数 循环往复,一直运行 */ void loop() { GestureRecognition(); //检测手势 if (gestureState == turnLeft) { //检测到向左手势 gestureState = 0; if (stepper1.currentPosition() == -256) { //电机1角度为-45° stepper1.moveTo(0); //电机1正转到0° stepper2.moveTo(0); //电机2正转到0° stepper3.moveTo(0); //电机3正转到0° stepper4.moveTo(0); //电机4正转到0° stepper5.moveTo(0); //电机5正转到0° stepper6.moveTo(0); //电机6正转到0° } else if (stepper1.currentPosition() == -512) { //电机1角度为-90° stepper1.moveTo(-256); //电机1正转到-45° stepper2.moveTo(-256); //电机2正转到-45° stepper3.moveTo(-256); //电机3正转到-45° stepper4.moveTo(-256); //电机4正转到-45° stepper5.moveTo(256); //电机5正转到-45° stepper6.moveTo(-256); //电机6正转到-45° } else if (stepper1.currentPosition() == 0) { //电机1角度为0° stepper1.moveTo(256); //电机1正转到45° stepper2.moveTo(256); //电机2正转到45° stepper3.moveTo(256); //电机3正转到45° stepper4.moveTo(256); //电机4正转到45° stepper5.moveTo(-256); //电机5正转到45° stepper6.moveTo(256); //电机6正转到45° } Serial.println(stepper1.currentPosition()); } if (gestureState == turnRight) { //检测到向右手势 gestureState = 0; if (stepper1.currentPosition() == 256) { //电机1角度为45° stepper1.moveTo(0); //电机1反转到0° stepper2.moveTo(0); //电机2反转到0° stepper3.moveTo(0); //电机3反转到0° stepper4.moveTo(0); //电机4反转到0° stepper5.moveTo(0); //电机5反转到0° stepper6.moveTo(0); //电机6反转到0° } else if (stepper1.currentPosition() == 512) { //电机1角度为90° stepper1.moveTo(256); //电机1反转到45° stepper2.moveTo(256); //电机2反转到45° stepper3.moveTo(256); //电机3反转到45° stepper4.moveTo(256); //电机4反转到45° stepper5.moveTo(-256); //电机5反转到45° stepper6.moveTo(256); //电机6反转到45° } else if (stepper1.currentPosition() == 0) { //电机1角度为0° stepper1.moveTo(-256); //电机1反转到-45° stepper2.moveTo(-256); //电机2反转到-45° stepper3.moveTo(-256); //电机3反转到-45° stepper4.moveTo(-256); //电机4反转到-45° stepper5.moveTo(256); //电机5反转到-45° stepper6.moveTo(-256); //电机6反转到-45° } Serial.println(stepper1.currentPosition()); //发送电机1的位置信息 } if (gestureState == turnUp) { //检测到向上手势 gestureState = 0; if (stepper1.currentPosition() == 256) { //电机1角度为45° stepper1.moveTo(512); //电机1正转到90° stepper2.moveTo(512); //电机2正转到90° stepper3.moveTo(512); //电机3正转到90° stepper4.moveTo(512); //电机4正转到90° stepper5.moveTo(-512); //电机5正转到90° stepper6.moveTo(512); //电机6正转到90° } else if (stepper1.currentPosition() == 0) { //电机1角度为0° stepper1.moveTo(512); //电机1正转到90° stepper2.moveTo(512); //电机2正转到90° stepper3.moveTo(512); //电机3正转到90° stepper4.moveTo(512); //电机4正转到90° stepper5.moveTo(-512); //电机5正转到90° stepper6.moveTo(512); //电机6正转到90° } else if (stepper1.currentPosition() == -512) { //电机1角度为-90° stepper1.moveTo(0); //电机1正转到0° stepper2.moveTo(0); //电机2正转到0° stepper3.moveTo(0); //电机3正转到0° stepper4.moveTo(0); //电机4正转到0° stepper5.moveTo(0); //电机5正转到0° stepper6.moveTo(0); //电机6正转到0° } else if (stepper1.currentPosition() == -256) { //电机1角度为-45° stepper1.moveTo(0); //电机1正转到0° stepper2.moveTo(0); //电机2正转到0° stepper3.moveTo(0); //电机3正转到0° stepper4.moveTo(0); //电机4正转到0° stepper5.moveTo(0); //电机5正转到0° stepper6.moveTo(0); //电机6正转到0° } Serial.println(stepper1.currentPosition()); //发送电机1的位置信息 } if (gestureState == turnDown) { //检测到向下手势 gestureState = 0; if (stepper1.currentPosition() == 256) { //电机1角度为45° stepper1.moveTo(0); //电机1反转到0° stepper2.moveTo(0); //电机2反转到0° stepper3.moveTo(0); //电机3反转到0° stepper4.moveTo(0); //电机4反转到0° stepper5.moveTo(0); //电机5反转到0° stepper6.moveTo(0); //电机6反转到0° } else if (stepper1.currentPosition() == 0) { //电机1角度为0° stepper1.moveTo(-512); //电机1反转到-90° stepper2.moveTo(-512); //电机2反转到-90° stepper3.moveTo(-512); //电机3反转到-90° stepper4.moveTo(-512); //电机4反转到-90° stepper5.moveTo(512); //电机5反转到-90° stepper6.moveTo(-512); //电机6反转到-90° } else if (stepper1.currentPosition() == 512) { //电机1角度为90° stepper1.moveTo(0); //电机1反转到0° stepper2.moveTo(0); //电机2反转到0° stepper3.moveTo(0); //电机3反转到0° stepper4.moveTo(0); //电机4反转到0° stepper5.moveTo(0); //电机5反转到0° stepper6.moveTo(0); //电机6反转到0° } else if (stepper1.currentPosition() == -256) { //电机1角度为-45° stepper1.moveTo(-512); //电机1反转到-90° stepper2.moveTo(-512); //电机2反转到-90° stepper3.moveTo(-512); //电机3反转到-90° stepper4.moveTo(-512); //电机4反转到-90° stepper5.moveTo(512); //电机5反转到-90° stepper6.moveTo(-512); //电机6反转到-90° } Serial.println(stepper1.currentPosition()); //发送电机1的位置信息 } stepper1.run(); //电机1开始转动 stepper2.run(); //电机2开始转动 stepper3.run(); //电机3开始转动 stepper4.run(); //电机4开始转动 stepper5.run(); //电机5开始转动 stepper6.run(); //电机6开始转动 } ``` 以下这个函数是loop函数当中被调用的手势识别函数GestureRecognition();主要也是用于判断各种手势(向左、向右、向上、向下)。当然,这个手势模块还有其他手势可以判断,只不过,目前我只用到这几种,小伙伴可以自行探索一下。 ```c /@@* 手势识别函数,用于判断手势 */ void GestureRecognition() { //电机根据手势状态,实现向左向右旋转 uint8_t data = 0, Error; Error = paj7620ReadReg(0x43, 1, &data); //读取Bank_0_Reg_0x43/0x44以获得手势结果 if (!Error) { switch (data) { //当检测到不同的手势时,判断变量'data'的值。 case GES_RIGHT_FLAG: //检测到向右手势 paj7620ReadReg(0x43, 1, &data); //读取手势传感器数据 if (data == GES_FORWARD_FLAG) { Serial.println("Forward"); //串口打印"Forward" } else if (data == GES_BACKWARD_FLAG) { //检测到向后手势 Serial.println("Backward"); //串口打印"Backward" } else { gestureState = turnRight; //串口打印"Right" Serial.println("Right"); } break; case GES_LEFT_FLAG: //检测到向左手势 paj7620ReadReg(0x43, 1, &data); //读取手势传感器数据 if (data == GES_FORWARD_FLAG) { Serial.println("Forward"); //串口打印"Forward" } else if (data == GES_BACKWARD_FLAG) { Serial.println("Backward"); //串口打印"Backward" } else { gestureState = turnLeft; //检测到向左手势 Serial.println("Left"); //串口打印"Left" } case GES_UP_FLAG: //检测到向上手势 paj7620ReadReg(0x43, 1, &data); //读取手势传感器数据 if (data == GES_FORWARD_FLAG) { Serial.println("Forward"); //串口打印"Forward" } else if (data == GES_BACKWARD_FLAG) { Serial.println("Backward"); //串口打印"Backward" } else { gestureState = turnUp; //检测到向右手势 Serial.println("Up"); //串口打印"Up" } break; case GES_DOWN_FLAG: //检测到向下手势 paj7620ReadReg(0x43, 1, &data); //读取手势传感器数据 if (data == GES_FORWARD_FLAG) { Serial.println("Forward"); //串口打印"Forward" } else if (data == GES_BACKWARD_FLAG) { Serial.println("Backward"); //串口打印"Backward" } else { gestureState = turnDown; //检测到向左手势 Serial.println("Down"); //串口打印"Down" } break; } } } ``` #五、功能演示 以下为成品的演示图,仅供参考 ![实物](https://cf03.ickimg.com/bbsimages/202201/407edac4d442e49986f31d22b07f482b.png "实物") 附件部分包括了整体代码和测试代码,还有相关的演示视频。(由于平台不支持上传视频我只贴个图片在这了。) https://www.icxbk.com/download/detail/49408.html
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
哈里波菜呀
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交