在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino基礎:調(diào)節(jié)LED的亮度

YYXIAO ? 來源:YYXIAO ? 作者:YYXIAO ? 2023-02-20 09:47 ? 次閱讀

這篇文章來源于DevicePlus.com英語網(wǎng)站的翻譯稿。

Originally published by Feb 5, 2020

前言

本文最初發(fā)布在deviceplus.jp網(wǎng)站上,而后被翻譯成英語。

Device Plus網(wǎng)站中介紹了有關Arduino的各種應用和作品示例,但無論創(chuàng)作任何作品,基礎知識都很重要!
在本文中,我們將通過使Arduino能夠調(diào)節(jié)LED亮度,為您帶來“關鍵”的Arduino基礎知識。

我們曾介紹過,通過將LED連接到Arduino的數(shù)字輸出引腳,并設置HIGH (5V) 和LOW (0V) ,可以輕松地切換LED的開和關。但是,由于數(shù)字輸出只能輸出兩種狀態(tài),因此無法進行亮度調(diào)節(jié)等控制。

要想解決這個問題,您可以使用“PWM”輸出。PWM可在HIGH和LOW狀態(tài)之間反復切換輸出,所以可以用來調(diào)節(jié)LED的亮度。
在本文中,我們將學習如何使用PWM來調(diào)節(jié)LED的亮度。我們還將學習如何編寫使用PWM輸出逐漸點亮LED的程序。

數(shù)字不能調(diào)節(jié)亮度

正如我們上次介紹過的,LED的亮度會隨電流的變化而變化。比如,分別通過330Ω的電阻和10kΩ的電阻來調(diào)節(jié)連接到LED的電流量,并對它們的結果進行比較時,會發(fā)現(xiàn)連接330Ω小電阻時電流量更大,這會使LED更亮。或者,改變連接到LED的電源電壓,也會使流過的電流量發(fā)生變化。

如果分別施加5V和3.3V的電壓,施加5V電壓時LED燈更亮。根據(jù)上一次介紹過的電阻和流過LED的電流之間的關系式,要想讓LED更亮,要么“降低電阻”,要么“提高電壓”。

pYYBAGPy0J2AVwoEAAC6xizQbfA504.png

然而,Arduino的數(shù)字輸出只有HIGH (5V)或 LOW (0V)兩種狀態(tài),這意味著直接連接并不能改變電壓和電阻值,也就是說,無法調(diào)節(jié)LED的亮度。但是,雖然只有HIGH和LOW兩種輸出狀態(tài),通過一些努力還是可以改變LED亮度的。

使用數(shù)字輸出改變LED亮度

讓我們嘗試一下只用數(shù)字輸出來改變LED的亮度吧。亮度可以通過讓LED閃爍來調(diào)節(jié)。我們按照步驟一步一步來實際操作,看看LED的亮度是如何變化的。將LED連接到Arduino的數(shù)字引腳5,如下圖所示:

poYBAGPy0KKAawc6AAJoUIlweMY641.png

接下來,創(chuàng)建如下所示的程序并將其傳送給Arduino。此時,LED應該會每隔1秒閃爍1次。

在程序中,通過第11行的“digitalWrite( LED_PIN, HIGH )”輸出HIGH,使LED亮起,然后通過第12行的“delay (ON_TIME)”在指定的時間內(nèi)保持亮燈。持續(xù)時間以毫秒為單位,如果指定1000,則LED將保持點亮1秒鐘。

接下來,通過第14行的“digitalWrite( LED_PIN, LOW )”輸出LOW,使LED熄滅,然后通過第15行的“delay( OFF_TIME )”在指定的時間內(nèi)保持熄滅狀態(tài)。通過反復執(zhí)行該程序即可實現(xiàn)LED的閃爍。

下面,讓我們嘗試一下縮短點亮和熄滅的持續(xù)時間。可以使用第3行的“const int ON_TIME”來更改點亮狀態(tài)的持續(xù)時間,使用第4行的“const int OFF_TIME”來更改熄滅狀態(tài)的持續(xù)時間。將這兩個值都更改為“500”并發(fā)送程序,然后確認LED的狀態(tài)。可以看到閃爍速度增加。接著,當將值逐漸減小到“250”、“100”、“75”、“50”等數(shù)字時,閃爍速度變得更快。當值為“10”左右時,LED看起來像在保持點亮狀態(tài)。這是因為如果它閃爍得太快,人眼就跟不上它的速度,從而使燈看起來就像一直亮著。

接下來,我們試著改變點亮和熄滅的持續(xù)時間。將“ON_TIME”和“OFF_TIME”都設置為“10”。然后,依次將“ON_TIME”的值更改為“9”、“8”、“7”……“1”,并確認LED的點亮狀態(tài)。可以看到當減小該值時,LED會逐漸變暗。

poYBAGPy0KWAWbWDAAETgPJnsy8241.png

這是因為持續(xù)亮燈時間縮短,發(fā)光量減少,從而使LED看起來變暗。也就是說,通過改變“點亮持續(xù)時間”也可以調(diào)節(jié)LED的亮度。使用該方法,可以實現(xiàn)用僅能控制開/關的Arduino數(shù)字輸出功能來控制LED的亮度。

通過PWM調(diào)節(jié)亮度

如上所述,通過調(diào)整HIGH和LOW的比例,使LED以較短的周期閃爍,即可調(diào)節(jié)LED的亮度。但是,自己創(chuàng)建程序來控制閃爍持續(xù)時間并不現(xiàn)實。因為處理其他程序需要時間,而這會使閃爍間隔出現(xiàn)偏差,從而會使亮度發(fā)生變化。

Arduino可以使用PWM(Pulse Width Modulation,脈沖寬度調(diào)制)功能來周期性地輸出HIGH和LOW。PWM是以指定的速率周期性地在HIGH和LOW之間切換的一種功能,可用于上述的LED亮度調(diào)節(jié)。

但是,需要注意的是,可用于PWM功能的引腳在Arduino中是固定的。只有數(shù)字旁邊帶有“?”標記的引腳(即引腳3、5、6、9、10和11)可使用PWM功能,其他引腳不支持PWM輸出。

poYBAGPy0K2AQemBAAMMqTYHyYc797.png

另外,由于PWM是通過Arduino的微控制器產(chǎn)生的功能,因此具有輸出穩(wěn)定、不影響程序運行的優(yōu)點。
在這里,我們將LED連接到引腳5來試一下。用與前述電路相同的方式連接LED。
接下來,創(chuàng)建如下所示的程序并將其發(fā)送給Arduino,LED將會亮起,但是較暗。

通過PWM功能輸出時,需要通過第6行的“pinMode()”將對象引腳設置為輸出模式。實際輸出時,使用第10行的“analogWrite()”。指定對象引腳編號,然后在0到255的范圍內(nèi)設置保持HIGH的比率。如果設置為“0”,將始終輸出LOW,如果設置為“255”,則始終輸出HIGH。如果設置為“127”,將會以各一半的比率輸出HIGH和LOW。

在這個程序中,可以通過第3行的“const int DUTY”來指定PWM比率。更改該值可以確認亮度的變化情況。

讓LED逐漸閃爍

我們使用PWM輸出拓展了LED點亮的方法。現(xiàn)在,讓我們逐漸改變PWM來嘗試實現(xiàn)LED逐漸變亮的效果。

編寫如下程序:

在上述程序中,將PWM比率存儲在loop()函數(shù)中使用的“i”變量中,以使其可以逐漸增加該值,從而使LED逐漸變亮。

第14行的while處理以STEP指定的增量增加值,直到i達到 255。增加的值由第15行的analogWrite()輸出,以使LED的亮度改變。此外,每次第16行的PWM輸出改變時,將等待由WAITTIME指定的持續(xù)時間。

當PWM比率達到255時,它會逐漸減小該值直到0,以使LED逐漸變暗(第21到25行)。可以通過更改第3行的WAITTIME或第4行的STEP的值來調(diào)節(jié)閃爍速度。

此次我們學習了如何控制LED的亮度。下篇再見!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23712

    瀏覽量

    671071
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5384

    瀏覽量

    218131
  • 數(shù)字輸出

    關注

    0

    文章

    27

    瀏覽量

    9023
  • Arduino
    +關注

    關注

    189

    文章

    6492

    瀏覽量

    190133
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    led亮度自動調(diào)節(jié)

    各位大神!有沒有誰知道基于熱敏電阻的LED亮度自動調(diào)節(jié)功能怎么實現(xiàn)啊????
    發(fā)表于 03-04 11:41

    LED顯示亮度能依據(jù)環(huán)境亮度變化自動調(diào)節(jié)

    如何實現(xiàn)依據(jù)環(huán)境亮度來自動調(diào)節(jié)LED的顯示亮度,那位大神知道,幫幫忙啊{:soso_e150:}
    發(fā)表于 08-05 11:13

    PWM調(diào)節(jié)LED亮度的工作過程

    求下圖PWM調(diào)節(jié)LED亮度的工作過程
    發(fā)表于 05-06 22:21

    亮度LED驅(qū)動一般用什么驅(qū)動?LED亮度調(diào)節(jié)怎么做?

    隨著高亮LED效率的不斷提高,即流明/瓦特比的增加,越來越多的照明應用開始選擇高亮度LED,例如汽車的外燈;日間行車燈,近光燈、遠光燈等。電路設計中高亮度
    發(fā)表于 04-06 06:32

    如何采用PWM方式調(diào)節(jié)LED亮度

    采用PWM方式調(diào)節(jié)LED亮度的原理調(diào)節(jié)LED亮度的兩種方式:1.改變
    發(fā)表于 11-23 07:06

    LED亮度電流調(diào)節(jié)

    描述LED亮度電流調(diào)節(jié)器20mA如果您需要調(diào)節(jié) LED 亮度,可以使用此電路。一個
    發(fā)表于 08-15 06:39

    用超聲波的距離遠近對應來調(diào)節(jié)LED亮度調(diào)節(jié)亮度不穩(wěn)定怎么解決?

    用超聲波的距離遠近對應來調(diào)節(jié)LED亮度調(diào)節(jié)亮度不穩(wěn)定。怎么解決?
    發(fā)表于 11-09 08:27

    一款LED亮度調(diào)節(jié)IC的應用

    SJT5301B是一顆適用於LED燈光亮度調(diào)節(jié)的觸摸式調(diào)光IC,有無段調(diào)光、二段調(diào)光和三段調(diào)光等調(diào)光模式,三段調(diào)光可由高亮到低亮調(diào)節(jié),也可由低亮到高亮
    發(fā)表于 08-05 15:40 ?3031次閱讀
    一款<b class='flag-5'>LED</b><b class='flag-5'>亮度</b><b class='flag-5'>調(diào)節(jié)</b>IC的應用

    模擬技術簡化便攜式應用中的LED亮度調(diào)節(jié)

    模擬和PWM亮度調(diào)節(jié)方法都對LED驅(qū)動電流進行控制,而該電流同光線輸出成正比關系。模擬亮度調(diào)節(jié)結構簡單,控制功耗最低,并且一般比PWM
    發(fā)表于 10-17 16:00 ?1184次閱讀

    LED亮度調(diào)節(jié)方案

    使用LED型固態(tài)照明(SSL)的便攜式設備要求使用高效驅(qū)動電路來延長電池使用時間,同時還要求使用一些亮度調(diào)節(jié)方法來對光線輸出進行調(diào)節(jié),以適應周圍的照明環(huán)境。在諸如智能手機或者便攜式GP
    發(fā)表于 06-11 09:08 ?1.4w次閱讀
    <b class='flag-5'>LED</b><b class='flag-5'>亮度</b><b class='flag-5'>調(diào)節(jié)</b>方案

    充電式LED調(diào)節(jié)亮度的方法

    可以調(diào)節(jié)亮度的充電式LED調(diào)節(jié)亮度一般有兩種方法:一是采用簡單的電阻調(diào)節(jié)
    的頭像 發(fā)表于 02-12 15:52 ?1.5w次閱讀
    充電式<b class='flag-5'>LED</b>燈<b class='flag-5'>調(diào)節(jié)</b><b class='flag-5'>亮度</b>的方法

    Arduino Nextion Display使用滑塊控制LED亮度

    電子發(fā)燒友網(wǎng)站提供《Arduino Nextion Display使用滑塊控制LED亮度.zip》資料免費下載
    發(fā)表于 10-28 14:31 ?0次下載
    <b class='flag-5'>Arduino</b> Nextion Display使用滑塊控制<b class='flag-5'>LED</b><b class='flag-5'>亮度</b>

    Arduino手勢控制LED亮度

    電子發(fā)燒友網(wǎng)站提供《Arduino手勢控制LED亮度.zip》資料免費下載
    發(fā)表于 01-31 14:47 ?2次下載
    <b class='flag-5'>Arduino</b>手勢控制<b class='flag-5'>LED</b><b class='flag-5'>亮度</b>

    使用電位器和Arduino控制LED亮度

    電子發(fā)燒友網(wǎng)站提供《使用電位器和Arduino控制LED亮度.zip》資料免費下載
    發(fā)表于 07-06 09:50 ?0次下載
    使用電位器和<b class='flag-5'>Arduino</b>控制<b class='flag-5'>LED</b><b class='flag-5'>亮度</b>

    PWM調(diào)制技術在LED亮度調(diào)節(jié)中的使用

    隨著科技的發(fā)展,LED(發(fā)光二極管)因其高亮度、低能耗、長壽命等優(yōu)點,在照明領域得到了廣泛的應用。LED亮度調(diào)節(jié)是其應用中的一個重要環(huán)節(jié),
    的頭像 發(fā)表于 11-18 15:28 ?3154次閱讀
    主站蜘蛛池模板: 国产精品久久福利网站 | 六月丁香啪啪六月激情 | 久久精品美女 | 免费观看在线aa | 国产区一区二区三 | 午夜爽爽 | 一丝不遮视频免费观看 | 欧美性极品高清 | yy4080一级毛片免费观看 | 女人张开双腿让男人桶爽免 | 日本精品一在线观看视频 | 日本免费一区二区三区视频 | 黄色大片aa| 美女bbbb视频 | va在线观看| 一区二区三区中文 | 青青伊人91久久福利精品 | 热九九精品 | 爱爱视频天天干 | 天天色天天干天天射 | 无遮挡很爽很污很黄的网站w | 韩国视频在线播放 | 四虎永久网址在线观看 | 69久久| 天堂8在线天堂资源在线 | 狠狠狠色丁香婷婷综合激情 | 奇米在线 | 天堂资源站 | 久久久久九九精品影院 | 在线观看你懂的网站 | 天天插天天摸 | 成年黄网站免费大全毛片 | 天天射夜夜骑 | 在线观看免费av网站 | 免费激情网址 | avtt加勒比手机版天堂网 | 一区免费视频 | 亚洲欧洲色| 夜夜爽一区二区三区精品 | 午夜视频在线播放 | 曰本性l交片视频视频 |