2018-10-09

項(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í)豐富哦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文翻譯自 Arduino 串行通訊的官方文檔。 本文的最新版本位于:https://github.com/iwh...
    import_hello閱讀 4,275評(píng)論 0 7
  • 一、每日清晨自問(wèn) 我的終極人生目標(biāo)是什么? 實(shí)現(xiàn)人生的價(jià)值,無(wú)悔! 你寶貴而狂野的一生準(zhǔn)備做什么? 為公平正義奮斗...
    心平氣和斷舍離閱讀 267評(píng)論 0 3
  • 做一個(gè)有愛(ài)心的人,擁有有愛(ài)的能力。加油親愛(ài)的自己。 今天特別感謝我的死黨陪我去感召覃帥哥!感召成功。 明日計(jì)劃:6...
    蔣泳頻閱讀 210評(píng)論 2 3
  • NSTimer 的創(chuàng)建 NSTimer的創(chuàng)建通常有兩種方式,一種是以 scheduledTimerWithTime...
    要上班的斌哥閱讀 7,593評(píng)論 20 60
  • 孩子,往往我們不會(huì)理會(huì)她的童言無(wú)忌,是因?yàn)樘?jiǎn)單嗎?不,是因?yàn)樘媲?!我?lái)說(shuō)說(shuō):一個(gè)四歲的孩子的童言,真動(dòng)人! 一...
    聽(tīng)四時(shí)閱讀 665評(píng)論 2 1

友情鏈接更多精彩內(nèi)容