偶然发现Arduino Uno的 D0-D13与A0-A5端均可以正常使用舵机

今天早上在做小实验中,偶然发现Arduino的所有20个输入输出端口都能控制舵机(实验中使用SG90 9g之180°舵机),原来的观念是只有带~ 符号的PWM引脚能够控制舵机,而在实际测试中,发现数字端D0-D13,模拟端A0-A5均可以正常使用舵机。也就是说,Arduino有可能直接控制20路舵机。

实验场景图
在这里插入图片描述

/*  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)  实验一:不用舵机库,驱动舵机旋转到不同角度  使用SG90 9g之180°舵机  实验接线:舵机S端接Uno的D8,同时也接入LED作为有控制信号的指示灯  注意:上传时尽量不要接入舵机,防止烧毁USB接口*/ int servopin = 8;    //定义舵机接口数字接口8 也就是舵机的橙色信号线。 void servopulse(int angle)//定义一个脉冲函数{  int pulsewidth = (angle * 11) + 500; //将角度转化为500-2480的脉宽值  digitalWrite(servopin, HIGH);   //将舵机接口电平至高  delayMicroseconds(pulsewidth);  //延时脉宽值的微秒数  digitalWrite(servopin, LOW);    //将舵机接口电平至低  delayMicroseconds(20000 - pulsewidth);} void setup(){  pinMode(servopin, OUTPUT); //设定舵机接口为输出接口} void loop(){  //把值的范围映射到0到165左右  for ( int angle = 0; angle < 165; angle += 10) {    for (int i = 0; i < 50; i++) //发送50个脉冲    {      servopulse(angle);   //引用脉冲函数    }    delay(1000);  }}

使用D0端的实验视频(15秒)

https://v.youku.com/v_show/id_XNTExMDgxOTExMg==.html?spm=a2hzp.8244740.0.0

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验一:不用舵机库,驱动舵机旋转到不同角度(使用D0端口)

使用A5端的实验视频(15秒)

https://v.youku.com/v_show/id_XNTExMDgxODE4NA==.html?spm=a2hzp.8244740.0.0

实验动态图

动图 https://mc.dfrobot.com.cn/data/attachment/forum/202102/26/080659gijj9srpnr53nsp6.gif

猜你喜欢

转载自blog.csdn.net/weixin_41659040/article/details/114110091
UNO