Arduino实现光敏电阻简单控制LED
非常简单的方法利用Arduino实现光控LED
电路连接
我使用的是一块Arduino UNO板子,需要一个光敏电阻模块,至少一个LED发光二极管,杜邦线若干。电路连接很简单
1.光敏电阻VCC、GND连到板子的5V、GND;
2.选择光敏电阻模拟信号输出口AO(analog output)接到Arduino的A0(analog in);
3. 选择Arduino的数字引脚6(digital PWM)连接发光二极管的正极,GND连负极;可串联多个LED,或者加个1k的电阻;
4. ok就这么简单,引脚随你改都无所谓,程序跟着来就行了;
Arduino代码
用的是Arduino IDE编写
const int ledPin=6;
const int idrpin=A0;
const int low=0;
const int high=1023;
void setup() {
Serial.begin(9600); //打开串口,波特率9600
}
void loop() {
int guangmin=analogRead(idrpin); //读入光敏电阻产生的模拟信号(范围:0~1023)
Serial.print("value= ");
Serial.print(guangmin);
guangmin=map(guangmin,0,1023,255,0); //map函数 将0~1023范围映射到255~0
//这里反着写255,0;因为想实现随着光强增加LED变亮
Serial.print("--");
Serial.println(guangmin);
analogWrite(ledPin,guangmin); //让6号引脚发出PWM波
delay(100); //延时100ms
}
运行结果
可以在串口监视器里看到光敏电阻返回值随着光强而改变
点击上传自动编译并烧进Arduino,就完成啦
PS:如果感觉效果不明显,可以用螺丝刀改变光敏电阻模块上的灵敏度,或者给发光二极管串联阻值稍大点的电阻