項(xiàng)目一:按鍵

????????? 上圖是使用接在2口的按鍵來(lái)控制接在13口的led燈的程序,在程序當(dāng)中,出現(xiàn)了 pinMode(2,INPUT_PULLUP);這條語(yǔ)句命令,是有些難以理解的,其余的都能理解。 第一步:搜語(yǔ)法?
????????? 從CSDN上面查找資料,從而半知半解,但總體查找思路還是清楚了,關(guān)于 pinMode(2,INPUT_PULLUP)的作用,還需要和pinMode(2,INPUT)進(jìn)行一個(gè)對(duì)比,既然要對(duì)比就要看看兩種語(yǔ)句會(huì)有什么樣的效果,那就有一個(gè)很關(guān)鍵的知識(shí)點(diǎn)出現(xiàn)了“通訊”
Serial:
?????????? 用于Arduino控制板和一臺(tái)計(jì)算機(jī)或其他設(shè)備之間的通信,所有的Arduino控制板至少有一個(gè)串口(UART),他通過(guò)0(RX)和1(TX)數(shù)字引腳經(jīng)過(guò)串口轉(zhuǎn)換芯片,連接計(jì)算機(jī)USB端口與計(jì)算機(jī)進(jìn)行通信。因此,如果你使用這些功能的同時(shí)你不能使用引腳0和1作為輸出或輸入。 使用Arduino IDE(IDE是集成開(kāi)發(fā)環(huán)境的意思,用于提供程序開(kāi)發(fā)環(huán)境)內(nèi)置的串口監(jiān)視器與Arduino板通信。當(dāng)點(diǎn)擊工具欄上的串口監(jiān)視器按鈕,調(diào)用begin()函數(shù)(選擇相同的波特率,默認(rèn)都是9600)。 不同的Arduino板子內(nèi)置串口設(shè)置也不盡相同,所以拿到一塊板子一定要先搞懂他的每個(gè)硬件接口。 實(shí)際效果 使用pinMode(2,INPUT_PULLUP),的結(jié)果就是,當(dāng)按鍵按下的時(shí)候,燈滅掉,等處于常開(kāi)狀態(tài)。使用pinMode(2,INPUT)也是一樣的結(jié)果。對(duì)于INPUT_PULLUP,可以這么理解,首先不管你寫(xiě)的時(shí)候加不加_pullup,板子里都會(huì)有一個(gè)電阻,只是沒(méi)有接罷了,如果寫(xiě)了,端口就會(huì)接上那個(gè)電阻。這么做的目的呢,是讓板子運(yùn)行穩(wěn)定,不會(huì)出現(xiàn)誤讀。在調(diào)用串口監(jiān)視器之后測(cè)試,也是同樣的效果。從串口監(jiān)視器當(dāng)中得知,當(dāng)按鈕按下的時(shí)候,2端口讀取的是低電平也就是數(shù)字信號(hào)的“0”,當(dāng)按鈕沒(méi)有按下的時(shí)候讀取的是高電平轉(zhuǎn)換成數(shù)字信號(hào)就是“1”
項(xiàng)目二:串口打印
??????? 之前在項(xiàng)目一的時(shí)候,已經(jīng)簡(jiǎn)單介紹過(guò)如何使用串口打印了,也介紹了一下串口的作用,這里我用自己的理解來(lái)說(shuō)明一下串口的作用,串口就是計(jì)算機(jī)和Arduino板子之間進(jìn)行通信的一個(gè)橋梁,還有一個(gè)比較重要的概念就是“波特率”,它是一個(gè)衡量符號(hào)傳輸速率的參數(shù)。指的是信號(hào)被調(diào)制以后再單位時(shí)間內(nèi)的變化,既單位時(shí)間內(nèi)載波參數(shù)變化的次數(shù)。具體一些來(lái)說(shuō):假如每秒傳送240個(gè)字符,而每個(gè)字符格式包含10位(1個(gè)起始位,1個(gè)停止位,8個(gè)數(shù)據(jù)位),這時(shí)波特率為240Bd,比特率為10位*240個(gè)每秒=2400bps。
測(cè)試:從串口打印電位器實(shí)時(shí)數(shù)值
??????



通過(guò)測(cè)試獲取的結(jié)果: 首先對(duì)于Serial.begin(波特率);它是將串行數(shù)據(jù)傳輸速率設(shè)置為位/秒(波特)。與計(jì)算機(jī)通訊時(shí),可以使用很多波特率,比較常用的就是9600,這條語(yǔ)句的作用就是打開(kāi)串口。下圖是測(cè)試如果沒(méi)有設(shè)置該語(yǔ)句,我們能夠清楚看到,com5口并沒(méi)有數(shù)據(jù)實(shí)時(shí)輸出。所以要使用串口監(jiān)視器一定要設(shè)置該語(yǔ)句。

關(guān)于Serial.print()函數(shù)總結(jié)如下:
1、輸出數(shù)字:Serial.print(78)輸出:78
?2、輸出小數(shù):Serial.print(78.2233)輸出:78.22
3、輸出字符:Serial.print(“Hello world”)輸出:Hello world
4、進(jìn)制轉(zhuǎn)換: BIN:二進(jìn)制、OCT:八進(jìn)制、DEC:十進(jìn)制、HEX:十六進(jìn)制
Serial.print(78,BIN)輸出:1001110
5、對(duì)于浮點(diǎn)型,指定輸出的小數(shù)位數(shù)。
?Serial.printIn(1.2345,3)輸出:1.235
Serial.printIn(1.2345,4)輸出:1.2345
6、Serial.printIn():回車換行 和Serial有關(guān)的函數(shù)含有很多,后期接觸到可以學(xué)習(xí)豐富哦。