本例向你展示模拟信号的输出,通过脉宽调制技术(PWM)让LED亮度渐弱。PWM技术会快速地开关一个数字引脚,通电的时间和断电的时间按照一定的比例分配,通过这来让输出所谓的“模拟信号”,这种方式并非是直接输出模拟信号,而是通过脉宽调制来模拟。
硬件需求
Arduino板
LED
220Ω电阻
跳线
面包板
杜邦线/面包板线
电路搭建
LED连接通过220Ω电阻连接到9号引脚。
代码
在这个例子中,有两个循环,一个逐渐增加施加在9号引脚上的PWM值,一个逐渐减小施加在9号引脚上的PWM值。
/*
LED亮度渐隐
本例展示analogWrite()函数的使用。
电路搭建:
* LED连接9号引脚和GND
代码是公开的
*/
int ledPin = 9; //LED连接到9号引脚
void setup() {
// 什么都不做
}
void loop() {
//步长为5,从小到大:
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
// 设置数值 (0到255):
analogWrite(ledPin, fadeValue);
// 等待30毫秒,来让人看清效果。
delay(30);
}
// 步长为-5,从大到小:
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
// 设置数值 (0到255):
analogWrite(ledPin, fadeValue);
// 等待30毫秒,来让人看清效果
delay(30);
}
}
LED亮度渐隐
本例展示analogWrite()函数的使用。
电路搭建:
* LED连接9号引脚和GND
代码是公开的
*/
int ledPin = 9; //LED连接到9号引脚
void setup() {
// 什么都不做
}
void loop() {
//步长为5,从小到大:
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
// 设置数值 (0到255):
analogWrite(ledPin, fadeValue);
// 等待30毫秒,来让人看清效果。
delay(30);
}
// 步长为-5,从大到小:
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
// 设置数值 (0到255):
analogWrite(ledPin, fadeValue);
// 等待30毫秒,来让人看清效果
delay(30);
}
}
请先
!