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
    +关注

    关注

    116

    文章

    5894

    浏览量

    226601
  • Arduino
    +关注

    关注

    190

    文章

    6527

    浏览量

    197467

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    何在小尺寸陶瓷天线同时实现多频段覆盖?

    何在小尺寸陶瓷天线同时实现多频段覆盖智能手表、蓝牙耳机、物联网传感器……这些设备越来越小巧,功能却越来越多。以智能手表为例:蓝牙连接耳机(2.4GHz)、GPS定位(1.5GHz)、WiFi数据
    的头像 发表于 03-02 14:29 247次阅读
    如<b class='flag-5'>何在</b>小尺寸陶瓷天线<b class='flag-5'>中</b>同时<b class='flag-5'>实现</b>多频段覆盖?

    何在Zephyr RTOS实现延时和计时函数

    多种延时与计时实现方案,满足不同应用场景的需求。那么,大家平时都是怎么在MCU程序实现计时函数、实现延时的呢?
    的头像 发表于 12-26 10:32 6120次阅读
    如<b class='flag-5'>何在</b>Zephyr RTOS<b class='flag-5'>中</b><b class='flag-5'>实现</b>延时和计时函数

    基于PWM的LED调光技术与呼吸灯实现方法!

    分享PWM相关基础知识,并以Air8000核心板为例,演示LuatOS开发如何使用PWM功能实现LED亮度控制及呼吸灯效果,帮助开发者快速上手。   一、
    的头像 发表于 12-15 13:03 670次阅读
    基于<b class='flag-5'>PWM</b>的LED调光技术与呼吸灯<b class='flag-5'>实现</b>方法!

    LuatOSPWM实现LED亮度调节与呼吸灯的实战教程

    PWM在LED亮度调节和呼吸灯效果实现方面有着广泛应用。在LuatOS环境,如何高效运用PWM功能是开发者需要掌握的关键。本实战教程将通过具体案例,引导开发者快速上手,轻松
    的头像 发表于 11-11 19:05 8618次阅读
    LuatOS<b class='flag-5'>中</b><b class='flag-5'>PWM</b><b class='flag-5'>实现</b>LED亮度调节与呼吸灯的实战教程

    何在VS code配置Zephyr集成开发环境

    上一篇文章介绍了如何在VS code中使用瑞萨官方插件为RA芯片创建项目与项目调试,相信大家对RA在VS code的开发有了基础的了解。
    的头像 发表于 11-05 14:46 1772次阅读
    如<b class='flag-5'>何在</b>VS code<b class='flag-5'>中</b>配置Zephyr集成开发环境

    何在LTspice添加电压控制开关

    电压控制开关是 LTspice 的基本电路元件,能够以简洁的方式在电路实现开路或短路行为,并支持在仿真过程动态切换。完善原理图后,设计人员最终可能需要采用更精确的FET或开关模型,但在设计初期,较
    的头像 发表于 09-11 15:50 5524次阅读
    如<b class='flag-5'>何在</b>LTspice<b class='flag-5'>中</b>添加电压控制开关

    何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模块?

    在NuMaker开发板上,有一个ESP-12F Wi-Fi模块;但是,Arduino IDE 的 NuMaker UNO 包不提供该模块的相关控制。如果您希望在 Arduino IDE
    发表于 09-04 08:28

    何在 buildroot 的 rootfs 显示当前目录?

    何在 buildroot 的 rootfs 显示当前目录?
    发表于 09-03 07:02

    何在AMD Vitis Unified 2024.2连接到QEMU

    在本篇文章我们将学习如何在 AMD Vitis Unified 2024.2 连接到 QEMU。 这是本系列的第 2 篇博文。要了解如何设置和使用 QEMU + 协同仿真,请参阅开发者分享|在 AMD Versal 自适应 SoC 上使用
    的头像 发表于 08-06 17:24 2001次阅读
    如<b class='flag-5'>何在</b>AMD Vitis Unified 2024.2<b class='flag-5'>中</b>连接到QEMU

    何在多显卡环境下配置OLLAMA实现GPU负载均衡

    本文将带你深入了解如何在多显卡环境下配置OLLAMA,实现GPU负载均衡,并分享生产环境的最佳实践。无论你是刚接触GPU集群还是寻求性能优化的老手,这篇文章都能给你带来实用价值。
    的头像 发表于 07-24 14:12 4957次阅读

    何在树莓派上安装并运行 Arduino 集成开发环境!

    使用树莓派单板计算机,你可以运行各种应用程序,包括广受欢迎的Arduino集成开发环境(IDE)。这意味着你可以用它轻松地为通过USB连接到树莓派计算机的微控制器编程,以创建交互式电子项目。下面
    的头像 发表于 07-01 17:41 4575次阅读
    如<b class='flag-5'>何在</b>树莓派上安装并运行 <b class='flag-5'>Arduino</b> 集成开发环境!

    Arduino与LabVIEW联合编程指南

    Arduino编程并与LabVIEW上位机结合实现设备的远程控制与数据采集。
    发表于 06-19 15:54 3次下载

    ESP32-CAM带OV2640摄像头视频显示

    本文介绍了如何在Arduino IDE上开发实现ESP32-CAM模块获取实时图像视频
    的头像 发表于 05-23 10:47 2022次阅读
    ESP32-CAM带OV2640摄像头视频显示

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    的发展,在Arduino出现以前,虽然也有很多公司在推广一些简单易用的可编程控制器,但是由于开发平台种类繁多,而且使用这些控制器基本上都需要对电子技术、数字逻辑、寄存器等内容进行多方面的了解和学习,才能
    发表于 05-13 09:28

    探索PWM技术:数字世界的模拟魔法

    技术?它又是如何在无形中影响着我们的生活呢?PWM的基本结构01PWM简介PWM,全称脉冲宽度调制,是一种将模拟信号转换为脉冲序列的编码技术。其核心原理是通过改变
    的头像 发表于 05-12 09:52 1204次阅读
    探索<b class='flag-5'>PWM</b>技术:数字世界的模拟魔法