光线传感器是使用光敏电阻作为感应元件,环境光线的改变,会引起光敏电阻阻值的变化,从而产生信号引脚电压的变化,Arduino 控制器模拟接口读取到电压变化,会控制 LED 的亮度变化,来实现在不同环境光线下,产生不同的亮度。装置中使用到红外热释电传感器,是用来检测是否有人经过,所以这个装置就可以实现在夜晚,有人经过的时候小夜灯会亮起。
使用硬件
1、光线传感器 * 1 个
2、Arduino UNO 控制器 * 1 个
3、LED 发光模块 * 1 个
4、红外热释电传感器 * 1 个
5、mini 面包板
6、9V 1A 电源适配器
7、USB 数据线 * 1 条
8、3P 传感器连接线 * 2 条
9、实验跳线 * 若干
软件环境:Arduino IDE 1.8.1 / 奥松编程吧
编程语言:Arduino C 语言 / 图形化编程语言
接线说明:
* LED 发光模块 S 连接 Arduino UNO 控制器 D3 引脚
* 光线传感器 S 连接 Arduino UNO 控制器 A0 引脚
* 红外热释电传感器 S 连接 Arduino UNO 控制器 D2 引脚
* 三个传感器的 + 连接在一起,并连接到 Arduino UNO 控制器的 5V 引脚
* 三个传感器的 - 连接在一起,并连接到 Arduino UNO 控制器的 GND 引脚
* 9V 1A 电源适配器连接到 Arduino UNO 控制器的 DC 接口,进行供电
硬件接线图:
实物接线图:
Arduino C 语言代码例子程序:
#define LED 3
#define PIR 2
void setup() {
//Serial.begin(9600);
pinMode(LED,OUTPUT);
pinMode(PIR,INPUT);
}
void loop() {
int val = analogRead(A0);
int val1 = digitalRead(PIR);
//Serial.println(val);
if(val1 == 1 && val > 700)
{
int value = map(val,700,1024,50,255);
analogWrite(LED,value);
delay(1000);
}
else
{
digitalWrite(LED,LOW);
}
}
奥松编程吧图形化例子程序:
本实验的效果就是在夜晚,光线传感器的值检测大于 700 时,如果有人经过,LED 模块就会亮起,亮起延时 1 秒,然后再重新检测,LED 发光模块的亮度与环境光线有关,环境光线越强,LED 的亮度就会越低。
这里给大家提供的只是一个建议的接线和代码方案,我们当然可以多使用几个 LED 制作亮度更高的小夜灯,或者使用现在广泛应用的 3D 打印技术为你的小夜灯打印一个外壳,让它变得更漂亮,你还有什么更好的创意呢?动手试一试吧!
创造源创客,创意自奥松
-------------------------------------------------------------------------------------------------------------------------------
秀创客教学视频:supermaker.tv
微信号:奥松机器人
京东:alsrobot.jd.com
淘宝:robotbase.taobao.com
QQ群:16816196(讨论,解惑)
新浪微博:@奥松机器人基地
近期新闻
热门新闻
奥松智能微信