damoshayu.cn,苍井空浴缸大战猛男120分钟,网址你懂的,中国女人内射6XXXXXWWW

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

前沿拓展:

怎么設(shè)置電腦的亮度

1、臺(tái)式機(jī)顯示器亮度調(diào)節(jié)按鈕通常在斤劃入亂溶序礦媽可面少屏幕的邊緣,例如下起什議換桿每年圖紅圈標(biāo)記的地方雜統(tǒng),是實(shí)體或觸摸按鍵

2、開(kāi)關(guān)旁邊有功能指示圖案,功能圖案說(shuō)明如下,亮度的快捷按鈕一般是太陽(yáng)形狀的圖標(biāo):


怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

智能手機(jī)普遍內(nèi)置的光線傳感器,在一些筆記本電腦上卻并沒(méi)有配備。當(dāng)你帶著這樣的筆記本電腦在某些環(huán)境下工作時(shí),如何讓筆記本隨著環(huán)境光線來(lái)自動(dòng)調(diào)節(jié)屏幕的亮度呢?

下面我們準(zhǔn)備用一個(gè) Arduino 外加兩枚光敏電阻來(lái)搞定這件事~

通過(guò)這個(gè)小項(xiàng)目你可以學(xué)到如何讓 Arduino 和電腦通過(guò)串口進(jìn)行通信,以及光敏電阻的使用方法。

組件清單

Arduino 開(kāi)發(fā)板(這里使用 Pro mini) × 1LDR 光敏電阻 × 210kr 電阻 × 1電路板 × 1排針座 × 2U** 線(兼容 Arduino 開(kāi)發(fā)板) × 1

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

原理說(shuō)明

當(dāng)我們需要檢測(cè)環(huán)境光線的時(shí)候,使用光敏電阻是最簡(jiǎn)單的方案。就像智能手機(jī)的光線傳感器一樣,將 LDR 光敏電阻朝向人的正臉并獲取光線強(qiáng)度模擬信號(hào)。由 Arduino 的 ADC 引腳讀取這個(gè)數(shù)值,值域?yàn)?0 ~ 1024。

我們通過(guò)電腦上的 Python 程序,來(lái)接收由 Arduino 發(fā)送過(guò)來(lái)的光線數(shù)值,并將該數(shù)值與屏幕亮度的級(jí)別做一個(gè)映射,第二來(lái)調(diào)節(jié)屏幕的亮度。

搭建實(shí)驗(yàn)電路

為了驗(yàn)證這個(gè)想法,第一在面包板上搭建實(shí)驗(yàn)電路。原理圖如下。

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

并編寫(xiě)一段簡(jiǎn)單的程序,通過(guò) Arduino 的串行監(jiān)視器輸出光線傳感器數(shù)據(jù)。

// define sensor pin
int sensor_pin = A3;

void setup() {
// set things here
Serial.begin(9600); // init serial communication at 9600 bps
}

void loop() {
// mainloop
int sensorValue = **ogRead(sensor_pin); // read the input on **og pin A3:
Serial.println(sensorValue); // send data over serial

delay(200); // a little delay to make things work better
}

完整的代碼在項(xiàng)目文件庫(kù)中可以下載:https://make.quwj.com/project/389

運(yùn)行之后可以看到在不同的光線強(qiáng)度下,輸出的數(shù)值在 0 ~ 950 這個(gè)區(qū)間。

設(shè)計(jì) PCB

使用 easyEDA 設(shè)計(jì)出 PCB。我選用了兩枚傳感器,這樣讓這個(gè)小設(shè)備如圖一直蝸牛,更加可愛(ài)。實(shí)際上左邊的 LDR 光敏電阻并未使用。

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

第二就交給 PCB 板廠打樣吧。

焊接并完成組裝

這塊板很簡(jiǎn)單,沒(méi)有太多的組件。焊接好一組排針座和光敏電阻就好了。

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

第二把 Arduino **排針座。

Arduino 編程

將 Arduino 用 U** 線連接到電腦,打開(kāi) Arduino IDE 將下面的代碼上傳到 Arduino 上。

/* Computer Hack!
Brightness Controller

(C) License: GPL3-General Public License

author: ashraf minhaj
*/

// define sensor pin
int sensor_pin = A3;

void setup() {
// set things here
Serial.begin(9600); // init serial communication at 9600 bps
}

void loop() {
// mainloop
int sensorValue = **ogRead(sensor_pin); // read the input on **og pin A3:
Serial.println(sensorValue); // send data over serial

delay(200); // a little delay to make things work better
}
安裝 Python 程序

通過(guò)上面的步驟,Arduino 已經(jīng)可以將光線數(shù)值通過(guò)串口傳給計(jì)算機(jī)了。下面要做的是編寫(xiě)一個(gè) Python 程序,在計(jì)算機(jī)上運(yùn)行,任務(wù)是接收發(fā)來(lái)的傳感器數(shù)值并依此調(diào)節(jié)屏幕亮度。

如果你的計(jì)算機(jī)上還沒(méi)裝過(guò) Python 環(huán)境,請(qǐng)?jiān)谶@里下載好 Python 并完成安裝:http://python.org/download

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

打開(kāi)終端,安裝兩個(gè)庫(kù),分別用于串口和屏幕亮度控制方面的支持。

$ pip install pyserial
$ pip install screen-brightness-control

在項(xiàng)目文件庫(kù)中下載源碼: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 libraries
import serial # for serial communication
import serial.tools.list_ports # to get Arduino port automatically
import 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 automatically
serial_ports = list(serial.tools.list_ports.comports()) # get list of ports
for 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 device
sender = 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)

# mainloop
while 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 it
sender.close()

運(yùn)行它,同時(shí)確保 Arduino 也連接在計(jì)算機(jī)上。

怎么設(shè)置電腦的亮度(怎么設(shè)置電腦的亮度調(diào)節(jié))

拓展知識(shí):

原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請(qǐng)注明出處:http:///22005.html