arduino學習筆記四 例項led

2021-09-27 00:01:37 字數 1446 閱讀 8056

在數位電路中開關(

switch

)是一種基本的輸入形式,它的作用是保持電路的連線或者斷開。

arduino

從數字i/o

管腳上只能讀出高電平(

5v)或者低電平(

0v),因此我們首先面臨到的乙個問題就是如何將開關的開

/斷狀態轉變成

arduino

能夠讀取的高

/低電平。解決的辦法是通過上

/下拉電阻,按照電路的不同通常又可以分為正邏輯(

positive logic

)和負邏輯(

inverted logic

)兩種。

在正邏輯電路中,開關一端接電源,另一端則通過乙個

10k的下拉電阻接地,輸入訊號從開關和電阻間引出。當開關斷開的時候,輸入訊號被電阻「拉

」向地,形成低電平(

0v);當開關接通的時候,輸入訊號直接與電源相連,形成高電平。對於經常用到的按壓式開關來講,就是按下為高,抬起為低。

在負邏輯電路中,開關一端接地,另一端則通過乙個

10k的上拉電阻接電源,輸入訊號同樣也是從開關和電阻間引出。當開關斷開時,輸入訊號被電阻「拉

」向電源,形成高電平(

5v);當開關接通的時候,輸入訊號直接與地相連,形成低電平。對於經常用到的按壓式開關來講,就是按下為低,抬起為高。

為了驗證

arduino

數字i/o

的輸入功能,我們可以將開關接在

arduino

的任意乙個數字

i/o管腳上(

13除外),並通過讀取它的接通或者斷開狀態,來控制其它數字

i/o管腳的高低。本實驗採用的原理圖如下所示,其中開關接在數字

i/o的

7號管腳上,被控的發光二極體接在數字

i/o的13號

管腳上:

**為:

int ledpin = 13;

int switchpin = 7;

int value = 0;

void setup()

void loop() else }

由於採用的是負邏輯電路,開關按下時用

digitalread()

函式讀取到的值為

low,此時再用

digitalwrite()

函式將發光二極體所在的管腳置為高,點亮發光二極體。同理,當開關抬起時,發光二極體將被熄滅,這樣我們就實現了用開關來控制發光二極體的功能。

Arduino學習筆記 (四) 常用函式

1 pinmode pin,mode 設定引腳的輸入輸出狀態 pin 引腳號 mode input output 2 digitalwrite pin,value 設定輸出引腳的高低電平狀態 pin 引腳號 value high low 3 int digitalread pin 讀取引腳的狀態,並...

Arduino學習筆記01 Arduino介紹

學習arduino最好有些c語言基礎,我開始學arduino時也有些許困惑,希望以下教程能夠幫到你!本次學習筆記主要板子是arduino uno。首先介紹一下學習arduino的資源 arduino中文社群 arduino實驗室 太極創客 別再找了!這是有史以來最棒的arduino教程 太極創客 零...

arduino學習筆記五

串列埠輸出顯示 序列通訊是在實現在 pc機與微控制器進行互動的最簡單的辦法。之前的 pc機上一般都配有標準的 rs 232 或者rs 422 介面來實現序列通訊,但現在這種情況已經發生了一些改變,大家更傾向於使用 usb這樣一種更快速但同時也更加複雜的方式來實現序列通訊。儘管在有些計算機上現在已經找...