PWM调光实验

实现oop

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

操做spa

(这是接线图)code

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
}

验证上传后,调节电位器能够看到光强的变化。blog

分析接口

 

 

 

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

小注class

Arduino(其余数字电路也是)的输出电压是一个数字量,只能输出0V或5V。可是咱们想要一个模拟电压,因此就用PWM模拟输出。变量

 

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

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

好比图上三个:3.75V=5V*0.7五、2.5V=5V*0.5V,1V=5V*0.2

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

相关文章
相关标签/搜索