您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在PYB Nano上用LED測光強,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
很早以前,TI在推廣MSP430時做個一個demo,用普通LED測環境光強,下面我們在PYB Nano上也來實驗一下。
使用LED測光強的原理是LED其實也是二極管,它的PN結的結電容會受光強影響,放電或充電速度與光強存在一定的對應關系。先給LED充電/放電,延時幾個毫秒后測量LED上的電壓,在不同光強下電壓會有明顯變化。
實現這個功能,需要LED的控制GPIO帶有ADC的功能。在PYB Nano上,LED使用了PA0-PA3,它們都支持ADC,都可以進行測試。下面的程序演示了這個功能,輸入程序后,使用test('A0')測試第一個LED,test('A1')測試第二個。
from pyb import Pin, ADC def test(pin='A0', count=100): pn = Pin(pin, Pin.OUT) for i in range(count): tmp = 0 pn(1) pn = Pin(pin, Pin.IN, pull=Pin.PULL_NONE) pyb.delay(1) adc = ADC(Pin(pin)) for n1 in range(8): tmp += adc.read() print(tmp) pn = Pin(pin, Pin.OUT) pn(0) pyb.delay(500)
分別測試4個LED,紅色的LED效果最差,變化很小,而其它幾個LED變化很顯著,這說明運行效果與LED有很大關系。雖然不能用于精確測量光強,但是在做指示燈的同時,測量簡單的環境光強還是可以的,比如用于調節LCD背光、改變LED亮度等。
下面是LED2/LED3(綠色和黃色)的效果:
關于怎么在PYB Nano上用LED測光強就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。