常用传感器讲解十--光传感器根据亮度安排灯

简介: 常用传感器讲解十-

具体讲解

接线
我有一个光敏电阻连接到模拟引脚0(任何模拟引脚都可以工作)和面包板右侧的5V电压。它通过接地的1K欧姆电阻器运行。我将面包板另一侧的LED(任何颜色)连接到数字引脚13(任何数字引脚都可以工作)和接地的220欧姆电阻(100欧姆也可以工作)。在第一个LED的右侧,通过不同的数字引脚,以相同的方式为不同颜色的LED接线。

这个怎么运作
如果光敏电阻读取的值大于450,则显示“It is quite light!”。在串行监视器上,然后关闭所有LED,如下所示:

if(light > 450) { // If it is bright...
Serial.println("It is quite light!");
digitalWrite(13,LOW); //turn left LED off
digitalWrite(12,LOW); // turn right LED off
}
如果读取的值介于230到450之间,则会打印“It is average light!”。在串行监视器上,并打开左侧的LED,如下所示:

else if(light > 229 && light < 451) { // If it is average light...
Serial.println("It is average light!");
digitalWrite(13, HIGH); // turn left LED on
digitalWrite(12,LOW); // turn right LED off
}
这仅使我们得到低于230的值。如果该值小于230,则打印“It is quite dark!”。在串行监视器上,并打开两个LED,如下所示:

else { // If it's dark...
Serial.println("It is pretty dark!");
digitalWrite(13,HIGH); // Turn left LED on
digitalWrite(12,HIGH); // Turn right LED on
}
我在循环末尾添加了1000的延迟,以防止信息超载到串行监视器中,如下所示:

delay(1000); // don't spam the computer!

电路连接

截屏2023-12-27 下午7.35.30.png

代码实现

int light = 0; // store the current light value

void setup() {
   
   
    // put your setup code here, to run once:
    Serial.begin(9600); //configure serial to talk to computer
    pinMode(13, OUTPUT); // configure digital pin 13 as an output
    pinMode(12, OUTPUT); // configure digital pin 12 as an output
}

void loop() {
   
   
    // put your main code here, to run repeatedly:
    light = analogRead(A0); // read and save value from PR

    Serial.println(light); // print current light value

    if(light > 450) {
   
    // If it is bright...
        Serial.println("It is quite light!");
        digitalWrite(13,LOW); //turn left LED off
        digitalWrite(12,LOW); // turn right LED off
    }
    else if(light > 229 && light < 451) {
   
    // If it is average light...
        Serial.println("It is average light!");
       digitalWrite(13, HIGH); // turn left LED on
       digitalWrite(12,LOW);  // turn right LED off
    }
    else {
   
    // If it's dark...
        Serial.println("It is pretty dark!");
        digitalWrite(13,HIGH); // Turn left LED on
        digitalWrite(12,HIGH); // Turn right LED on
    }
    delay(1000); // don't spam the computer!
}
相关文章
|
3月前
|
传感器 监控 安全
RFID为战略物资提供安全保障
RFID技术通过全生命周期闭环管理,实现战略物资在生产、仓储、运输、分发各环节的防伪溯源、实时监控与权限管控,支持快速盘点、自动报警与数据加密,提升战备效率与安全保障,广泛应用于军事、能源等关键领域。
|
物联网 智能硬件
物联卡如何选择
选择物联卡需综合考量设备类型与数量、流量需求及卡种特性。明确设备属性后,挑选适宜流量套餐,并了解普通物联网卡、语音卡、NB-IoT卡及陶瓷卡等不同类型的应用场景。同时考虑网络覆盖、服务质量及成本预算,优选性价比高且售后服务完善的运营商,确保物联卡兼容设备并顺利完成实名认证。
物联卡如何选择
|
存储 JavaScript 前端开发
HarmonyOS 3.1/4.0应用升级到HarmonyOS NEXT改动点
在 “2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”(<https://coding.imooc.com/class/843.html>)视频课程中,因为讲师在该课程授课时是使用的HarmonyOS 3.1/4.0应用(API 9),如果部分学员采用了最新的HarmonyOS NEXT API,此时就会遇到API兼容性的问题。
679 1
HarmonyOS 3.1/4.0应用升级到HarmonyOS NEXT改动点
|
搜索推荐 数据可视化 数据挖掘
会展中心定位导航:精准展位指引,提升用户参馆体验,增加企业成交机会!
在数字化时代,会展中心借助物联网、大数据与AI技术,推出了智能定位导航系统,革新参会体验。展前通过线上展位预约和可视化招商地图,简化招商流程,提高展位分配效率。展会期间,利用精准定位技术,实现一键导航,同时提供个性化展位推荐,增强参观效率与满意度。系统还支持位置分享、车位检索等功能,并通过数据分析为决策提供支持,全面提升会展品牌形象与竞争力。
578 2
会展中心定位导航:精准展位指引,提升用户参馆体验,增加企业成交机会!
|
监控 安全 算法
室内定位导航技术:数字化时代的智能寻路解决方案
室内定位导航技术融合Wi-Fi、蓝牙信标及超宽带等技术,克服了GPS在室内的局限性。蓝牙信标作为关键组件,通过信号强度分析估算距离,结合三角定位算法确定位置。该技术不仅部署简便、成本低,还能提供准确稳定的定位服务。应用场景包括商场导航、医院科室指引、厂区资产管理、园区安全监控以及智能停车场等,极大提升了用户体验和管理效率。
1156 1
室内定位导航技术:数字化时代的智能寻路解决方案
|
数据可视化 前端开发 大数据
商场智能导视系统深度解析,AR与大数据融合创新商业运营模式
**商场智能导视系统提升购物体验:** 通过三维电子地图、AR导航、AR营销、VR全景导购及可视化数据,解决顾客寻路困扰,增强店铺曝光,简化招商流程,优化商场管理,借助科技创新驱动顾客满意度、品牌曝光度及运营效率的全面提升。
971 2
商场智能导视系统深度解析,AR与大数据融合创新商业运营模式
|
人工智能 自然语言处理 小程序
政务VR导航:跨界融合AI人工智能与大数据分析,打造全方位智能政务服务
政务大厅引入智能导航系统,解决寻路难、指引不足及咨询台压力大的问题。VR导视与AI助手提供在线预览、VR路线指引、智能客服和小程序服务,提高办事效率,减轻咨询台工作,优化群众体验,塑造智慧政务形象。通过线上线下结合,实现政务服务的高效便民。
506 2
政务VR导航:跨界融合AI人工智能与大数据分析,打造全方位智能政务服务
|
消息中间件 分布式计算 网络协议
从管道路由到共享内存:进程间通信的演变(内附通信方式经典面试题及详解)
进程间通信(Inter-Process Communication, IPC)是计算机科学中的一个重要概念,指的是运行在同一系统或不同系统上的多个进程之间互相发送和接收信息的能力。IPC机制允许进程间共享数据、协调执行流程,是实现分布式系统、多任务操作系统和并发编程的基础。
394 1
从管道路由到共享内存:进程间通信的演变(内附通信方式经典面试题及详解)
|
JSON 自然语言处理 网络协议
基于QT实现的词典(附源码)
主要用到的技术:JSON字符串,堆栈窗体(方便以后加新功能),QTcpSocket,LcdNumber,时间戳的转换。 通信用的是TCP通信,将TCP封在了一个头文件中,哪个文件想去通过TCP链接发送消息就可以使用头文件 QT端写的是客户端,服务器还是在我笔记上次的Linux系统下写的服务器,做了一些小修改
399 1