Arduino學習筆記 經典LED

2021-09-24 14:08:46 字數 1833 閱讀 6622

3.時間控制函式

4.點亮led

5.總結

今天我們開始同時講解理論以及實踐。對於絕大部分有過微控制器程式設計經歷的人來說,第乙個接觸的大多數就是led燈(忽然想起博主大一那個懵懂的時代,當時大三的師兄給我們展現了一把流水燈功力,當時真是炫了一把,心中無比激動)。

第三課主要用到數字io口,所以在開始實驗之前,我們先來認識一下arduino的數字io口。

數碼訊號是以0、1表示的不連續訊號,也就是以二進位制形式表示的訊號。在arduino中數碼訊號用高低電平來表示,高電平為數碼訊號1,低電平為數碼訊號0。arduino上每乙個帶有數字編號的引腳都是數字引腳,包括寫有"a"編號的模擬輸入引腳。使用這些引腳可以完成輸入/輸出數碼訊號的功能。

在使用輸入或者輸出功能前,需要先通過pinmode()函式配置引腳的模式為輸入或者輸出模式:

方法:pinmode(pin,mode)

引數:pin為指定配置的引腳編號,引數mode為指定的配置模式。

而我們接下來的led主要需要用輸出模式,所以我們需要配置成 pinmode(pin,output);配置為輸出模式以後,還需要使用digitalwrite()函式使該引腳輸出高電平或低電平。

方法:digitalwrite(pin,value)

引數:pin為指定輸出的引腳編號。引數value為要指定的輸出電平,使用high指定輸出高電平,使用low指定輸出低電平。

數字引腳除了用於輸出訊號外,還可用digitalread()函式讀取外部輸入的數碼訊號。

方法:digitalread(pin)

引數:pin為指定讀取狀態的引腳編號。

注意:由於我們接下來的實驗程式很多都用到延時函式,那麼這裡就介紹幾個:

4.2.1 點亮熄滅單個led

實驗**

/**

* @desc 點亮熄滅單個led

* @author 微控制器菜鳥

* @date 2016/12/2

* 注意:led的一端接到5v,另外一端接到輸出引腳,低電平亮

*/#define led 2

//定義2號引腳為led

void

setup()

void

loop()

燒寫到mega2560板子,連線led引腳到2埠,正常現象會看到led閃爍。

4.2.2 經典流水燈

實驗**

/**

* @desc 流水燈(8個led依次亮滅)

* @author 微控制器菜鳥

* @date 2016/12/2

* 注意:led的一端接到5v,另外一端接到輸出引腳,低電平亮

*/#define led_start 2

#define led_end 9

#define delay_time 500

//延時時間,可以調節然後就可以看到亮滅頻率

void

setup()

}void

loop()

//從引腳9到2引腳,逐個點亮led,等待1s再熄滅led

for(

int i=led_end;i>=led_start;i--

)}

不出意外,應該會看到led燈流水亮滅.

這一節我們主要學到:

Arduino學習筆記01 Arduino介紹

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

arduino學習筆記五

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

Arduino學習筆記 背景

arduino學習筆記 寒假打算玩玩看,不知道能玩出個啥 手邊的裝置,具體用法以後慢慢補充 arduino uno 微控制器 atmega328 32kb快閃儲存器 2kb ram 0 13 數字輸入輸出 a0 a5 模擬輸入輸出 3 5 6 9 10 11 pwm vin 穩壓前電壓輸入 vout...