Arduino入門9: PWM和呼吸燈

2021-03-02 愛上Arduino

在前幾篇入門教程中,我們學會了用digitalWrite(HIGH/LOW) 函數控制LED的亮和滅。那麼你可能就會問了,除了這兩種二元狀態,就沒有中間狀態了麼?如果我想控制LED的亮度呢? 如何從亮慢慢地熄滅呢? 在本篇教程中,我們就來學習一個非常重要的概念-- PWM。使用它就可以輕易地實現LED漸亮漸滅的呼吸效果。 

    關於PWM    

PWM, 全稱叫Pulse Width Modulation,搜了一下都叫「脈寬調製 /脈衝寬度調製」。簡單來說,Arduino只能產生5V和0V電壓,如果想要2.5V或者其他值的電壓就要靠PWM,PWM通過單片機的數字輸出的不同脈衝寬度,來得到「模擬輸出」需要的值。


    準備材料    

Arduino UNO 1塊

當然你也可以使用Arduino其它版本,比如Arduino Leonardo, Arduino Duemilanove。


Arduino USB線 1根

一端是A型,一端是B型的USB連接線,用來連接Arduino和電腦

麵包板 1塊

麵包線/跳線 若干根

兩頭都是針頭的公對公麵包線若干

LED 1顆

這裡我們選用最常用的1顆紅色LED,用綠色的也可以。

220Ω電阻 1顆

裝有Arduino IDE的Mac/PC/Linux 1臺

若沒有安裝,請參考《Arduino入門3: 安裝和熟悉Arduino IDE》安裝。

    連接電路    

LED長腳(正)加220歐電阻再連到Arduino Pin9引腳,LED短腳(負)直接GND。

    代碼    

導入文件>示例>Basics>Fade

int led = 9;           int brightness = 0;    int fadeAmount = 5;    void setup() {    pinMode(led, OUTPUT);}void loop() {    analogWrite(led, brightness);    brightness = brightness + fadeAmount;    if (brightness == 0 || brightness == 255) {    fadeAmount = -fadeAmount ;  }    delay(30);}

analogWrite()用於設定特定pin的PWM值,這個函數需要兩個輸入參數:analogWrite(pin, value),pin即你要操作的針腳, value的範圍是0~255。

代碼上傳完成後,我們可以看到LED會有個逐漸由亮到滅再到亮的一個緩慢過程,而不是直接的亮和滅,如同早起蘋果電腦的呼吸燈一般,感覺在呼吸。 



Arduino電子書和視頻教程獲取方式

也想要一份我們套件附送的Arduino電子書和各種視頻教程麼?

掃描下方二維碼加關注後,回復「福利

戳閱讀原文,購買Arduino入門學習套件

相關焦點

  • arduino mega全解
    關於arduino mega相信大家對於這一開發板有了一定的了解,現在對這款開發板做一下系統的解說:本文引用地址:http由於用戶不小心碰到下載線導致了開發板與電腦的通信斷開,這就會有可能造成開發板的故障,需重新燒入熔絲位,在這裡我用的是智峰的燒錄軟體,,其中低位值,高位值和擴展位值分別為
  • Arduino呼吸燈實驗
    在Ardiuno第一個程序:點亮LED燈 中,我們通過Arduino控制LED燈的亮滅,現在,我們製作一個Arduino呼吸燈,使得LED燈的亮度逐漸變化
  • Arduino入門1: Arduino的前世今生
    公認的是,Arduino於2004和2005期間誕生於義大利Ivrea小鎮一所叫 Interaction Design Institute Ivrea (IDII) 互動設計學院裡。初衷是為了給學校的非電子工程背景的設計和藝術類學生提供一套簡單、便宜又易用的工具來更好地學習和理解電子技術,並創作。
  • 大牛輕鬆帶你玩轉Arduino智能硬體:(一)arduino入門:硬體介紹
    (一)arduino入門:硬體介紹認識arduino你都不需要去關心單片機編程繁瑣的細節,提供給你的是一套容易使用的工具包。Arduino同樣也簡化了同單片機工作的流程,但同其它系統相比Arduino在很多地方更具有優越性,特別適合老師,學生和一些業餘愛好者們使用:· 便宜 - 和其它平臺相比,Arduino板算是相當便宜了。最便宜的Arduino版本可以自己動手製作,即使是組裝好的成品,其價格也不會超過200元。
  • Arduino 機器學習實戰入門(下)
    前文回顧:Arduino 機器學習實戰入門(上)按照以下步驟設置Arduino IDE應用程式,該應用程式用於將推理模型上載到您的電路板,並在下一節中從電路板下載培訓數據。因為我們需要在Arduino IDE中下載和安裝特定的板和庫,所以比使用Arduino Create web editor要多幾個步驟。
  • Arduino_集合Arduino教程、Arduino IDE及設計應用的技術專題
    27# 活詞典 說:2014-05-19 21:15 回答26# 雲端:Arduino能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他的裝置來反饋、影響環境。,所以發展迅速呢 回答9# 雲端:支持多種互動程序,開放原始碼路圖設計 19# 雲端 說:2013
  • RS推出新開放源碼Arduino入門套件
    全球領先的電子與維修產品高端服務分銷商、Electrocomponents plc集團公司(LSE:ECM)的貿易品牌RS Components公司宣布獨家備貨全新的Uno入門級套件,即面向專業嵌入式系統工程師、學生和愛好者開發的Arduino低成本、開源電子產品原型板。
  • 大牛輕鬆帶你玩轉Arduino智能硬體六-arduino入門:LED流水燈
    (六)arduino入門:LED流水燈  * / /**************************************/ const int lowestPin = 2;//最低的一個連接到引腳2 const int highestPin = 9;//最高的一個連接到引腳9 /**************************************/ void setup() { //s設置引腳2到9作為輸出 for (int
  • Arduino中小學創客教師快速入門,專業書籍是重要法寶
    入門小白們最苦惱的選書、選開發板、選元件和配件的問題一起都得到了解決。哪個元件有什麼作用,如何使用來實現某種功能?這些都可以一邊看書一邊操作和應用。內容簡介本書將通過實施創意項目來學習Arduino的基礎知識。書中不僅介紹了非常有用的電子元件病包含了14個項目的樣列。
  • arduino 從零開始(2)探索arduino開發板和arduino IDE
    1、你將會探索arduino開發板2、你將會打開並上傳程序到arduino 板3、你將會學到arduino程序的基本框架和基本函數4、你將會自己編寫並上傳arduino程序一、arduino 板簡單來說,arduino(硬體)就是一個可以用來根據你的要求進行編程從而可以和很多輸入輸出設備進行交互的一個微型電腦系統。
  • Arduino也有生命:做一個呼吸燈
    本學期開設Arduino創意電子應用課程,課程旨在結合電子系統設計、開源硬體、圖形化編程等相關知識,從生活情境出發,設置問題和任務,讓學生動手搭建設計智能控制系統,培養工程思維和動手能力;學生可以利用Arduino開源硬體、電子執行部件、傳感器設計控制系統,再利用圖形化編程實現各作品的功能。
  • 你足夠了解pwm嗎?搞清楚pwm控制技術
    pwm是現代重要技術之一,在各種電子設備中,均存在pwm的身影。在往期文章中,小編對pwm原理、pwm佔空比、pwm頻率均有所介紹。為增進大家對pwm的認識,本文將對pwm控制技術予以闡述。如果你對pwm抑或本文即將介紹的內容具有興趣,不妨繼續往下閱讀哦。
  • 萬能超的arduino學習日記(一)
    本科時候有接觸過arduino,但是由於導師方向原因,轉做了3D列印和動力學分析,所以這裡是啥都會一點點的萬能超,希望能夠和大家一起學習討論。最近由於興趣原因,決定重新撿起arduino,所以決定寫這個萬能超的arduino學習日記跟大家一起重新學習。最開始的入門學習,我選擇跟B站太極創客的學習視頻,因為有基礎,選擇二倍速觀看學習。
  • 5分鐘用Arduino寫PWM控制程序
    如此集成,大大簡化開發過程,僅需5分鐘就可以用PWM做個應用,如呼吸燈、舵機、蜂鳴器控制等,參考下面視頻↓↓↓視頻中Seeeduino開發板使用的是ATmega328P,其內部共有3個定時/計數器:TC0、TC1、TC2,分別對應不同的埠,及PWM頻率:1)TC0 PWM方波的頻率為980Hz,對應數字IO:5、6
  • [新課推薦]人工智慧科普活動資源包配套課程Micro:bit+ Arduino...
    9變色龍利用microbit擴展板、主板、顏色識別傳感器等製作一個「變色龍」。第二章10製作泡泡機利用主板、拓展板、舵機、積木燈製作一個泡泡機。本課程一共分為三個章節24個小節,每個小節5-10分鐘,視頻內容包括外部結構搭建和編程演示。課程的第一章會介紹arduino控制板、arduino編程軟體的使用以及簡單的基礎傳感器的使用。第二章主要講程序的邏輯關係以及複雜傳感器的應用。第三章主要講課程的綜合應用,通過搭建一個小車、編寫程序實現小車不同的功能。
  • LABVIEW+Arduino
    而arduino可以模擬這些操作,再與LABVIEW相結合,可以在同一程序能實現切換頻點、通道等的操作,並根據測試需要將所需要的測試數據記錄在相應的表格內。一、什麼是arduinoArduino是一款便捷靈活、方便上手的開源電子原型平臺。包含硬體(各種型號的Arduino板)和軟體(Arduino IDE)。由一個歐洲開發團隊於2005年冬季開發。
  • 大佬帶你深入pwm殿堂,搞明白pwm頻率是咋回事
    對於pwm,想必很多朋友都有所耳聞。但是,大家對於pwm真的了解嗎?譬如,pwm頻率是如何被確定下來的?pwm頻率和pwm值是同一個東西嗎?如果不是,pwm頻率和pwm值有什麼區別呢?如果你對這些問題存在疑惑,或者是對本文涉及的pwm相關知識具有興趣,不妨繼續往下閱讀哦。
  • 玩轉Arduino提升工業/交互作品 | Workshop 01
    Arduino是一款開源的電子原型平臺,包括硬體和軟體兩部分。通過編程,設計師可以通過arduino讀取各種傳感器的數值,並使用物理輸出和可視輸出控制或影響外界環境,創造出有趣的互動原型。Arduino對於新手非常友好,入門簡單,非常適合設計師學習。掌握Arduino能讓設計師的想像力有更多的發揮空間。
  • 十個中文例程教會你輕鬆上手製作Arduino智能小車
    Arduino簡介本文引用地址:http://www.eepw.com.cn/article/201706/348117.htmArduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的arduino板)和軟體(arduino IDE)。
  • 「初識Arduino - 3」PWM控制LED燈
    正弦波、方波、三角波與鋸齒波Arduino數字引腳給我們提供了5V(高電平)和0V(低電平),輸出是方波信號。在Arduino UNO中,可以看到板上有指明`PWN~`,也就是帶波浪號的3, 5, 6, 9, 10, 11這些數字接口是支持PWM的,我們可以通過analogWrite(pin, value)來設置佔空比,value的取值在0-255之間(255表是100%佔空比,即LED燈最亮)。