在數(shù)字電路中開關(guān)(switch)是一種基本的輸入形式,它的作用是保持電路的連接或者斷開。Arduino從數(shù)字I/O管腳上只能讀出高電平(5V)或者低電平(0V),因此我們首先面臨到的一個(gè)問題就是如何將開關(guān)的開/斷狀態(tài)轉(zhuǎn)變成Arduino能夠讀取的高/低電平。解決的辦法是通過上/下拉電阻,按照電路的不同通常又可以分為正邏輯(Positive Logic)和負(fù)邏輯(Inverted Logic)兩種。
3.png (5.07 KB, 下載次數(shù): 67)
下載附件
2019-10-24 16:30 上傳
在正邏輯電路中,開關(guān)一端接電源,另一端則通過一個(gè)10K的下拉電阻接地,輸入信號(hào)從開關(guān)和電阻間引出。當(dāng)開關(guān)斷開的時(shí)候,輸入信號(hào)被電阻“拉”向地,形成低電平(0V);當(dāng)開關(guān)接通的時(shí)候,輸入信號(hào)直接與電源相連,形成高電平。對(duì)于經(jīng)常用到的按壓式開關(guān)來講,就是按下為高,抬起為低。
4.png (5.12 KB, 下載次數(shù): 54)
下載附件
2019-10-24 16:30 上傳
在負(fù)邏輯電路中,開關(guān)一端接地,另一端則通過一個(gè)10K的上拉電阻接電源,輸入信號(hào)同樣也是從開關(guān)和電阻間引出。當(dāng)開關(guān)斷開時(shí),輸入信號(hào)被電阻“拉”向電源,形成高電平(5V);當(dāng)開關(guān)接通的時(shí)候,輸入信號(hào)直接與地相連,形成低電平。對(duì)于經(jīng)常用到的按壓式開關(guān)來講,就是按下為低,抬起為高。 為了驗(yàn)證Arduino數(shù)字I/O的輸入功能,我們可以將開關(guān)接在Arduino的任意一個(gè)數(shù)字I/O管腳上(13除外),并通過讀取它的接通或者斷開狀態(tài),來控制其它數(shù)字I/O管腳的高低。本實(shí)驗(yàn)采用的原理圖如下所示,其中開關(guān)接在數(shù)字I/O的7號(hào)管腳上,被控的發(fā)光二極管接在數(shù)字I/O的13號(hào)管腳上:
|