资料介绍
描述
这一直发生在我身上;在雨季,我房间的日光不足。我可以说在阳光明媚的日子里我会得到 60% 的常规光线。即使所有的门窗都打开了,我也得不到足够的照明。
如果我打开 LED 灯泡,灯光就绰绰有余了。无论如何,我都会得到一部分阳光,因为 LED 灯会太多。所以,我一直想远程控制 LED 的亮度。
此功能在高级家庭自动化技术中可用。但是,我们的家中还没有内置这样的技术。我有一个 Bolt IoT 的基本培训套件。我熟悉在 Bolt IoT 平台中使用光强传感器、温度传感器、LED 和蜂鸣器。
我决定使用基本培训套件中提供的工具为我的最终项目构建该系统。我成功地构建了系统。如果强度低于 1000,则 LED 亮起。随着强度降低,LED 的亮度逐渐增加。如果当前室内光强度低于 300,LED 将以最大亮度亮起。
首先,使用迷你面包板和 Bolt IoT Wi-Fi 模块进行连接。LED 连接到 Bolt 模块的“1”引脚,光传感器连接到“A0”引脚。一个 10k 欧姆的电阻与光强传感器连接在一起,以随着落在传感器上的光的减少而降低电压。
整个系统使用 boltiot 模块在 Python 中编码。Bolt 设备与私有 API 密钥和设备 ID 连接。系统的配置保存在一个名为 config.py 的单独 python 文件中。
intensity = autoLED.analogRead("A0")
intensityData = json.loads(intensity)
对于每次提取,都会给出 10 秒的间隔。该程序每 10 秒自动获取房间中可用的强度。
global sensor_value
sensor_value = int(intensityData['value'])
print("Data retrieval successful...")
print("Current light intensity = " , sensor_value)
controlLED()
time.sleep(10)
首先,使用函数analogRead() 读取强度数据。然后将数据处理为全局声明的变量。在函数 controlLED() 中使用相同的全局变量来根据处理后的强度数据设置 LED 的亮度。
在 ControlLED() 函数中,有 3 种可能性。
if(curIntensity > 1000):
LED = autoLED.analogWrite("1", "0")
print("Current LED brightness: 0%")
如果可用强度大于 1000,则很可能不需要外部光。因此,LED 将保持关闭状态。
elif(curIntensity < 350):
LED = autoLED.analogWrite("1", "255")
print("Current LED brightness: 100%")
如果可用强度低于 350,则认为房间需要最大光线,因为它太暗了。因此,LED 亮度设置为 100%。LED 将达到最大值。
else:
unit = 255/1024
value = 1024 - curIntensity
value *= unit
res = int(value)
LED = autoLED.analogWrite("1", str(res))
brightness = (res/255) * 100
limitedBrightness = round(brightness, 1)
print("Current LED brightness: " , limitedBrightness , "%")
- 第三个条件是最棘手的。LED 的最大可能亮度值为 255。255 将分成 1024 块。1 件 = 1 个单位。
- 最大可能的强度值为 1024。我们从最大值中减去当前强度以获得差值。假设当前强度为 800。因此,我们从最大可能强度 255 中减去当前强度 800,得到数字 224。
- 现在,我们想知道可用强度需要多少亮度。我们使用一个简单的数学技巧来得到它。我们从 1 个单位乘以 224 的值数字。有了这个,我们得到一个数字,它是要传递的亮度值。
-
该值通过类型转换转换为整数。然后将该值
analogWrite()
与端口号一起传递给函数。 -
使用公式计算亮度百分比
(res/255) * 100
。 -
使用该函数将百分比四舍五入到小数点后 1 位。
round()
结果被打印出来。
- Arduino手势控制LED亮度
- 如何使用任何遥控器控制LED的亮度
- 如何控制您的led亮度
- 如何使用PWM控制LED亮度
- 自动亮度传感器开源
- Arduino Nextion Display使用滑块控制LED亮度
- WS2812B RGB LED亮度控制和混色开源分享
- LED亮度电流调节器20mA开源
- 环境亮度与LED显示屏亮度调整方案的设计资料说明 4次下载
- 使用单片机数模输出控制LED亮度的例程免费下载
- 八个亮度等级的LED控制程序源码下载 5次下载
- 高亮度LED数字电源控制技术详解 4次下载
- LED亮灭和亮度控制 42次下载
- 单片机产生PWM波形控制LED灯亮度 68次下载
- 高亮度LED制造工艺智能设计 55次下载
- LED显示屏亮度调节的方法 6571次阅读
- 晶闸管怎么控制灯泡的亮度 720次阅读
- 为高亮度LED提供高效电流驱动 969次阅读
- LDO线性稳压器改善白光LED亮度匹配 999次阅读
- 整流桥接入后LED变暗,提高LED灯亮度的方法 7503次阅读
- 基于DC/DC升压变换器控制LED亮度的驱动设计 832次阅读
- digilent高亮度LED介绍 2472次阅读
- LED舞台和建筑照明色彩控制:基于I2C控制功能LED的13位色彩控制 2272次阅读
- 基于采用ATMEGA16单片机的定时计数器,实现LED亮度自动调节 1766次阅读
- 基于显微成像系统的Micro-LED表面亮度检测 3816次阅读
- LED亮度调节方案 1.3w次阅读
- PWM控制LED灯的亮度程序(C 语言) 3.2w次阅读
- led灯珠型号亮度排名_led灯不亮了怎么修 3.5w次阅读
- LED显示屏亮度计算及灰度控制方法介绍 6573次阅读
- 高亮度LED照明应用与散热设计 1989次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多