0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Arduino中简单实现PWM?

得捷电子DigiKey 来源:得捷电子DigiKey 作者:得捷电子DigiKey 2021-05-21 10:37 次阅读

Q A &在Arduino中轻松实现脉宽调制(PWM) 脉宽调制( PWM ) 信号基本上是一个方波,可在导通(高)和关断(低)状态之间切换。PWM信号的占空比和频率用于确定PWM信号控制目标的动作。

PWM信号的 占空比 是指信号处于高电平(导通)状态的时间与完成一个周期所需的总时间之比,通常用百分比或比率来表示。

50%的占空比意味着,高电平状态占据一半的时间,低电平状态占据另一半时间。这与理想的方波相同。如果该比率大于50%,则逻辑高电平信号在周期中占用的时间比逻辑低电平多,反之亦然。因此,100%占空比表示信号始终处于导通状态(满量程),0%占空比表示信号始终处于关断状态(接地)。

可在Arduino上通过各种方式轻松实现PWM。下面这款Seeeduino板就是很好的学习和评估板。它基于ATmega328P单片机且与Arduino相兼容。

该板上包含6个引脚(即引脚3、5、6、9、10、11),可以输出带有 analogWrite() 函数的PWM波。调用 analogWrite() 函数,即可在PWM引脚上生成具有指定占空比的稳定方波。一般来说,这些引脚的频率在490Hz左右,而Seeeduino或类似板的引脚5和6的频率为980Hz。

Arduino引脚的输出电压为5V,不同的占空比输出的电压电平各不相同,具体如下所示:

pIYBAGCnHfqAN6DpAAAyvZjRLxs187.jpg

应用示例:调节LED的亮度

在下面这个应用示例中,我们将借助PWM技术,利用Arduino来控制LED的亮度。

硬件连接

软件

analogWrite()函数语法:

analogWrite ( pin , value ) ;

该值代表占空比,数值介于0(关断)和255(导通)之间。

int ledPin = 9; //LED connected to digital pin 9

void setup (){

pinMode(ledPin, OUTPUT); // sets the pinas output

}

void loop (){

analogWrite(ledPin, 255); //set duty cycleto always on

}

你可以针对不同的输出将“255”更改为0~255之间的任意数字,也可以修改代码以连续更改该值。

原文标题:在Arduino中轻松实现PWM应用?跟我学,你也行!

文章出处:【微信公众号:得捷电子DigiKey】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4915

    浏览量

    210279
  • Arduino
    +关注

    关注

    185

    文章

    6434

    浏览量

    185099

原文标题:在Arduino中轻松实现PWM应用?跟我学,你也行!

文章出处:【微信号:得捷电子DigiKey,微信公众号:得捷电子DigiKey】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问如何在TC334打开和关闭PWM

    在基于 TC334 的芯片电机控制器,我想实现 PWM 开和关,应该如何编写函数来实现这一功能? 当关机故障发生时,我关闭 PWM
    发表于 05-17 17:19

    何在code通过软件实时配置各个PWM component的引脚?

    PWM component连接到P2.6 P3.0 P3.4 P3.6上,实现下一个功能。 那么请问,如何在code通过软件实时配置各个PWM
    发表于 02-21 08:00

    何在IDE利用PWM实现WM_MOTOR_CONTROL_01 DAVE™速度控制?

    顺时针和逆时针方向旋转 WM_MOTOR_CONTROL_01 。 如何在 IDE 利用 PWM 以WM_MOTOR_CONTROL_01 DAVE™速度控制?我是否需要将用于 MCU 接口的相同 GPIO 引脚配置为WM_M
    发表于 01-19 06:28

    arduino能用pwm播放音乐吗?

    arduino能用pwm播放音乐吗,歌曲通过外部的flash存储
    发表于 11-08 08:19

    Arduino提供的PWM控制功能入门(1)

    今天来学习一下 Arduino 提供的 PWM 控制功能,它可以用来控制电机转速,LED 明亮等。
    的头像 发表于 10-31 16:32 1260次阅读
    <b class='flag-5'>Arduino</b>提供的<b class='flag-5'>PWM</b>控制功能入门(1)

    ArduinoPWM控制代码

    如果你需要一个具体的代码示例,我可以为你提供一个ArduinoPWM控制代码。Arduino是一款常用的开源电子原型平台,它提供了PWM功能。以下是一个
    发表于 09-21 08:57

    力感电阻(FSR)Arduino简单教程

    电子发烧友网站提供《力感电阻(FSR)Arduino简单教程.zip》资料免费下载
    发表于 07-06 15:10 0次下载
    力感电阻(FSR)<b class='flag-5'>Arduino</b><b class='flag-5'>简单</b>教程

    使用Arduino简单追逐者

    电子发烧友网站提供《使用Arduino简单追逐者.zip》资料免费下载
    发表于 07-05 10:26 0次下载
    使用<b class='flag-5'>Arduino</b>的<b class='flag-5'>简单</b>追逐者

    何在Arduino Uno上播放棺材舞主题声音

    电子发烧友网站提供《如何在Arduino Uno上播放棺材舞主题声音.zip》资料免费下载
    发表于 07-04 11:23 0次下载
    如<b class='flag-5'>何在</b><b class='flag-5'>Arduino</b> Uno上播放棺材舞主题声音

    何在Arduino中使用APDS9960手势传感器

    电子发烧友网站提供《如何在Arduino中使用APDS9960手势传感器.zip》资料免费下载
    发表于 06-28 16:01 0次下载
    如<b class='flag-5'>何在</b><b class='flag-5'>Arduino</b>中使用APDS9960手势传感器

    何在Arduino中使用20x4 I2C字符LCD显示器

    电子发烧友网站提供《如何在Arduino中使用20x4 I2C字符LCD显示器.zip》资料免费下载
    发表于 06-28 15:57 0次下载
    如<b class='flag-5'>何在</b><b class='flag-5'>Arduino</b>中使用20x4 I2C字符LCD显示器

    使用Arduino制作简单的数字时钟

    电子发烧友网站提供《使用Arduino制作简单的数字时钟.zip》资料免费下载
    发表于 06-26 10:48 5次下载
    使用<b class='flag-5'>Arduino</b>制作<b class='flag-5'>简单</b>的数字时钟

    何在Arduino上使用红外传感器

    电子发烧友网站提供《如何在Arduino上使用红外传感器.zip》资料免费下载
    发表于 06-25 16:18 0次下载
    如<b class='flag-5'>何在</b><b class='flag-5'>Arduino</b>上使用红外传感器

    何在Arduino UNO上实现数学公式

    电子发烧友网站提供《如何在Arduino UNO上实现数学公式.zip》资料免费下载
    发表于 06-13 09:42 0次下载
    如<b class='flag-5'>何在</b><b class='flag-5'>Arduino</b> UNO上<b class='flag-5'>实现</b>数学公式

    是否可以使用Arduino代码免费的Speedtest API?

    我目前正在使用带有 ESP8266 的 WEMOS D1 MINI,但我想知道我是否可以使用我的 Arduino 代码免费的 Speedtest API。我在看这个例子,但我无法翻译我必须如何在
    发表于 06-06 07:28