原理說明:
RGB LED 和一般單色LED控制原理相同, 只不過現在有RGB三根腳。為了做出七彩霓虹燈的感覺, 我們可以利用PWM作為輸入, 透過duty cycle的設定,使得R、G、B分別有不同的的程度, 例如,紅可以有256 階紅的程度。
======================
PWM (Pulse Width Modulation) , 此硬體micro:bit 己內建, 它可以重覆產生週期性的波形, 在每一個週期中可以有著不冋的pulse長度, 而pulse長度和週期的比例就是duty cycle, 例如25% duty cycle, 就是pulse 長度佔了週期25%的時間. 或者說pulse佔了25%而spaces佔了75%。
1.) PWM頻率?
使用PWM會須要設定頻率, 而頻率為週期的倒數,表示數一下(clock tick)的時間.若PWM為10HZ,表示數一個tick要花0.1秒.
2.) 10 bit bit 或12bit PWM ?
PWM 10bit表示會數1024下作為一個pulse/space週期, 12bitbit表示會數4096下為一個週期(0~4095). 一個10Hz的PWM pulse/space週期時間,就是看你數完一輪的時間, 若是12bit, 就是4096*0.1=409.6秒
3.) duty cycle ?
就是pulse要數幾下,以12bit為例, 若數1024下, 就是佔了4096的四分之一, 也就是duty cycle 25%. 至於duty cycle實際有多久, 就是數一次(clock ticks)的時間乘上pulse數幾下(pulse count)
總結, 同樣都是duty cycle 25%,但pulse時間長度可能是不同的, 因為PWM頻率是不同的.
duty cycle只是描述比例關係, 仍必須對不同硬體給定其所需要的頻率. 因為pulse和space切換時間若太短,有些硬體可能無法工作,因為來不及到High就又被切到Low....
那RGB LED該給的PWM頻率是多少呢? 100HZ~200HZ, 這可以讓RGB LED在不同duty cycle 下可以產生不同的顏色
開發工具:
實驗材料:
- micro:bit
- Thunder:bit
- microUSB線
成果展示:
https://www.youtube.com/watch?v=oaWK9EmfhPo
沒有留言:
張貼留言