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

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

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

3天內不再提示

Arduino基礎:通過數字輸出控制LED照明

余溫重顧 ? 來源:余溫重顧 ? 作者:余溫重顧 ? 2023-02-23 10:40 ? 次閱讀

這篇文章來源于DevicePlus.com英語網站的翻譯稿。

本文為英譯版,原文發表于deviceplus.jp。

雖然Devices Plus已經介紹過Arduino的多種應用程序和示例,但是了解相關基礎知識對于任何項目的構建仍然是非常重要的!

這次,我們將介紹Arduino電子產品的基礎知識。以編寫Arduino入門書籍而聞名的福田和宏先生將作為本文的指導。

本文將介紹可以通過Arduino進行開啟和關閉的數字輸出的有關內容,并且說明如何創建使用LED的數字輸出程序。

另外,為了使用電子部件,需要了解電氣的有關術語,例如“電壓”和“電流”。如果不理解這些術語的含義,您在購買電子元件的時候將無法確認其是否適用于您的用途。

[目錄]

? Arduino上的接口

? “數字輸出”的兩種輸出狀態

? 通過程序點亮LED

? 程序結構

? 需要了解的電氣術語

? 通過電阻控制電流

? 將LED與電阻連接并點亮LED

Arduino上的接口

Arduino具有類似插孔的串聯分布的端子,作為連接和控制電子組件的接口。這些接口可以實現多種控制功能,例如在這里連接一個LED或電機來對電子組件的運行進行控制,連接開關或類似的控件以進行打開/關閉的操作,或連接溫度傳感器來測量室溫。

Arduino UNO的頂部有14個(0至13)“數字輸入/輸出”端子,右下方有6個(A0至A5)“模擬輸入/輸出”端子。

數字輸入/輸出端子的輸出具有兩種狀態:“高電平狀態”和“低電平狀態”,以實現對電子組件的操作,并且可以檢查電壓狀態。

而模擬輸入是一個可以輸入連續變化電壓的端子。給每個端子分配一個數字編號,在通過程序控制電子組件時會指定其數字編號。

pYYBAGPzDeuAV8V_AAD9hf30ERY166.jpg

“數字輸出”的兩種輸出狀態

數字輸出是一種可以更改程序中每個引腳狀態的接口。您可以在兩種狀態之間進行切換:“高電平”或“低電平”。例如,如果連接LED且電壓是高電平,那么LED將會被點亮。相反,如果是低電平,則LED會熄滅。

poYBAGPzDe2AMb8TAAB_YlSwgvs598.jpg

在Arduino中,當電壓是高電平時,端子電壓為“5V”,是低電平時,端子電壓切換為“0V”。高電壓狀態被稱為“高電平”,低電壓狀態被稱為“低電平”。在程序中使用“HIGH”和“LOW”來分別指定高電平和低電平。數字輸入和模擬輸入將在本系列的后面部分內容中進行介紹。

通過程序點亮LED

我們通過用程序控制數字輸出來打開LED。本節將介紹如何打開連接到第13個數字輸入/輸出端子的LED。按照以下步驟創建程序。創建程序后,像之前介紹的那樣將其寫入Arduino,然后檢查LED是否被點亮。

	const int LED_PIN = 13
	

	void setup(){
	    pinMode( LED_PIN, OUTPUT );
	}
	

	void loop(){
	    digitalWrite( LED_PIN, HIGH );
	}

view rawcode01.ino hosted with ? by GitHub

當對數字輸出進行控制時,第4行和第8行的內容非常重要。數字輸入/輸出有兩種方式:可以改變端子狀態的“數字輸出”以及可以讀取端子狀態的“數字輸入”。因此,必須預先指定要使用的設置。該設置的內容就是第4行的“pinMode ()”。
pinMode( LED_PIN, OUTPUT );
在pinMode ()的括號中輸入目標引腳編號以及模式。本項目中使用了第13個端子,所以目標端子編號為“13”,如果使用的是數字輸出模式,則輸入“OUTPUT”。但是,由于本項目中將端子編號設置為“LED_PIN”,所以將目標端子編號指定為“LED_PIN”(稍后解釋)。

通過第8行上的“digitalWrite ()”更改輸出。
digitalWrite( LED_PIN, HIGH );
指定所要更改輸出的端子編號以及端子輸出的狀態。引腳編號指定為和pinMode ()中一樣的“LED_PIN”。如果端子狀態被指定為“HIGH”,將會輸出5V的電壓。如果您連接了一個LED,那么將會產生電流,LED會亮起。如果要關閉LED,請將狀態指定為“LOW”,使端子電壓變為0。

程序結構

本節將會介紹程序中數字輸出以外的內容。以下所示的第一行代碼將電子組件所連接的端子編號進行了命名。
const int LED_PIN = 13
將電子組件連接到Arduino的接口被進行了編號。例如,將“13”分配給了上次連接了外部LED的端子。在實際控制LED時,必須在程序中指定所連接的接口編號。但是,如果您直接在程序中輸入數字,將很難分清數字的含義,并且如果您之后對程序進行了修改,就要花費更多的時間來研究這些數字。另外,如果更改了連接的對象,就需要在程序中所有指定接口編號的位置進行更改,這非常耗時,并且有可能造成其他部分被意外更改,從而導致故障的發生。

因此,最好為電子部件所連接的接口編號指定為一個描述性的名稱。本文中,我們指定了“LED_PIN”(變量名)的名稱,并且在變量中存儲了“13”。之后,如果想要對LED進行控制,輸入“LED_PIN”即可。需要注意的是,變量名前面的“int”表示變量為整型,“const”可以防止程序中的變量內容被更改。

如下所示的第3行到第5行為setup ()函數,該函數僅被執行一次。
void setup() {

}
Arduino開啟后,將根據其中的程序執行該函數。本項目中的setup ()函數中的程序僅被執行一次。因此,setup ()被用于初始設置。該程序用于設置數字輸入/輸出端子的模式。

如下所示的第7行到第9行為loop ()函數,該函數將被重復執行。
void loop(){

}
setup ()函數中的程序被執行后,將開始執行loop ()函數。當程序運行到loop ()函數的結尾時,將會返回到loop ()的開頭再次運行。程序的主體內容(如LED照明和電機控制)將會在這里進行描述。在該程序中,可以對數字輸出進行切換從而點亮LED。

需要了解的電氣術語

現在我們來了解一些電氣術語的基本含義。當您挑選電子元件或者使用電子元件時,對電氣術語有一定了解會幫助您進行的更加順利。第一個要知道的電氣術語是“電流”。

金屬中存在一種被稱為“正電荷”的正靜電。靜電這一概念很難理解,我們可以把正電荷視作帶有正電荷的粒子,如圖所示。
這些正電荷由電池或其他電源產生,穿過導體,然后流入電子組件(如LED)。“電流”表示在金屬中流動的正電荷量。如果有大量正電荷流過,則LED等電子部件就能夠獲取大量的電能(能量),光照強度更大。相反,如果電流較小,那么供給的正電荷就較少,在使用LED時,光照強度將會更弱。

電流的單位是“A”(安培)。

除此之外,帶負電的電荷被稱為“負電荷”,但是,在電子電路中,我們通常將正電荷在電路中的移動方向作為電流方向。

poYBAGPzDe-APhBGAACWXNLZUbE700.jpg

需要了解的另一個電氣術語是“電壓”。金屬中的正電荷是電力的來源。正電荷可以在電場力的作用下進行移動。這種可以移動正電荷的力被稱為“電壓”。如果電壓很大,就可以驅動更多的正電荷移動,從而產生更大的電流。而如果電壓較小,那么移動的正電荷數量也會較少,因此產生的電流較小。

電壓的單位是“V(伏特)”。

電池可以提供1.5V的電壓,Arduino的電源端子可以提供5V的電壓,家用電源可以提供120V的電壓。

pYYBAGPzDfOAGBMKAAE2Bi--9Gk054.jpg

通過電阻控制電流

許多電子組件都具有可承受的最大電流值,如果通過的電流超過了這個值,電子組件會發生損壞。例如,如果流經LED的電流超過了LED可以承受的極限值,那么LED可能會冒出煙霧或者發熱至破裂。損壞的LED將會無法使用。觸摸熱的LED還有燒傷的危險。

因此,對流經電子組件的電流進行調整很重要。電阻器的作用是限流。電阻器是可以阻止電流流動,并且阻礙正電荷流入其內部的電子元件。因為電阻器抑制了電流,所以流經電子組件的電流量減少了,電子組件就可以安全地進行工作。

poYBAGPzDfaABKqwAACD0n4E8e4049.jpg

電阻器對正電荷流動的抑制程度用“電阻值”來表示。電阻值越小,流動的正電荷量就越多,電流越大。反之,如果電阻值較大,那么電流就會更小。電阻值的單位為“Ω(歐姆)”。電阻值、電壓和電流之間的關系可以用“歐姆定律”的公式來表示。當電壓施加到具有固定電阻值的電阻器兩端時,將電壓除以電阻值就可以得到流經的電流值。

pYYBAGPzDfiAEzvxAABDAMQphnY970.jpg

例如,如果將1kΩ電阻連接到Arduino的5V端子上,可以用以下公式計算電流量。1kΩ 是1000Ω。
5V ÷ 1000Ω = 0.005A = 5mA

如果流經電子組件的電流值恒定,您就可以計算出所連接電阻器的電阻值。在這種情況下,用施加的電壓值除以流經的電流值就可以得到電阻值。例如,要在施加5V電壓的同時施加10mA的電流,使用以下公式得到所連接電阻器的電阻值。10mA是0.01A。

5V ÷ 0.01A = 500Ω

您可以在此處獲取有關歐姆定律的更多信息:Learn About Ohm’s law, GPIO, and transistors by simple LED circuit on Raspberry Pi(通過Raspberry Pi上的簡單LED電路了解歐姆定律、GPIO和晶體管)。

電阻器的側面印有4個或5個色帶。您可以通過色帶知道其電阻值。色帶的含義如下表所示。第一個和第二個數字組合起來是一個兩位數的數字,第三個數字是倍數,第四個表示的是電阻誤差。

pYYBAGPzDfqAL5QdAAEd_7Wz-Vo243.jpg

例如,印有“Brown Black Red Gold(棕色 黑色 紅色 金色)”的電阻器的電阻值是1 kΩ。

將LED與電阻連接并點亮LED

使用LED時,必須連接適當的電阻器來點亮LED。可以通過簡單的計算知道需要連接多少阻值的電阻器。當LED和電阻器串聯連接并且兩端連接了電源時,電阻值可以用以下公式計算得到。

poYBAGPzDf2AElMTAABzasu3e9U707.jpg

電源電壓即為所連接電池的電源電壓。連接到Arduino的數字輸出時,將高電平狀態下輸出的5V作為電源電壓。對于流經LED的電流和電壓,使用電子元件銷售點和數據手冊上所提供的“正向電壓(VF)”值和“正向電流(IF)”值。如果將流經LED的電流設置為正向電流值,那么其兩端的電壓即為正向電壓。例如,如果使用了紅色LED“SLR-56VC3F”,正向電壓是2V(光電特性中的正向電壓Vf項),正向電流是10mA(光電特性中的If項)。將該值作為“LED電壓”和“LED電流”進行計算。如果電源電壓是5V,LED電壓是2V,電流是10mA,那么如下所示,得到的電阻值為“300Ω”。

(5V – 2V) ÷ 0.01A = 300Ω

另外,如果您想要將LED燈調暗,可以減小電流值。鑒于LED電壓幾乎不會發生改變,所以仍然使用正向電壓值。例如,當流經電流為1 mA時,計算結果如下:

(5V – 2V) ÷ 0.001A = 3000Ω = 3kΩ

我們將具有計算得到的電阻值的電阻器與LED連接。如果無法獲取與計算得到的電阻值完全一致的電阻器,可以使用阻值相近的電阻器。

在本文中,我們講解了數字輸出方式、電壓以及電流。下次,我們將會改變LED的亮度。

審核編輯:湯梓紅

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

    關注

    242

    文章

    23712

    瀏覽量

    671081
  • 電阻
    +關注

    關注

    87

    文章

    5607

    瀏覽量

    174358
  • Arduino
    +關注

    關注

    189

    文章

    6492

    瀏覽量

    190143
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何使用Arduino對電源LED進行自動強度控制

    我們將LDR和PWM概念與Arduino一起使用,以自動降低或增加1瓦功率LED的亮度。基本上,PWM是指脈寬調制,通過PWM引腳的輸出信號將是模擬信號,并從
    的頭像 發表于 11-14 16:58 ?2615次閱讀
    如何使用<b class='flag-5'>Arduino</b>對電源<b class='flag-5'>LED</b>進行自動強度<b class='flag-5'>控制</b>

    數字信號控制器將智能控制和通信融合到LED照明

    控制對于設計人員來說并非易事。可以通過使用數字控制LED照明工具包、參考設計和應用筆記來簡化。這些通常包括免費的源代碼和硬件文檔,還會提供可
    發表于 11-30 16:47

    手工制作紅外遙控LED照明燈 可自動調節光度

    1.Arduino可以通過光照傳感器檢測外界光照強度,對LED照明燈進行自動調光; 2.Arduino可以
    的頭像 發表于 04-27 09:44 ?1.9w次閱讀
    手工制作紅外遙控<b class='flag-5'>LED</b><b class='flag-5'>照明</b>燈 可自動調節光度

    c2000數字電源解決方案和數字控制led照明系統(英文版)

    c2000數字電源解決方案和數字控制led照明系統(英文版)
    發表于 04-09 11:07 ?0次下載
    c2000<b class='flag-5'>數字</b>電源解決方案和<b class='flag-5'>數字控制</b><b class='flag-5'>led</b><b class='flag-5'>照明</b>系統(英文版)

    通過連接蜂鳴器到Arduino數字輸出引腳配合程序設計報警器的方式概述

    在這個項目中,我們將做一個報警器,通過連接蜂鳴器到Arduino數字輸出引腳,并配合相應的程序就可以產生報警器的聲音。其原理是利用正弦波產生不同頻率的聲音。如果結合一個
    發表于 07-23 08:00 ?2次下載
    <b class='flag-5'>通過</b>連接蜂鳴器到<b class='flag-5'>Arduino</b><b class='flag-5'>數字</b><b class='flag-5'>輸出</b>引腳配合程序設計報警器的方式概述

    使用Arduino通過程序控制LED

    本文檔的主要內容詳細介紹的是使用Arduino通過程序控制LED燈資料免費下載。
    發表于 05-31 17:54 ?5次下載
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>通過程序控制</b><b class='flag-5'>LED</b>燈

    通過數字電源系統管理來控制您的電源

    通過數字電源系統管理來控制您的電源
    發表于 03-21 10:07 ?4次下載
    <b class='flag-5'>通過數字</b>電源系統管理來<b class='flag-5'>控制</b>您的電源

    arduino數字LED時鐘

    電子發燒友網站提供《arduino數字LED時鐘.zip》資料免費下載
    發表于 10-20 14:55 ?2次下載
    <b class='flag-5'>arduino</b><b class='flag-5'>數字</b><b class='flag-5'>LED</b>時鐘

    通過DMX使用Arduino控制LED聚光燈設置

    電子發燒友網站提供《通過DMX使用Arduino控制LED聚光燈設置.zip》資料免費下載
    發表于 10-26 11:21 ?1次下載
    <b class='flag-5'>通過</b>DMX使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b><b class='flag-5'>LED</b>聚光燈設置

    使用Arduino的邊緣照明亞克力LED標牌

    電子發燒友網站提供《使用Arduino的邊緣照明亞克力LED標牌.zip》資料免費下載
    發表于 10-28 16:16 ?6次下載
    使用<b class='flag-5'>Arduino</b>的邊緣<b class='flag-5'>照明</b>亞克力<b class='flag-5'>LED</b>標牌

    通過數字電源實現更多從線路到負載的應用

    通過數字電源實現更多從線路到負載的應用
    發表于 11-04 09:52 ?0次下載
    <b class='flag-5'>通過數字</b>電源實現更多從線路到負載的應用

    使用Arduino藍牙控制LED

    電子發燒友網站提供《使用Arduino藍牙控制LED.zip》資料免費下載
    發表于 02-08 10:40 ?2次下載
    使用<b class='flag-5'>Arduino</b>藍牙<b class='flag-5'>控制</b><b class='flag-5'>LED</b>

    Arduino RGB Led控制通過PC

    電子發燒友網站提供《Arduino RGB Led控制通過PC.zip》資料免費下載
    發表于 02-09 11:30 ?0次下載
    <b class='flag-5'>Arduino</b> RGB <b class='flag-5'>Led</b><b class='flag-5'>控制</b><b class='flag-5'>通過</b>PC

    通過Arduino控制舵機

    本文主要介紹通過Arduino控制舵機,步進電機以及循環的使用。對于Arduino控制舵機的方法是通過
    發表于 03-23 13:52 ?1次下載
    <b class='flag-5'>通過</b><b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>舵機

    如何使用Arduino控制RGB LED

    在本指南中,您將學習如何使用Arduino控制RGB LED。RGB(紅-綠-藍)LED可以通過混合不同強度的紅、綠、藍光來產生多種顏色。您
    的頭像 發表于 02-11 10:28 ?6844次閱讀
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>RGB <b class='flag-5'>LED</b>
    主站蜘蛛池模板: 国产一级特黄全黄毛片 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片毛片 | 深爱婷婷激情网 | 夜恋秀场欧美成人影院 | 99久久精品免费看国产 | 欧美午夜片| 午夜视频国产 | 亚洲综合黄色 | 爱爱免费网站 | 色视频网站在线观看 | 日韩一区二区视频在线观看 | 中国性猛交xxxx乱大交 | 免费网站看黄 | 欧美精品videosex性欧美 | 四虎成人免费网站在线 | 业余性自由色xxxx视频 | 一区二区三区视频在线 | 欧美日韩国产成人精品 | 免费无码看av的网站 | 日本卡一卡2卡3卡4精品卡无人区 | 在线观看中文字幕第一页 | 毛片免费高清免费 | 午夜一区二区三区 | 四虎精品免费国产成人 | 亚洲成a人片在线观看尤物 亚洲成a人片在线观看中 | 色偷偷91久久综合噜噜噜噜 | 美女被免费网站91色 | 手机在线一区二区三区 | 国产午夜视频在永久在线观看 | 在线欧美三级 | 伊人网大香 | 国产精品欧美一区二区三区 | 操人网站 | 91色视频网站 | 国产在线97色永久免费视频 | 天堂tv亚洲tv日本tv欧美人tv | aaa在线观看高清免费 | 欧美三页 | 手机在线看 | 涩狠狠狠狠色 | 1000部禁片黄的免费看 |