【CanMV K210】编程基础 PWM 脉宽调制与亮度速度控制
PWM 是 CanMV K210 硬件编程中非常重要的控制方式。LED 亮度渐变、蜂鸣器音调变化、电机速度调节、舵机角度控制等实验都离不开 PWM 对输出信号的精细控制。GPIO 只能输出高电平或低电平适合控制开关状态。PWM 则可以在高低电平之间快速切换让外部模块获得类似“强弱变化”的效果这也是硬件控制从简单开关走向连续调节的关键。文章目录理论基础硬件设施软件代码扩展应用总结理论基础实验原理PWM 的全称是 Pulse Width Modulation也就是脉宽调制。它不是直接输出真正连续变化的模拟电压而是在固定周期内快速输出高电平和低电平通过改变高电平持续时间的比例让外部模块表现出不同强度。GPIO 输出只有两种状态高电平和低电平。高电平可以理解为“打开”低电平可以理解为“关闭”。这种方式适合控制普通 LED 开关、继电器通断、蜂鸣器简单响停但不适合表现亮度渐变、速度变化和角度控制。在 CanMV K210 课程中PWM 会贯穿多个实验。双色 LED 调光会使用 PWM 改变亮度蜂鸣器实验会通过频率变化产生不同提示音直流电机实验会通过占空比调速舵机实验会使用固定频率下的脉宽变化控制角度。硬件设施实验所需硬件本篇可以使用一颗 LED 或扩展板上的 LED 作为 PWM 输出观察对象。若套件中带有双色 LED、RGB LED、蜂鸣器、电机或舵机模块也可以在后续实验中继续复用同一套 PWM 控制思路。若使用外接 LED需要注意电阻和极性。LED 长脚通常为正极短脚通常为负极。正极通过限流电阻连接 PWM 输出引脚负极连接 GND。若使用扩展板上已经集成的 LED 模块通常只需要确认对应信号引脚即可。软件代码实验所需软件环境本篇实验需要使用 CanMV IDE 编写并运行 MicroPython 程序。运行前需要保证开发板已经完成串口驱动安装、固件烧录和 IDE 连接。若程序无法运行应先用简单的print()程序确认串口通信正常。PWM 程序通常需要用到machine.Timer和machine.PWM。Timer 用于创建 PWM 定时器通道PWM 用于设置输出频率、占空比和引脚。实际使用时引脚编号需要根据开发板或扩展板接线进行调整。下面程序用于实现 LED 呼吸灯效果。程序会不断改变 PWM 占空比让 LED 从暗到亮再从亮到暗。代码中的pin12需要根据实际接线修改。# CanMV K210 PWM 脉宽调制基础实验# 功能通过 PWM 占空比变化实现 LED 呼吸灯效果importtimefrommachineimportTimerfrommachineimportPWMprint(CanMV K210 PWM breathing LED start)# 创建定时器对象# TIMER0 和 CHANNEL0 用于生成 PWM 信号timTimer(Timer.TIMER0,Timer.CHANNEL0,modeTimer.MODE_PWM)# 创建 PWM 对象# freq 表示 PWM 频率duty 表示初始占空比pin 表示 PWM 输出引脚# pin 需要根据实际接线修改pwm_ledPWM(tim,freq1000,duty0,pin12)whileTrue:# LED 逐渐变亮fordutyinrange(0,101,2):pwm_led.duty(duty)print(duty:,duty)time.sleep_ms(20)# LED 逐渐变暗fordutyinrange(100,-1,-2):pwm_led.duty(duty)print(duty:,duty)time.sleep_ms(20)这段程序的核心是使用 PWM 对象不断修改占空比。freq1000表示 PWM 频率为 1000Hzduty0表示初始占空比为 0LED 起始状态接近熄灭。后面的循环会把 duty 从 0 增加到 100再从 100 降回 0。如果要控制电机速度不能直接把电机接到 K210 的 GPIO 引脚。GPIO 只能输出控制信号无法直接承担电机工作电流。正确方式是让 PWM 引脚连接电机驱动模块的控制端再由驱动模块给电机供电。占空比越高电机获得的平均驱动能力越强转速通常越快。扩展应用常见问题PWM 实验中常见问题集中在引脚选择、占空比范围、LED 极性、限流电阻、电机驱动和模块类型。程序没有报错但硬件无反应时应先检查接线和实际引脚再检查代码中的pin参数。扩展实验PWM 掌握后可以继续扩展到更多控制场景。LED 呼吸灯是最基础的实验后续可以把占空比变化与按键、传感器、ADC 采样和 AI 识别结果结合让硬件反馈不再固定而是根据输入状态动态变化。总结本篇围绕 PWM 脉宽调制完成了基础说明。PWM 通过快速切换高低电平并改变占空比让 LED 亮度、电机速度、蜂鸣器提示和舵机角度具备更细致的控制能力。掌握 PWM 后CanMV K210 就不再只是控制模块开关而是可以控制强度、节奏、速度和状态变化。后续双色 LED 调光、蜂鸣器提示、风扇控制和舵机实验都会继续使用这套思路。

相关新闻

n8n添加其他n8n API的凭证

n8n添加其他n8n API的凭证

可以参考官方文档:https://docs.n8n.io/connect/n8n-api 这里我们用自己添加自己为例,演示这个过程,如果添加其他n8n的凭证,只替换token即可 博主的n8n版本是2.x版本 文章目录申请API创建凭证申请API 进入【Setting】->【n8n…

2026/8/26 16:58:07 阅读更多 →
【CanMV K210】编程基础 常用通信接口与外设连接基础

【CanMV K210】编程基础 常用通信接口与外设连接基础

CanMV K210 不只依赖 GPIO 控制单个模块,很多传感器、显示屏、RFID、WiFi 和外设模块都需要通过通信接口传输数据。I2C、SPI、UART 是后续硬件实验绕不开的三类基础接口。 在 AI 智能硬件课程中,通信接口相当于开发板和外设之间的数据通道。GPIO 只能表达…

2026/8/26 16:58:07 阅读更多 →
【信息科学与工程学】【解决方案体系】【系统工程】 第三十五篇 AI + ICT + 云计算 + 网络解决方案​ 的软件配置清单03

【信息科学与工程学】【解决方案体系】【系统工程】 第三十五篇 AI + ICT + 云计算 + 网络解决方案​ 的软件配置清单03

网络设备/服务器/组网 + 机械/机床/零部件/装备制造 工具全景表 表1:网络设备 服务器设备 组网工具列表 类别 代表工具 主要用途 适用场景 设备连接与终端​ PuTTY 轻量 SSH/Telnet 客户端 日常登录交换机/路由器/Linux 服务器 MobaXterm 集成 SSH/SFTP/Linux 工具…

2026/8/26 16:58:07 阅读更多 →

最新新闻

八分之一三阶滤波系数优化技巧

八分之一三阶滤波系数优化技巧

摘要:在资源受限的STM32F0等无硬件乘法器MCU上,系数为[1,2,2,3]的三阶FIR滤波器通过整数系数简化乘法、2的幂次分母实现快速移位归一化,以极低计算开销获得确定性滤波效果。本文解析该方案如何在计算效率、资源消耗与滤波性能间取得最佳平衡,成为嵌入式实时信号处理的优化典…

2026/8/26 18:44:22 阅读更多 →
C#中的lock锁

C#中的lock锁

lock 锁详解一、先解释:lock 是什么? lock 是 C# 中用于"多线程同步"的关键字,它保证同一时刻只有一个线程能进入被锁住的代码块。 lock (锁对象) {// 临界区:同一时刻只允许一个线程执行这里 }核心概念:概念…

2026/8/26 18:44:22 阅读更多 →
C++学习笔记(聊天服务器)

C++学习笔记(聊天服务器)

虚函数 虚函数 给基类留一个 “接口空位”,让子类可以替换掉这个函数的实现;调用的时候,自动跑子类的代码,而不是基类的。这个行为叫多态。 如果不加virtual:调用哪个函数,看指针 / 引用的类型&#xff0c…

2026/8/26 18:44:22 阅读更多 →
控制 SELinux 文件上下文

控制 SELinux 文件上下文

初始 SELinux 上下文所有资源(如进程、文件和端口)都标有 SELinux 上下文。SELinux 在 /etc/selinux/targeted/contexts/files/ 目录中维护基于文件的文件标签策略数据库。新文件在文件名与现有标签策略匹配时获得默认标签。当新文件的名称与现有标签策略…

2026/8/26 18:44:22 阅读更多 →
MoonBit v0.10.9 版本更新

MoonBit v0.10.9 版本更新

MoonBit v0.10.4版本更新 对应moonc版本: v0.10.9 语言更新with-pattern 现在需要在使用了 with 的分支显示加上括号,便于读者更容易理解 with-pattern 的优先级。可以使用 moon fmt 进行自动迁移: fn main {let a Some("hello")match a {Som…

2026/8/26 18:44:21 阅读更多 →
绍兴近杭但不贵:临杭产业园的土地成本优势观察本

绍兴近杭但不贵:临杭产业园的土地成本优势观察本

位于绍兴诸暨市次坞镇的临杭产业园,近年来因其独特的区位条件与土地成本优势,逐渐进入杭州及周边地区制造型企业的选址视野。该园区坐落于诸暨北大门次坞镇,地处G60科创走廊与杭绍甬一体化发展轴的交汇点。距杭州主城区约38公里,经…

2026/8/26 18:43:21 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录: 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中,主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段,转入了政务服务的常态化落地应用;在实际使用过程中,它能自主理解办事需求、辅助完成填报申报、开展材料预审,并联动多个系统协同作业,真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →