您的位置:首页 > 产品设计 > UI/UE

arduino学习笔记4 读取模拟器,PWM调节灯光亮度,感热灯

2017-10-29 16:48 429 查看
1.读取模拟器

int potpin=0;//指定模拟端口A0
int ledpin=13;//指定LED端口 13
int val=0;//声明临时变量
void setup()
{
pinMode(ledpin,OUTPUT);//设置端口13为输出模式
Serial.begin(9600);//设置串口波特率为9600
}
void loop()
{
digitalWrite(ledpin,HIGH);//拉高端口13,LED点亮
delay(50);//延时0.05秒
digitalWrite(ledpin,LOW);//拉低端口13,关闭LED
delay(50);//延时0.05 秒
val=analogRead(potpin);//读取A0口的电压值并赋值到val
Serial.println(val);//串口发送val值
}

接线图如下



要注意,面包板中间大横槽隔开的两头不连通,如果可调电阻横跨两头,或者接线从大横槽断开,实验都会失败。
此时上传代码,打开串口监视器,就可以看到反馈的数字在不断更新,旋转可调电阻,就可以看到数值的变化。

2.PWM调节灯光亮度
int potpin=0;//定义模拟接口0
int ledpin=11;//定义数字接口11(PWM 输出),arduino有六个PWM接口,分别是3,5,6,9,10,11
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
}

接线图如下



此时如果我们将可调电阻阻值减小,灯光就会变弱。反之则变强。
PWM全称Pulse Width Modulation,译为脉冲宽度调制。输出电压=(接通时间/脉冲时间)*最大电压值。

3.感热灯
int potpin=0;//设置模拟端口A0
int ledpin=11;//设置数字端口11 ,后面用作PWM输出
int val=0;//声明变量val
void setup()
{
pinMode(ledpin,OUTPUT);//设置数字11为输出模式
Serial.begin(9600);//设定波特率为9600
}
void loop()
{
val=analogRead(potpin);//读取A0的模拟电压值,并赋值到val
val = 245- val/2;
if(val < 0)
val = 0;
Serial.println(val);
analogWrite(ledpin,val);// PWM输出驱动LED
delay(100);//延时100ms
}

接线图如下,LED灯连接一个220欧电阻,热敏电阻器连接一个10K电阻



此时效果为,热敏电阻器所处的环境越热,LED灯越亮。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Arduino 学习笔记