欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-27 08:22:38
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...

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实现光敏电阻简单控制LED
点击上传自动编译并烧进Arduino,就完成啦
Arduino实现光敏电阻简单控制LED
Arduino实现光敏电阻简单控制LED

PS:如果感觉效果不明显,可以用螺丝刀改变光敏电阻模块上的灵敏度,或者给发光二极管串联阻值稍大点的电阻

本文地址:https://blog.csdn.net/GW_spacetime/article/details/107989055

相关标签: arduino 单片机