【Arduino实验05 基于环境光的LED灯亮度感应控制】
目录
一、实验目的
二、实验设备与环境
三、实验重点
四、实验难点
五、实验内容
5.1实验任务
5.2实验原理
5.3实验内容
5.4实验结果
5.5思考题
一、实验目的
1熟悉光敏传感器原理与功能;
2理解串联电路获取传感器数据原理;
3 熟悉模拟输入、输出接口特性与函数的功能;
4编写光敏感应控制LED亮度程序。
二、实验设备与环境
Arduino UNO套件、Arduino IDE、计算机、光敏电阻、LED灯、电阻、跳线等
三、实验重点
1实验电路连接;2程序代码编写;3程序调试
四、实验难点
1程序代码编写、功能调试
五、实验内容
5.1实验任务
任务描述:读取、输出光敏电阻信号值;LED灯亮度感应控制
5.2实验原理
1.基础函数
analogRead(pin);
功能:从引脚pin读取模拟输入值,将0-5V输入电压值映射10位精度的0-1023之间的整数值,返回整数值。
analogWrite(pin,Value);
功能:向引脚pin输出8位精度0-255的Value值。
map(value, fromLow, fromHigh, toLow, toHigh);
功能:将变量Value的值从fromLow~ fromHigh范围映射到toLow~toHigh范围。
2.光敏传感器
光敏传感器是利用光敏元件将光照强度信号转换为电信号的转换器件。它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化。
光敏传感器应用:夜灯、照相机、监控器、光控玩具、声光控开关、光控音乐盒、音乐杯、人体感应开关等电子产品光自动控制领域。
3.LED亮度感应控制电路
利用光敏电路的阻值随光照强度变化而变化的特性,在亮度控制电阻中串联一个电阻构成串联分压电路,实现光敏电阻上随电阻变化得电压值的读取。
串联分压电路
亮度感应控制电路
亮度感应控制原理图
5.3实验内容
1.读取光敏电阻的电压值
步骤1:连接电路(如上图所示)
步骤2:画流程图
步骤3:编写程序源代码
Arduino IDE程序:
const int light_R_Pin = A0;void setup() {Serial.begin(9600);}void loop() {int light_Value;light_Value = analogRead(light_R_Pin);Serial.print(“light Value =:”);Serial.println(light_Value); // 输出光敏电阻读取的数据Serial.println(light_Value,BIN); // 以二进制输出光敏电阻读取的数据Serial.println(light_Value,HEX); // 以十六进制输出光敏电阻读取的数据delay(500);}
Mixly程序:
步骤4: 程序编译与调试
2.LED灯亮度感应控制
步骤1:连接电路
步骤2:画流程图
步骤3:编写程序源代码
Arduino IDE程序:
const int light_R_Pin = A0;const int ledPin = 5;int light_Value;int light_Value_max = 600; // 光敏电阻最大读取值,实验时,以实际读数为准int led_Value;void setup() {Serial.begin(9600);}void loop() {light_Value = analogRead(light_R_Pin);Serial.print("light_Value =:");Serial.println(light_Value); //将读取的值输出到监视器led_Value = map(light_Value,0, light_Value_max,0,255);Serial.println(light_Value); //将读取值映射后输出到监视器Serial.analoglWrite(ledPin, led_Value); // 输出光敏电阻读取的数据delay(200);
}
Mixly程序:
步骤4: 程序编译与调试
步骤5:改变map()函数映射范围初值、终值顺序,观察LED亮度变化规律
5.4实验结果
结论:在本次实验中,结果为随着光照强度变小,LED越来越暗,光照强度变大,LED越亮。
反思:首先,通过本此实验我更加熟练地使用Arduino IDE软件,以及通过Arduino IDE软件来编译代码控制Arduino微控制板,本次实验要知道光敏电阻的性质,还学到了很多的知识。其次,在本次实验中,结果为随着光照强度变小,LED越来越暗,光照强度变大,LED越亮。最后,希望下次继续努力学习,再接再厉。
作品:
5.5思考题
1.光敏电阻的阻值随光照强度如何变化?
2.模拟输入、输出接口有哪些,输入、输出数值各有什么特点?
3.PWM的涵义是什么?占空比45%PWM值是多少?
4.如果将map()函数的映射数据范围的初值、终值取反,会观察到什么现象?为什么?
【Arduino实验05 基于环境光的LED灯亮度感应控制】相关推荐
- 实战microPython(05)-WS2812全彩LED灯串的控制
实战microPython(05)-WS2812全彩LED灯串的控制 David Zou 2018-09-17 在喜庆的节日中,我们经常使用彩灯串来增加节日的气氛.最早期的使用的是单色的小灯珠,只有亮 ...
- 秒上手!使用Arduino控制基于WS2812B的LED灯条
使用Arduino控制基于WS2812B的LED灯条 一.材料准备 硬件部分 1. Arduino UNO R3 开发板 2. 基于WS2812B的LED灯条 3. 杜邦线若干 软件部分 1. Ard ...
- Arduino系列之米思齐旋钮控制LED灯亮度
Arduino系列之旋钮控制LED灯亮度 实验原理 电位器的旋钮旋转时改变电阻从而控制LED灯的亮度! 实验所需材料 arduino开发板,LED灯,电位器,1602液晶显示器,杜班线很多根,公母线很 ...
- 使用无线WIFI模块NodeMCU Lua V3物联网开发板8266-01/01S 在Arduino搭建环境到点亮一个LED灯
使用无线WIFI模块NodeMCU Lua V3物联网开发板8266-01/01S 在Arduino搭建环境到点亮一个LED灯 软件下载 基于Arduino环境搭建 点亮一个LED灯 上传成功 修改代 ...
- 如何利用Arduino和TFT LCD操控NeoPixel LED灯条
原文地址:https://circuitdigest.com/microcontroller-projects/neopixel-rgb-led-strip-with-arduino 如何利用Ardu ...
- Arduino光敏传感器控制LED灯亮度
Arduino光敏传感器控制LED灯亮度 目标一: 通过光敏传感器,使得LED亮度根据环境亮度自动调节,环境亮度低则LED灯更亮些 光敏传感器: 光敏传感器共有四个端口: AO:模拟信号输出 DO:T ...
- Mixly遥控器调节LED灯亮度
通过遥控器调节LED灯亮度 一.实验目的及要求 按遥控器上的CH键实现LED的开关.开了LED的情况下可以通过CH+和CH-键实现控制LED的光亮变化.LED关闭状态CH+和CH-无效 二.实验软硬件 ...
- 自动感光调节LED灯亮度C语言程序,单片机PWM调节LED灯亮度
刚搞完飞思卡尔智能车,昨天我一起做车的搭档跑来跟我说魏老师(我们系的前主任,不知道他们怎么认识的....)叫他帮忙做个可通过无线遥控调节LED灯亮度的设计方案,问我有没有兴趣做做,主要是魏老师也是受他 ...
- LED灯带蓝牙芯片控制解决方案
LED灯带简介 LED灯带常规分为柔性LED灯带和LED硬灯条两种,但一般也包含了用线材连接LED的老式灯带,如扁三线4.3W/米.扁四线6.48W/米.扁五线8.64W/米灯带等.led灯带是把LE ...
最新文章
- cocos2dx在eclipse环境下集成ucsdk
- 头条丨2017年人工智能年报
- 中国云计算市场加速发展 今年有望突破3000亿
- JavaScript实现jumpSearch跳转搜索算法(附完整源码)
- 【转】PHP的异常处理类Exception的使用及说明
- 发布订阅之topics
- python 网页樱花动态图_python,tensorflow线性回归Django网页显示Gif动态图
- kettle插入更新流程
- Appium——主从控制执行
- 音乐美术计算机在中考,2022年音乐、美术进中考?教育部最新回应...
- 【转】XP下OpenProcess( PROCESS_ALL_ACCESS...失败
- php parse_url,pathinfo,basename函数
- EFUCMSE16小说漫画系统搭建教程
- 浅析城市综合管廊配电结构
- 平衡二叉树(C++实现)
- ubuntu16.04电信拨号宽带连接网络
- 六大危害不容忽视 笔记本外接显示器杂谈
- H3C交换机配置trunk
- 根本原因分析(RCA)
- 使用Arcmap将WGS84坐标转换成国家大地坐标系2000
热门文章
- COMP252, Winter 2022. Jan 13, 2022. Due Jan 20, 2022, 4pm.
- luogu P3642 [APIO2016]烟火表演
- 如何给表格中的关键字加中括号,双引号?
- statfs结构体和函数详解——例程
- nodejs egg 获取用户的登录ip位置,ua
- windows被迫重装系统| 数据恢复 | 启动盘 PE盘 | 批量软件安装
- 逻辑代数的基本定律和运算规则
- RAD Studio破解补丁合集(2018.12.25)
- KK模组、同步带模组和线性模组的区别在哪里?
- php使用最新qq企业邮箱smtp服务发送邮件需要开启ssl、开启客户端专用密码