win10怎么调自动亮度调节-(win10怎么调自动亮度调节快捷键)
来源:191路由网 2022-12-27 00:44:47
智能手机普遍内置的光线传感器,在一些笔记本电脑上却并没有配备。当你带着这样的笔记本电脑在某些环境下工作时,如何让笔记本随着环境光线来自动调节屏幕的亮度呢?
下面我们准备用一个 Arduino 外加两枚光敏电阻来搞定这件事~
通过这个小项目你可以学到如何让 Arduino 和电脑通过串口进行通信,以及光敏电阻的使用方法。
组件清单Arduino 开发板(这里使用 Pro mini) × 1
LDR 光敏电阻 × 2
10kr 电阻 × 1
电路板 × 1
排针座 × 2
USB 线(兼容 Arduino 开发板) × 1
当我们需要检测环境光线的时候,使用光敏电阻是最简单的方案。就像智能手机的光线传感器一样,将 LDR 光敏电阻朝向人的正脸并获取光线强度模拟信号。由 Arduino 的 ADC 引脚读取这个数值,值域为 0 ~ 1024。
我们通过电脑上的 Python 程序,来接收由 Arduino 发送过来的光线数值,并将该数值与屏幕亮度的级别做一个映射,然后来调节屏幕的亮度。
搭建实验电路为了验证这个想法,首先在面包板上搭建实验电路。原理图如下。
并编写一段简单的程序,通过 Arduino 的串行监视器输出光线传感器数据。
// define sensor pinint sensor_pin = A3;void setup() { // set things here Serial.begin(9600); // init serial communication at 9600 bps}void loop() { // mainloop int sensorValue = analogRead(sensor_pin); // read the input on analog pin A3: Serial.println(sensorValue); // send data over serial delay(200); // a little delay to make things work better}
完整的代码在项目文件库中可以下载:
https://make.quwj.com/project/389
运行之后可以看到在不同的光线强度下,输出的数值在 0 ~ 950 这个区间。
设计 PCB使用 easyEDA 设计出 PCB。我选用了两枚传感器,这样让这个小设备如图一直蜗牛,更加可爱。实际上左边的 LDR 光敏电阻并未使用。
然后就交给 PCB 板厂打样吧。
焊接并完成组装这块板很简单,没有太多的组件。焊接好一组排针座和光敏电阻就好了。
然后把 Arduino 插进排针座。
Arduino 编程将 Arduino 用 USB 线连接到电脑,打开 Arduino IDE 将下面的代码上传到 Arduino 上。
/* Computer Hack! Brightness Controller (C) License: GPL3-General Public License author: ashraf minhaj*/// define sensor pinint sensor_pin = A3;void setup() { // set things here Serial.begin(9600); // init serial communication at 电脑 9600 bps}void loop() { // mainloop int sensorValue = analogRead(sensor_pin); // read the input on analog pin A3: Serial.println(sensorValue); // send data over serial delay(200); // a little delay to make things work better}
安装 Python 程序
通过上面的步骤,Arduino 已经可以将光线数值通过串口传给计算机了。下面要做的是编写一个 Python 程序,在计算机上运行,任务是接收发来的传感器数值并依此调节屏幕亮度。
如果你的计算机上还没装过 Python 环境,请在这里下载好 Python 并完成安装:
http://python.org/download
打开终端,安装两个库,分别用于串口和屏幕亮度控制方面的支持。
$ pip install pyserial$ pip install screen-brightness-control
在项目文件库中下载源码:
https://make.quwj.com/project/389
找到 电脑 controller.py,其程序如下:
""" Computer Hack! Brightness Controller (C) License: GPL3-General Public License author: ashraf minhaj"""""" libraries -$ pip install pyserial$ pip install screen-brightness-control"""# import necessary librariesimport serial # for serial communicationimport serial.tools.list_ports # to get Arduino port automaticallyimport screen_brightness_control as brightness # to control brightness# device buadrate (bit per second)# (change buadrate according to your need)BUAD_RATE = 9600 # Pro Micro's buad rate is 9600 PORT = ""# get sender device port automaticallyserial_ports = list(serial.tools.list_ports.comports()) # get list of portsfor s_port in serial_ports: # iterate through all ports if 'Arduino Micro' in s_port.description: # look for Pro Micro board PORT = str(s_port[0]) # select first found board and break # proceed# connect with sender devicesender = serial.Serial(PORT, BUAD_RATE)def map_value(value, in_min=0, in_max=1024, out_min=0, out_max=100): """ To map values. Arduio sends values from 0 to 1024. My goal is to make them in between 0 to 100.""" return int((value - in_min) * (out_max - out_min) / (in_max - in_min) + out_min)# mainloopwhile 1: # convert byte data into string then integer sensor_value = int(sender.readline().decode("utf-8")) # get data final_value = map_value(value=sensor_value) # map value (brightness in percentage) #print(sensor_value) print(final_value) brightness.set_brightness(final_value) # set brightness# close port properly so that others can use itsender.close()
运行它,同时确保 Arduino 也连接在计算机上。
电脑
相关阅读
-
-
win10怎么调自动亮度调节-(win10怎么调自动亮度调节快捷键)
(win10怎么调自动亮度调节快捷键)智能手机普遍内置的光线传感器,在一些笔记本电脑上却并没有配备。当你带着这样的笔记本电脑在某些环境下工作时,如何让笔记本随着环境光线来自动调节屏幕的亮度呢?下面我们准备用一个Arduino外加两枚光敏电阻来搞定这件事~通过这个小项目你可以学到如何让Arduino和电脑通过串口进行通信,以及光敏电阻的使用方法。组件清单Ar...
2022-12-27
-
-
u盘做启动盘被格式化-(u盘做启动盘被格式化怎么办)
(u盘做启动盘被格式化怎么办)很多小伙伴在给电脑重装系统的时候都会使用u盘系统盘来操作,那么在重装完系统后U盘启动盘是否还能继续使用呢?答案当然是可以的,只要我们对它进行格式化就行了。更多系统教程尽在小白系统重装官网系统:win10专业版电脑:联想Ideapad700-15ISK-ISE1、首先我们将...
2022-12-27
-
-
u盘种格式限制大文件格式-(u盘有文件大小限制)
(u盘有文件大小限制)U盘空间明明还剩十几GB,却拷贝不了4-5GB文件包,这究竟是怎么回事呢?如果U盘本身容量充足,但无法拷贝超过4G的大文件,那很可能是因为U盘文件格式不支持大文件造成的。很多小伙伴可能不知道,U盘主要有fat32、exFAT、NTFS三种文件格式,格式不同,适用性也不同!接下来,小优就和...
2022-12-27
-
-
w7开机启动修复工具-(w7启动修复怎么开机)
(w7启动修复怎么开机)电脑电脑电脑Win7开机弹出提示“您的计算机无法启动,正在尝试修复”的界面,很多小伙伴等了很长时间或者按提示多次重启电脑,发现还是进不去系统怎么办呢?别着急驱动哥告诉你一个小技巧能够正常开机。1、第一步,按电脑重启键重新启动,然后狂按F8,选择【禁用驱动程序签名XXX】或【禁用系统失败时XXXX】选项;如图:2、第二步:当进入系统后,再重启电脑就...
2022-12-27
-
-
win10pe启动盘360-(win10pe启动盘u盘版)
(win10pe启动盘u盘版)Windows11提供了Windows10升级的安装方式,或者使用全新安装,从个人来讲首选还是全新安装:)电脑一、安装前的准备:检查硬件是否满足系统要求,官网给出的系统要求如下:官网地址:或者下载官方兼容性检测工具:安装“WindowsPCHealthCheckSetup.msi”,安装完成运行:点击“立即检查”,可看到检查结果:电脑这里可能有三种情况:1...
2022-12-27
191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程
版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除