女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

Arduino基礎(chǔ):通過數(shù)字輸出控制LED照明

余溫重顧 ? 來源:余溫重顧 ? 作者:余溫重顧 ? 2023-02-23 10:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

本文為英譯版,原文發(fā)表于deviceplus.jp。

雖然Devices Plus已經(jīng)介紹過Arduino的多種應(yīng)用程序和示例,但是了解相關(guān)基礎(chǔ)知識對于任何項目的構(gòu)建仍然是非常重要的!

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

本文將介紹可以通過Arduino進行開啟和關(guān)閉的數(shù)字輸出的有關(guān)內(nèi)容,并且說明如何創(chuàng)建使用LED的數(shù)字輸出程序。

另外,為了使用電子部件,需要了解電氣的有關(guān)術(shù)語,例如“電壓”和“電流”。如果不理解這些術(shù)語的含義,您在購買電子元件的時候?qū)o法確認其是否適用于您的用途。

[目錄]

? Arduino上的接口

? “數(shù)字輸出”的兩種輸出狀態(tài)

? 通過程序點亮LED

? 程序結(jié)構(gòu)

? 需要了解的電氣術(shù)語

? 通過電阻控制電流

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

Arduino上的接口

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

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

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

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

pYYBAGPzDeuAV8V_AAD9hf30ERY166.jpg

“數(shù)字輸出”的兩種輸出狀態(tài)

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

poYBAGPzDe2AMb8TAAB_YlSwgvs598.jpg

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

通過程序點亮LED

我們通過用程序控制數(shù)字輸出來打開LED。本節(jié)將介紹如何打開連接到第13個數(shù)字輸入/輸出端子的LED。按照以下步驟創(chuàng)建程序。創(chuàng)建程序后,像之前介紹的那樣將其寫入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

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

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

程序結(jié)構(gòu)

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

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

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

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

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

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

需要了解的電氣術(shù)語

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

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

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

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

poYBAGPzDe-APhBGAACWXNLZUbE700.jpg

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

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

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

pYYBAGPzDfOAGBMKAAE2Bi--9Gk054.jpg

通過電阻控制電流

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

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

poYBAGPzDfaABKqwAACD0n4E8e4049.jpg

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

pYYBAGPzDfiAEzvxAABDAMQphnY970.jpg

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

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

5V ÷ 0.01A = 500Ω

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

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

pYYBAGPzDfqAL5QdAAEd_7Wz-Vo243.jpg

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

將LED與電阻連接并點亮LED

使用LED時,必須連接適當(dāng)?shù)碾娮杵鱽睃c亮LED??梢酝ㄟ^簡單的計算知道需要連接多少阻值的電阻器。當(dāng)LED和電阻器串聯(lián)連接并且兩端連接了電源時,電阻值可以用以下公式計算得到。

poYBAGPzDf2AElMTAABzasu3e9U707.jpg

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

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

另外,如果您想要將LED燈調(diào)暗,可以減小電流值。鑒于LED電壓幾乎不會發(fā)生改變,所以仍然使用正向電壓值。例如,當(dāng)流經(jīng)電流為1 mA時,計算結(jié)果如下:

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    242

    文章

    23796

    瀏覽量

    672773
  • 電阻
    +關(guān)注

    關(guān)注

    87

    文章

    5618

    瀏覽量

    174756
  • Arduino
    +關(guān)注

    關(guān)注

    189

    文章

    6497

    瀏覽量

    190538
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

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

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

    手工制作紅外遙控LED照明燈 可自動調(diào)節(jié)光度

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

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

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

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

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

    使用Arduino通過程序控制LED

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

    通過數(shù)字電源系統(tǒng)管理來控制您的電源

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

    arduino數(shù)字LED時鐘

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

    通過DMX使用Arduino控制LED聚光燈設(shè)置

    電子發(fā)燒友網(wǎng)站提供《通過DMX使用Arduino控制LED聚光燈設(shè)置.zip》資料免費下載
    發(fā)表于 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>聚光燈設(shè)置

    使用Arduino的邊緣照明亞克力LED標(biāo)牌

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

    通過數(shù)字電源實現(xiàn)更多從線路到負載的應(yīng)用

    通過數(shù)字電源實現(xiàn)更多從線路到負載的應(yīng)用
    發(fā)表于 11-04 09:52 ?0次下載
    <b class='flag-5'>通過數(shù)字</b>電源實現(xiàn)更多從線路到負載的應(yīng)用

    使用Arduino藍牙控制LED

    電子發(fā)燒友網(wǎng)站提供《使用Arduino藍牙控制LED.zip》資料免費下載
    發(fā)表于 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

    電子發(fā)燒友網(wǎng)站提供《Arduino RGB Led控制通過PC.zip》資料免費下載
    發(fā)表于 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控制舵機,步進電機以及循環(huán)的使用。對于Arduino控制舵機的方法是通過
    發(fā)表于 03-23 13:52 ?1次下載
    <b class='flag-5'>通過</b><b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>舵機

    如何使用Arduino控制RGB LED

    在本指南中,您將學(xué)習(xí)如何使用Arduino控制RGB LED。RGB(紅-綠-藍)LED可以通過混合不同強度的紅、綠、藍光來產(chǎn)生多種顏色。您
    的頭像 發(fā)表于 02-11 10:28 ?7159次閱讀
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>RGB <b class='flag-5'>LED</b>