当前位置: 首页 > news >正文

网站设计费用一览表wordpress注册登录小工具

网站设计费用一览表,wordpress注册登录小工具,网站制作设计培训多少钱,买好域名后怎么做网站MENU 前言原理硬件电路设计软件程序设计analogWrite()函数实现呼吸灯效果LEDC输出PWM信号 前言 学习制作呼吸灯#xff0c;通过LED灯的亮度变化来验证PWM不同电压的输出。呼吸灯是指灯光在单片机的控制之下完成由亮到暗的逐渐变化#xff0c;感觉好像是人在呼吸。 原理 脉冲宽… MENU 前言原理硬件电路设计软件程序设计analogWrite()函数实现呼吸灯效果LEDC输出PWM信号 前言 学习制作呼吸灯通过LED灯的亮度变化来验证PWM不同电压的输出。呼吸灯是指灯光在单片机的控制之下完成由亮到暗的逐渐变化感觉好像是人在呼吸。 原理 脉冲宽度调制(PWM)是英文Pulse Width Modulation的缩写简称脉宽调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术广泛应用在测量、通信到功率控制与变换的许多领域中。 PWM通过调节输出不同频率(频率是指1秒钟内信号从高电平到低电平再回到高电平的次数一个周期)、占空比(一个周期内高电平出现时间占总时间比例)的方波。以实现固定频率或平均电压输出。频率固定改变占空比可改变输出电压。 硬件电路设计 材料名称数量直插式LED11kΩ电阻1杜邦线(跳线)若干面包板1 LED的正极接开发板的D12引脚并串联一个电阻负极接GND。 一定要接电阻不然会由于电流过大烧坏LED。 软件程序设计 analogWrite()函数实现呼吸灯效果 使用Arduino自带的analogWrite(pin, value)函数输出PWM。 pin是要写入的Arduino引脚。允许的数据类型为int。 value是占空比介于0(始终关闭)和255(始终开启)之间。允许的数据类型为int。 // 宏定义GPIO输出引脚 #define LED_PIN 12void setup() {// 配置GPIO输出引脚pinMode(LED_PIN, OUTPUT); }void loop() {// 实现渐亮效果for (int i 0; i 256; i) {// 设置亮度模拟值analogWrite(LED_PIN, i);// 延时10msdelay(10);}// 实现渐灭效果for (int i 255; i 0; i--) {// 设置亮度模拟值analogWrite(LED_PIN, i);// 延时10msdelay(10);} }LEDC输出PWM信号 使用ESP32的LEDC外设在 ESP32 上有一个 LEDC 外设模块专用于输出 PWM 波形。 LED PWM控制器可以生成16路通道(0~15)波形波形的周期和占空比可配置。分为高低速两组高速通道(0~7)由80MHz时钟驱动低速通道(8~15)由1MHz时钟驱动。另外每路LED PWM支持自动步进式地增加或减少占空比可以用于LED RGB彩色梯度发生器。 作为刚入门的学习者上面这段概念不理解也不影响后续的学习需要了解的是LEDC的控制函数以及PWM信号的产生流程。 打开esp32_hal_led.h文件后可以看到LEDC的所有控制函数。 // 设置LEDC通道对应的频率和计数位数(占空比分辨率)返回最终频率 // 分辨率的意思就是把一个周期分成2的resolution_bits份。 uint32_t ledcSetup(uint8_t channel, uint32_t freq, uint8_t resolution_bits);// 指定通道输出一定占空比波形 void ledcWrite(uint8_t channel, uint32_t duty);// 类似于arduino的tone 当外接无源蜂鸣器的时候可以发出某个声音(根据频率不同而不同) uint32_t ledcWriteTone(uint8_t channel, uint32_t freq);// 该方法是上面方法的进一步封装可以直接输出指定调式和音阶声音的信号 uint32_t ledcWriteNote(uint8_t channel, note_t note, uint8_t octave);// 返回指定通道占空比的值 uint32_t ledcRead(uint8_t channel);// 返回指定通道当前频率(如果当前占空比为0则该方法返回0) uint32_t ledcReadFreq(uint8_t channel);// 将LEDC通道绑定到指定IO口上以实现输出 void ledcAttachPin(uint8_t pin, uint8_t channel);// 解除IO口的LEDC功能 void ledcDetachPin(uint8_t pin);使用LEDC外设的时候需要遵循以下步骤。 1、使用ledcSetup()函数建立LEDC通道 2、通过ledcAttachPin()将GPIO口与LEDC通道关联 3、通过ledcWrite()、ledcWriteTone()、ledcWriteNote()设置频率、设置蜂鸣器音调等等 4、通过ledcDetachPin()解除GPIO口与LEDC通道的关联。 实现呼吸灯效果的代码。 // 频率 #define FREQ 2000 // 通道 #define CHANNEL 0 // 分辨率 #define RESOLUTION 8 // LED引脚 #define LED 12void setup() {// 设置通道ledcSetup(CHANNEL, FREQ, RESOLUTION);// 将通道与对应的引脚连接ledcAttachPin(LED, CHANNEL); }void loop() {// 逐渐变亮for (int i 0; i pow(2, RESOLUTION); i) {// 输出PWMledcWrite(CHANNEL, i);delay(5);}// 逐渐变暗for (int i pow(2, RESOLUTION) - 1; i 0; i--) {// 输出PWMledcWrite(CHANNEL, i);delay(5);} }
http://www.zqtcl.cn/news/823009/

相关文章:

  • 网站定位的核心意义离婚协议书模板 完整版
  • 网站首页改版方案长图制作网站
  • 网站的栏目有什么名字保定网络公司网站
  • 南京建设机械网站建设银行网站解除绑定
  • 厚街公司网站建设wordpress发邮件更新
  • wap网站制作网络设计公司经营范围
  • 织梦网站被做跳转还被删除文件第三方电子商务平台有哪些
  • 财经网站源码 织梦游戏ui培训
  • 石家庄站布局图网站建设公司怎么
  • 电商网站建设选迅法网东莞系统网站建设
  • 网站栏目 英文wordpress 情侣
  • 济南市历下区建设局官方网站wordpress 作者页
  • 武进建设银行网站首页大型网站建设哪家快
  • 做网站用vs怎么自己写代码做网站
  • 网站建设产品需求文档技术培训学校机构
  • 简单个人网站源码石景山网站seo优化排名
  • 用花生做网站房地产电子商务的网站建设
  • 宁波网站建设团队sem竞价托管多少钱
  • 工艺品东莞网站建设营销助手app
  • 怎么添加网站 多少钱wordpress 在线教育模板
  • 做鞋的垂直网站小型购物网站模板
  • 石家庄公司网站建设网站建设技术难点
  • 阿里云能放企业网站吗建设网站的建设费用包括什么
  • 网站对公司的作用是什么初学者学做网站用什么软件
  • 网站的建设模式高校后勤网站建设要求
  • 网站的导航栏怎么做的网站seo诊断报告怎么写
  • elementui 做的网站写网站编程需要什么
  • 一站式网站建设顾问小程序小游戏开发
  • 网站导航html网站开发从哪开始学
  • 成立网站是不是需要先成立公司上海今天新闻发布会直播