首页 > 编程语言 >【雕爷学编程】Arduino动手做(02)---光敏电阻模块2

【雕爷学编程】Arduino动手做(02)---光敏电阻模块2

时间:2023-07-15 16:47:00浏览次数:37  
标签:动手做 02 光敏电阻 Arduino 实验 模块 串口 LED

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二:光敏电阻传感器模块

 

光敏电阻传感器模块实验所需硬件清单
光敏电阻(5516)X3
Arduino Uno开发板 X1
10K分压电阻(1/8W)x1
杜邦线 若干(备了10条)
LED发光二极管(蓝色)X1
220欧姆限流电阻(1/8W)x1
光敏电阻模块(3针与4针)X2
Proto Shield 原型扩展板(带mini面包板)X1
按键开关模块(下拉电阻与上拉电阻款各1只)X2

光敏电阻传感器模块实验的说明
1、光敏电阻模块小板模拟量输出AO可以和AD模块相连,通过AD转换,可以获得环境光强更精准的数值;
2、光敏电阻模块对环境光线变化比较敏感,一般用来检测周围环境的光线的亮度,触发Arduino或继电器模块等,实现光电控制;
3、模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平;
4、DO输出端可以与Arduino直接相连,通过Arduino来检测高低电平,由此来检测环境的光线亮度改变;
5、DO输出端也能直接驱动继电器模块,由此可以组成一个光控开关;
6、光敏传感器控制的LED为你Arduino上接的13脚LED灯(也可以理解为负载),并非模块上的D0-LED+指示灯;
7、模块上的蓝色电位器旋钮最好不要顺时针和逆时针到底,保持在中间即可控制。微调进行灵敏度调节;
8、本系列小实验使用多种方式进行,包括光敏电阻直接输出、4针模块的A0模拟输出和3针模块数字输出等。

 

实验二:通过光敏电阻模块模拟口来控制LED灯的开关
1、实验二参考开源代码(Arduino):

 

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二:通过光敏电阻模块模拟口来控制LED灯的开关
  实验接线:
  LED灯(板载D13)
  光敏电阻模块   Uno
  +            Vcc
  G            GND
  A0           A0
*/

int sensor_value = 0; 

void setup() {
  Serial.begin(9600);
  pinMode(A0, INPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  sensor_value = analogRead(A0);//将模拟数据(A0)赋值给变量
  Serial.println(sensor_value);//串口输出亮度数值
  delay(200);

  if (sensor_value > 151)//设置打开LED灯的阕值(可参考串口值来定)
  {
    digitalWrite(13, HIGH);//如果串口值大于151则LED灯亮
    Serial.println("亮");// 串口输出“亮”字
    delay(500);// 点亮500毫秒
  }
  else
  {
    digitalWrite(13, LOW);
  }
}

  

打开串口监视器,可以看到正常光线时的数值,当用手遮住光敏电阻模块时,数值上升,如果大于151(实验设置的阕值),则点亮LED灯(显示亮),小于151则LED灯熄灭。

 

用手遮光时的实验场景图

 

开源仿真编程(Linkboy V4.2)及串口输出

开源图形编程(Mind+、编玩边学)以及实验串口输出截图

实验三:LED亮度随环境光发生变化(PWM调制)
实验三参考开源代码(Arduino):

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验三:LED亮度随环境光发生变化(PWM调制)
  实验接线:
  LED灯接D3(PWM脚)
  光敏电阻模块  Uno
  +             Vcc
  G             GND
  A0            A0
*/

const int minVal = 220; //设定当前环境光最小值(正常光线下灯未亮的值)
const int maxVal = 800;   //设定当前环境光的最大值
const int ldrPin = A0;   //光敏电阻连接引脚A0
const int ledPin = 3;   //LED模拟(PWM)输出引脚D3

void setup() 
{
  pinMode(ldrPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
 {
  int ldrVal = analogRead(ldrPin);  //获取光敏电阻的返回值
  ldrVal = constrain(ldrVal, minVal, maxVal);
  int ledVal = map(ldrVal, minVal, maxVal, 0, 255);
  Serial.print("Value : ");
  Serial.print(ldrVal);         //将光敏电阻返回值输出到串口监视器上
  Serial.print("----");
  Serial.println(ledVal);       //将映射后的值输出到串口监视器上
  analogWrite(ledPin, ledVal);  //PWM输出,LED亮度随环境光发生变化
  delay(400);
}

  

实验结果:随着光照强度变小,LED越亮。随光线变化的串口输出情况

 

标签:动手做,02,光敏电阻,Arduino,实验,模块,串口,LED
From: https://www.cnblogs.com/eagler8/p/17556451.html

相关文章

  • 2023ACM暑期集训 DAY 1
    目前进度——动态规划1:线性dp、背包问题,区间好题1003可爱の星空标签递推分治思路记\(dp_i\)表示将\(i\)颗点合并为一个连通块所需的最小代价。根据贪心思想:若目前的总点数\(n\)为偶数,则\(dp_n=2*dp_{\frac{n}{2}}\);若目前的总点数\(n\)为奇数,则\(dp_n=dp_{[\fr......
  • 【雕爷学编程】Arduino动手做(06)---KY-038声音传感器模块4
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(06)---KY-038声音传感器模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • ON1 Portrait AI 2023 - mac智能AI人像处理软件
    ON1PortraitAI2023是一款专为Mac设计的智能AI人像处理软件。它具有全面的功能,可帮助摄影师和摄影爱好者轻松优化和完善人像照片。→→↓↓载ON1PortraitAI2023mac版 ON1PortraitAI2023的主要特点如下:智能人像识别:ON1PortraitAI2023使用先进的AI技术......
  • ON1 NoNoise AI 2023 - mac图片降噪软件
    ON1NoNoiseAI2023是一款专为Mac设计的先进降噪软件,旨在帮助摄影师高效处理照片中的噪点问题。它利用先进的AI技术,能够准确地识别和分析照片中的噪声,并以非常精细的方式去除噪点,提供清晰、细腻的图像结果。→→↓↓载ON1NoNoiseAI2023mac版 下面是ON1NoNoiseAI......
  • 2023年第29周个人总结
    文档编辑机器+移动窗口变化率计算投标文档书写本周在公司主要对投标文档的修改:首先表格的脚注很重要,当多个表格在一起时,表格的脚注可以起到非常关键的作用,能够让读者快速弄懂该表格的含义。然后关于文档的错别字,自己写的文档自己是真的不可能能够读懂,所以可以采用通读一遍......
  • 2023.7.15-假期周进度报告
    本周(7.9-7.15)主要返家并在家进行休息。下周准备开始学习大数据的相关知识。虽然我觉得下周的计划可能完不成,但是计划总是要有的。周日,进行回家前的最后准备,并且回家,完成了回家前的最后准备并顺利的返回家中,遇到了路上天气太炎热的问题,解决方法是没有办法解决,路上尽量找荫凉的地方......
  • 【雕爷学编程】Arduino动手做(152)---BMI160 六轴陀螺仪模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【转】Docker入门笔记02:docker的版本,你真的搞清楚了吗
    原文:https://zhuanlan.zhihu.com/p/305572519刚开始学docker的时候,被docker.io、docker-io、docker-engine、docker-ce、docker-ee这些名词搞晕了,那么到底应该安装哪个呢?docker之所以有这么多名称,是由它的发展历史决定的。为什么会有docker.io、docker-io这种命名方式在Dock......
  • Java基础--day02
    变量作用域类变量、实例变量、局部变量 publicclassDemo03{/***类变量static*/staticdoublesalary=89561.36;/***实例变量*从属于对象*不初始化,会变成默认类型*00.0布尔值默认false*除了基本类......