数码之家

 找回密码
 立即注册
搜索
查看: 1820|回复: 1

[STM] 【零知ESP8266教程】快速入门10-使用PWM进行调光

[复制链接]
发表于 2019-10-16 15:31:32 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x

前面的分享热身完毕,接下来,我们要进入更专业电子技术的深入哦!

PWM科普:PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码。

PWM在很多场景下都能得到应用,比如调光、电机调速、音频等。在这里我们使用PWM对LED进行亮度调节,下面我们一起一步步动手制作吧。

一、工具原料
电脑,windows系统
零知ESP8266开发板
micro-usb线
LED灯一个
220Ω 电阻1个
电位计一个
面包板一个+若干跳线

二、硬件连接

1.png

2.jpg


三、方法步骤
1、打开零知实验室软件开发工具,然后新建项目,输入以下代码:

  1. /**
  2. *    文件: PWM调光测试.ino      by 零知实验室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
  3. *    -- 零知开源,让电子制作变得更简单! --
  4. *    时间: 2018/06/26 09:55
  5. *    说明: 使用电位器来调节LED灯的亮度
  6. **/
  7.   
  8. int led        = D1;//led连接到一个具有PWM引脚功能的脚上,这里连接到具有PWM功能的D1脚
  9. int port = A0;//连接电位器的引脚,测量模拟输入
  10.   
  11. int value = 0;//读取到的模拟输入值
  12.   
  13. // the setup routine runs once when you press reset:
  14. void setup() {
  15.     // put your setup code here, to run once:
  16.         pinMode(led, OUTPUT);
  17.         Serial.begin(9600);
  18. }
  19.   
  20. // the loop routine runs over and over again forever:
  21. void loop() {
  22.     // put your main code here, to run repeatedly:
  23.         value = analogRead(port);
  24.         Serial.println(value);
  25.         analogWrite(led, value);
  26.         delay(100);//延时一会儿
  27. }
复制代码

2、按照之前的方式先【验证】,然后【上传】到开发板中。

四、成果展示
上面步骤成功完成后,我们就可以看到预期的结果了,在我们调节电位计的时候,LED灯的亮度随之变化。

亲测有效哦!


发表于 2020-2-14 15:15:03 | 显示全部楼层
好帖子,认真学习了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-26 19:55 , Processed in 0.249601 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表