Arduino实现光敏电阻简单控制LED

Arduino实现光敏电阻简单控制LED

非常简单的方法利用Arduino实现光控LED

电路连接

我使用的是一块Arduino UNO板子,需要一个光敏电阻模块,至少一个LED发光二极管,杜邦线若干。电路连接很简单
1.光敏电阻VCCGND连到板子的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:如果感觉效果不明显,可以用螺丝刀改变光敏电阻模块上的灵敏度,或者给发光二极管串联阻值稍大点的电阻

猜你喜欢

转载自blog.csdn.net/GW_spacetime/article/details/107989055