「初識Arduino - 3」PWM控制LED燈

2020-12-12 雜學實驗室

準備器材:

開發板(Arduino UNO)麵包板1塊麵包板跳線LED燈:1個220Ω電阻:1個電位器:1個(可選)

PWM

脈衝寬度調製(Pulse Width Modulation,PWM),簡稱脈寬調製。是將模擬信號變為脈衝的一種技術(用數字來控制模擬輸出的一種手段)。PWM可以控制LED亮度、控制馬達速度、控制直流電動機的速度等

正弦波、方波、三角波與鋸齒波

Arduino數字引腳給我們提供了5V(高電平)和0V(低電平),輸出是方波信號。我們無法得到0-5V之間的電壓(串聯電阻可以),但是我們可以通過改變信號的開關時間來改變LED亮度(即控制佔空比)

PWM是一種方波控制信號,方波高電平的寬度在一個周期裡的佔比被稱為佔空比(Duty Cycle)。改變PWM的佔空比,可以改變輸出信號的平均電壓,實現模擬電壓的輸出。

在Arduino UNO中,可以看到板上有指明`PWN~`,也就是帶波浪號的3, 5, 6, 9, 10, 11這些數字接口是支持PWM的,我們可以通過analogWrite(pin, value)來設置佔空比,value的取值在0-255之間(255表是100%佔空比,即LED燈最亮)。(值得注意的是,也可以使用digitalWrite和delayMicroseconds來手動重複打開和關閉引腳以達到PWM的效果,這樣就不需要一定接入帶波浪號的PWM接口了,但是這種方法一旦有其他進程幹擾CPU會導致輸出的信號頻率不準)

接線

跟之前一樣,常規的LED接線圖

在Arduino中,我們只需要不斷改變analogWrite的value(0-255),就能改變佔空比進而改變LED燈的亮度,實現呼吸燈的效果

代碼 & 效果

接好線檢查一下,然後打開Arduino IDE敲代碼

int ledPin = 6;void setup() {pinMode(ledPin, OUTPUT);}void loop() { for(int i=0; i<255; i++) { analogWrite(ledPin, i); delay(5); } for(int i=255; i>0; i--) { analogWrite(ledPin, i); delay(5); }}

這邊兩個for循環,是的analogWrite輸出的value從0變到255,再從255變到0,這樣就有呼吸燈的效果(當執行analogWrite後,埠會輸出一個穩定佔空比的方波,直到下一個命令來改變它)。值得注意的是這邊每次analogWrite之後都要有一個短暫的delay(不設置的話看不到效果,LED燈會常亮,設置大呼吸就慢,設置小呼吸就快)

效果如下:

因百家號只能放一個視頻,這邊用照片代

電位器

電位器是可調電阻、可變電阻(VR,Variable Resistor),就是能動態調整電阻阻值大小的一種元器件。電位器有三個針腳,其中兩個(兩邊針腳)是固定的,一個(中間針腳)是滑動可變的。電位器不分正負極,只要將兩邊引腳分別接入正負極,中間接入元器件即可

擴展

我們將接入電位器(接入電位器可能要稍微用一點點力氣將3個針腳壓入),實現使用電位器來控制LED燈的亮度(當然也可以通過電位器改變LED燈的呼吸頻率)

接好線檢查一下,然後打開Arduino IDE敲代碼

// led接入數字針腳int ledPin = 6;// 電位器接入模擬針腳int potPin = A0;// 從電位器讀取到int readValue;// 輸出到led的佔空比的值int ledValue;void setup() {pinMode(ledPin, OUTPUT);}void loop() { // 從電位器讀取模擬信號 readValue = analogRead(potPin); // 等比映射,將位於[0, 1023]之間的readValue映射到[0, 255]. ledValue = map(readValue, 0, 1023, 0, 255); analogWrite(ledPin, ledValue);// delay(1);}

因為analogRead從模擬引腳讀取的值的範圍為0-1023之間,但是analogWrite的模擬值範圍為0-255之間,因此需要用map函數來進行等比映射,將0-1023之間的值映射成0-255之間的值,當然你也可以自己用除法去轉換。

實驗效果如下:

相關焦點

  • 智能家居控制-arduino紅外基本控制
    智能家居控制系統中最常見的應該就是紅外遙控器了,電視,空調,機頂盒等,基本上常見的只要是遙控控制的都是採用的紅外發射控制。紅外發射,其實就是將要控制的設備,通過遙控的主控晶片發射一組編碼,然後設備接收後進行對應的操作,要想實現智能設備控制就先要知道遙控器發射的是什麼今天這篇文章就是用arduino這個最基本的單片機,來解讀不同遙控器發射出來的編碼,知道編碼後,就可以實現後續使用單片機或者智能音響控制設備。
  • 智能家居控制-arduino紅外遙控控制燈
    上一篇文章介紹了 arduino接受智能家具系統中的紅外遙控的解碼在此基礎上,今天就做一個遙控器控制的燈,我們可以將燈換成繼電器,這樣的話就實現了,用紅外遙控機,控制家裡的電器開關,比如燈,電視,插座,洗衣機等
  • 用Arduino開發物聯網設備之初識Arduino
    硬體部分:最初Arduino硬體只有那麼幾種,uno、mini等,但是現在經過這麼多年的發展,越來越多的硬體支持了arduino開發環境,所以現在也很難去界定什麼是血統純正的arduino硬體了。軟體部分:這部分也就是我們平時說的Arduino,我們其實使用的就是arduino框架來對很多的mcu來進行編程。這裡很多小夥伴其實有很多疑問,比如為什麼要用arduino來進行?
  • led燈接線分零火線嗎 led燈的光源
    除了節能燈比較受歡迎之外,就是led燈了,它起到了一個裝飾的作用,而且它的顏色也是分為很多種的,那麼,在這裡我們要看一下led燈接線分零火線嗎,如果想要使用這種燈的話,必須要自己接線,所以一定要清楚這個問題,如果接不對的話就不能用,除此之外led燈的光源有什麼。
  • led燈過亮怎麼降低亮度 led燈是什麼燈具
    燈具方面的一些情況多少人掌握的比較少,因為在於很多物品上,人們只要一開始在使用,之後都只會去使用,並不會做一些詳細的理解調查,但有時若遇到了問題,確實還得要在重新的理解,所以就不如一開始就弄明白一些狀況,這樣對自己也會有好處,那麼led燈過亮怎麼降低亮度?led燈是什麼燈具?
  • led控制系統行業排名_led控制系統廠家排名
    打開APP led控制系統行業排名_led控制系統廠家排名 網絡整理 發表於 2020-03-18 09:01:58   led控制系統行業排名   1、合益   這是成立於06年的品牌,是一家集合研發,生產以及銷售,服務作為一體性專業性強的一個品牌。
  • 聖誕樹的led燈怎麼裝 led燈不亮了怎麼修
    對於燈具的選擇,建議大家還是要注意一下方法,市場上銷售的燈具種類是比較多的LED燈屬於很常見的一種節能燈,很多的家庭在裝修房屋的時候會考慮選擇這種燈具,但是大家要注意一下具體的安裝方法,那麼聖誕樹的led燈怎麼裝?led燈不亮了怎麼修?下面我們來具體的了解一下吧。
  • 客廳大燈led燈條怎麼換 led燈的壽命是多長
    led燈具有節能性好、環保安全的優勢,但難免使用久了之後,也會發生一些故障,如led燈條損壞。遇到這種情況應及時檢修,防止影響到led燈的正常使用。那麼,下面小編就來介紹下客廳大燈led燈條怎麼換。客廳大燈led燈條怎麼換隻需要購買一樣瓦數的燈條更換即可,利用幾粒螺絲,將燈條固定好就可以,非常的簡單,但是通常燈條是不易損壞的,應先確定驅動是否有問題再購買燈條,否則更換之後也會燒壞或是沒亮。
  • led燈屬於什麼垃圾分類 led燈的特點
    現在很多大城市都已經開始了垃圾分類,也就是說我們在扔垃圾的時候必須要做好分類,一般的話它會分為可回收垃圾,不可回收垃圾和有害垃圾了三種,所以,必須要清楚每種垃圾究竟是哪一種類型的,在這裡大家要知道led燈屬於什麼垃圾分類,其次,還要知道led燈的特點是什麼。
  • led雙面燈橫著還是豎著 led燈的品牌有哪些
    led燈的品牌有哪些1、led燈廠家有哪些-歐司朗歐司朗總部位於德國,全球led燈十大品牌之一,同時也是行業中最具創新力的照明企業之一,並且還獲得有多項的專利權。2、led燈廠家有哪些-飛利浦飛利浦1891年創建於荷蘭,是國內外知名領導品牌,該品牌主要以生產碳絲燈泡為主,並且也是歐洲最大的碳絲燈泡產商之一。3、led燈廠家有哪些-卡博司通卡博司通總部位於美國,是美國著名商標,該品牌致力於節能環保與智能照明產品研發,憑藉著節能環保的LED照明產品成為行業中的領導者。
  • led燈打開後不停閃爍是什麼原因 led燈如何選擇
    燈,而led燈它佔有很多優勢,也受到人們的喜愛。有很多人在安裝LED燈以後出現燈不停在閃爍,在晚上開啟使會覺得非常嚇人。那麼led燈打開後不停閃爍是什麼原因?led燈如何選擇?接下來我們跟著小編一起來了解吧!
  • led燈打開只發弱光不亮是怎麼回事?不外乎以下這兩種情況
    燈具是我們生活中離不開的東西,燈具跟很多東西一樣,使用時間長了難免不會出現這樣或者那樣的問題,那麼如果我們遇到led燈打開只發弱光不亮這種情況時,應該怎麼辦呢?其實不外乎以下就兩種情況:一修房屋快修處理led燈具不亮led燈打開只發弱光不亮原因一:先檢查家裡的電壓是否穩定,如果遇到用電高峰期,電壓會出現不穩的情況,這時可能會有燈具不夠亮只發弱光的情況
  • 滷素燈改led車燈多少錢一套?滷素燈改led燈有必要嗎?
    成都車改匠今天將與您討論:是否需要將滷素光更換為led燈光?將滷素車燈更換為LED大燈有哪些潛在的隱患?滷素燈換LED車燈一套多少錢?為什麼更換了led光,為什麼換了LED感覺沒有滷素亮?滷素燈的優點是製造簡單、成本低廉、亮度容易調整和控制,缺點也明顯,如使用壽命短、發光效率低,光照效果差。滷素燈改led光一套多少錢?一般滷素燈改換led燈泡,便宜的一套下來大概100-300元,國際國內知名品牌的燈泡一套大概500元左右。如果是LED雙光透鏡價格稍微貴些一套價格1500-3000左右。
  • led燈越來越暗怎麼辦 led燈色溫顏色
    我們家裡安裝的是什麼燈就要了解什麼燈的知識,因為,在後期的時候使用的過程中很有可能就會出現一些故障,如果不及時解決的話,那麼,晚上在家裡就看不見什麼都不能幹,所以,建議大家先看一下led燈越來越暗怎麼辦的方法有什麼,除此之外,要知道led燈色溫的顏色有哪些。
  • led燈直接接220伏會燒嗎 led燈的前景
    我們在選用led燈的時候,除了要考慮質量的問題之外,還要考慮是不是夠亮,並且,要知道家裡能不能承受的了這個瓦數,如果承受不了繼續使用的話,很有可能就會把家裡的線燒掉,所以說大家一定要看一下,然後led燈直接接220伏會燒嗎,另外,很多人都還不知道led燈的前景怎麼樣。
  • led燈是什麼意思有什麼用 led燈的關係
    對於燈飾這一塊,我們多多少少也要了解一些知識,因為它掛在家裡起到了一個裝飾的作用,包括晚上用的時候起到了一個非常大的作用,所以,在這裡我們要看一下led燈是什麼意思,有什麼用處,因為到現在為止,有少部分人還不清楚它的用處都是什麼,另外,led燈的關係是什麼。
  • led人體感應燈優勢 選購感應燈注意事項
    led人體感應燈看似很專業的術語,其實說的就是led感應燈,因為「人來燈亮,人走燈滅」,在生活中極為常見,這種燈具有著令人羨慕與心動的優勢。今日我們就來聊聊led人體感應燈的優勢與選購注意事項,究竟如何選擇才是最正確的。
  • 臥室led燈突然不亮了怎麼修理 Led燈不亮了怎麼樣自行更換
    大家可以看看臥室led燈突然不亮了怎麼修理,選擇一些合適的保養方法,這樣修理起來也會更加簡單。另外也可以學習一下Led燈不亮了應該怎麼樣自行更換,有必要更換的時候,可以馬上由專業人員來解決。臥室led燈突然不亮了怎麼修理臥室led燈突然不亮了,可能是零線斷路了,感應電激發LED燈。
  • 汽車滷素燈改led燈違法嗎
    【太平洋汽車網】汽車滷素燈是可以改成led燈的,但需要注意的是車輛原來的滷素燈燈泡的反光碗和透鏡的焦點相比led燈兩者是不一樣的;led燈可能形成的光柱並不是那麼均勻,根據產品質量的層次不同,若散熱和恆流效果不好的led燈,照明效果也會相對的差,而且燈光散熱沒有處理好對車輛本身也是有很大的影響。
  • 12平米臥室led燈30w會不會太亮 led燈優點有哪些
    led燈優點有哪些?12平米臥室led燈30w會不會太亮12平米的房間裝用12-15w的LED燈就很合適了;用30w肯定是太亮了的。因為LED燈相當於普通燈的60-80倍,如果10平方用12-15w的LED燈,就相當於普通燈近100w了,足夠亮了。