admin管理员组

文章数量:1794759

Arduino

Arduino

PWM调光实验

什么是PWM?PWM是(Pulse Width Modulation)的简称,中文我们说这是脉冲宽度调制。脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

实验器件:

■ 旋钮电位器:1 个

■ LED灯:1 个

■ 220欧的电阻:1个

■ 面包板:1个

■ 多彩面包板实验跳绳:若干

实验连线

1.将发光二极管插入面包板,

2.用杜邦线将发光二极管的长脚连接到开发板的11引脚,

3.将电阻的一端连接到发光二极管的短脚,另一端接到面包板上的“-”极

4.将旋钮电位器插入面包板,两个固定引脚一个接面包板的“+”,一个接面包板的“-”。

5.将旋钮电位器的中间引脚用杜邦线接到开发板的模拟信号A0口

6.将开发板上的5v和GND接到面包板上的“+”,“-”极。

这样我们就完成了实验的连线部分。

将代码上传到开发板。

程序代码

int potpin=A0;//定义模拟接口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 输________0__出最大值255)

delay(10);//延时0.01 秒

}

实验结论

调节旋钮电位器可以控制灯光亮度。

本文标签: arduino