PWM调光实验

实现

调节面包板上的电位器,使LED灯光强改变。

操作

(这是接线图)

int potpin=0;//定义模拟接口0
int ledpin=11;//定义数字接口11(PWM 输出)
int val=0;// 暂存来自传感器的变量数值
void setup()
{
pinMode(ledpin,OUTPUT);//定义数字接口11 为输出
Serial.begin(9600);//设置波特率为9600
//注意:模拟接口自动设置为输入
}
void loop()
{
val=analogRead(potpin);// 读取传感器的模拟值并赋值给val
Serial.println(val);//显示val 变量
analogWrite(ledpin,val/4);// 打开LED 并设置亮度(PWM 输出最大值255)
delay(10);//延时10ms
}

验证上传后,调节电位器可以看到光强的变化。

分析

 

 

 

电位器输出电压给A0;旋转电位器旋钮电压会不断变化,即给A0输出一个模拟电压。Arduino从A0读取模拟电压,然后通过11引脚(是一个PWM接口)输出给LED电路。

小注

Arduino(其他数字电路也是)的输出电压是一个数字量,只能输出0V或5V。但是我们想要一个模拟电压,所以就用PWM模拟输出。

 

通过调节占空比(就是一个周期里高电压占多少比例)改变输出电压。

输出电压=(接通时间/脉冲时间)*最大电压值

比如图上三个:3.75V=5V*0.75、2.5V=5V*0.5V,1V=5V*0.2

这样通过极短时间(程序上是每10ms),不断改变占空比就可以模拟随时间变化的模拟电压。

 

转载于:https://www.cnblogs.com/nanmu/p/10858644.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值