常用传感器讲解十--光传感器根据亮度安排灯光
常用传感器讲解十–光传感器根据亮度安排灯
具体讲解
接线
我有一个光敏电阻连接到模拟引脚0(任何模拟引脚都可以工作)和面包板右侧的5V电压。它通过接地的1K欧姆电阻器运行。我将面包板另一侧的LED(任何颜色)连接到数字引脚13(任何数字引脚都可以工作)和接地的220欧姆电阻(100欧姆也可以工作)。在第一个LED的右侧,通过不同的数字引脚,以相同的方式为不同颜色的LED接线。
这个怎么运作
如果光敏电阻读取的值大于450,则显示“It is quite light!”。在串行监视器上,然后关闭所有LED,如下所示:
if(light > 450) { // If it is bright…
Serial.println(“It is quite light!”);
digitalWrite(13,LOW); //turn left LED off
digitalWrite(12,LOW); // turn right LED off
}
如果读取的值介于230到450之间,则会打印“It is average light!”。在串行监视器上,并打开左侧的LED,如下所示:
else if(light > 229 && light < 451) { // If it is average light…
Serial.println(“It is average light!”);
digitalWrite(13, HIGH); // turn left LED on
digitalWrite(12,LOW); // turn right LED off
}
这仅使我们得到低于230的值。如果该值小于230,则打印“It is quite dark!”。在串行监视器上,并打开两个LED,如下所示:
else { // If it’s dark…
Serial.println(“It is pretty dark!”);
digitalWrite(13,HIGH); // Turn left LED on
digitalWrite(12,HIGH); // Turn right LED on
}
我在循环末尾添加了1000的延迟,以防止信息超载到串行监视器中,如下所示:
delay(1000); // don’t spam the computer!
电路连接
代码实现
int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
pinMode(13, OUTPUT); // configure digital pin 13 as an output
pinMode(12, OUTPUT); // configure digital pin 12 as an output
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from PR
Serial.println(light); // print current light value
if(light > 450) { // If it is bright...
Serial.println("It is quite light!");
digitalWrite(13,LOW); //turn left LED off
digitalWrite(12,LOW); // turn right LED off
}
else if(light > 229 && light < 451) { // If it is average light...
Serial.println("It is average light!");
digitalWrite(13, HIGH); // turn left LED on
digitalWrite(12,LOW); // turn right LED off
}
else { // If it's dark...
Serial.println("It is pretty dark!");
digitalWrite(13,HIGH); // Turn left LED on
digitalWrite(12,HIGH); // Turn right LED on
}
delay(1000); // don't spam the computer!
}
相关文章
- mysqldump工具,通过--where选项,导出指定表中指定数据?
- 艺多不压身 -- 常用缓存Cache机制的实现
- jzy3D从入门到弃坑_3使用jzy3D0.9画2D散点图--多条线条
- 【微信小程序】-- 其它常用组件介绍 -- button & image(八)
- 【微信小程序】-- 常用的基础内容组件介绍 -- text & rich-text & progress & icon(七)
- 【c/c++】刷算法题时常用的函数手册 持续更新--
- JAVA基础--泛型中常用的通配符
- 运维--shell脚本知识【常用内建变量、判断表达式】
- 【前端学习之HTML&CSS进阶篇】-- HTML第二篇 -- 表格元素与其他常用元素
- Map--常用属性及方法
- Vue- Promise函数---参数resolve(调用.then方法)-- 参数reject(调用.catch方法)---链式结构
- 常用传感器讲解二十一--加速度传感器(ADXL335)
- 常用传感器讲解十八--爆震传感器感器(KY-031)
- 常用传感器讲解十五--触摸传感器(KY-036)
- 常用传感器讲解七--红外警报传感器(KY-008)
- 常用传感器讲解五--声音传感器-(KY-037)
- 常用传感器讲解一--遥控杆-KY-023(joystick)
- TCP/IP协议栈--IP首部选项字段的分析
- 《C#零基础入门之百识百例》(三十九)常用方法 -- String类
- 《C#零基础入门之百识百例》(六十七)枚举常用方法 -- 使用示例
- 一文读懂Unity常用生命周期函数 -- 超级详细、不服来辩~
- shell -- expr命令
- 设计模式(七):Adapter 适配器模式 -- 结构型模式
- mysql--常用基础命令
- PHP常用函数系列--根据生日计算年龄