Robofun 機器人論壇

標題: 關於用PWM+可變電阻去控制LED的亮度的問題 [打印本頁]

作者: jeffliao    時間: 2011-12-11 15:38
標題: 關於用PWM+可變電阻去控制LED的亮度的問題
大家好
這個問題是這樣的, 我用的是3mm的食人魚led, 當我直接用電源供應器接一個led要量測記錄led的電壓電流時, 發現它需一加到3V以上才能點亮, 而其原理就是他的順向電壓的關係

然後, 我接著用arduino uno 在digital Pin9地方串接一個100歐姆電阻和一個led ; 另外在analog Pin3接一個可變電阻, 用可變電阻去控制led亮度
當我用電表去量led兩端跨壓時, 發現當點亮的一瞬間, 電壓只有0.8V左右, 不知道用DC直接送電和用PWM輸出兩者差一點在哪邊??



能否指點一下, 謝謝
作者: vegewell    時間: 2011-12-11 20:27
回復 1# jeffliao


    調整PWM的週期控制led閃爍的間隔時間:
http://arduino.tw/articlesindex/electricity/206-whatspwm.html
http://blog.21ic.com/user1/5475/archives/2009/58014.html
----------------------------------------------------
int sensorReading; // create a variable to store the
// value of variable resistor
int ledValue; // create a variable to store the
// value of led
void setup() {
}
void loop() {
// get the value of variable resistor and store in sensorReading
// it has a range between 0 - 1023
sensorReading = analogRead(3);
// however value for LED can only be 0 to 255, so we have to
// scale down the sensorReading using 「map」 function
ledValue = map(sensorReading, 0, 1023, 0, 255);
// send the signal to pin 9 (PWM) to control intensity of the LED
analogWrite(9, ledValue);
}
作者: nichal    時間: 2011-12-11 22:59
這樣量是有問題的

PWM所造出來的有效電壓是一個理論值
實際上跟電路的配接有關係

PWM產生50%的ON跟50%的OFF
造出來的效果理論上等同於供應一半的供應電壓
至於為什麼要用PWM的方式去驅動?
概念就是因為2.5V並不能讓LED點亮
所以我就用5V開一段時間, 再關掉一段時間
如果這兩個時間間隔相同
理論上亮度就會等同於供應2.5V去點亮了
不過要這樣用有一個前提
就是開關的頻率要讓眼睛分辨不出來
人一秒鐘最快好像可以看到16次閃爍
超過16次就會因視覺殘留看不到閃爍




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2