版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
零基礎(chǔ)學(xué)電子與Arduino給編程新手的開發(fā)板入門指南目錄TOC\h\h第1章Arduino概論\h1.1物理計(jì)算\h1.2原型\h1.3需要什么?如何獲得?\h1.4零件和工具\(yùn)h1.5購買渠道\h1.6總結(jié)\h第2章你的Arduino\h2.1Arduino的零件\h2.2將Arduino連接到計(jì)算機(jī)\h2.3零件和工具\(yùn)h2.4總結(jié)\h第3章認(rèn)識電路\h3.1電路:電子學(xué)的基礎(chǔ)構(gòu)件\h3.2電路圖\h3.3使用面包板\h3.4制作電路\h3.5電池\h3.6電路的動力:電\h3.7調(diào)試電路\h3.8萬用表\h3.9萬用表的使用\h3.10繼續(xù)調(diào)試我們的電路\h3.11總結(jié)\h第4章Arduino編程\h4.1Arduino、電路、代碼:一起工作\h4.2什么是IDE?\h4.3ArduinoIDE下載:入門\h4.4程序:Arduino編程的基本組成\h4.5調(diào)試:如果LED沒有閃爍,該怎么辦?\h4.6LEA4_Blink程序:概述\h4.7setup()和loop():代碼的核心\h4.8loop():什么會反復(fù)發(fā)生\h4.9Arduino電路圖\h4.10構(gòu)建基本電路\h4.11SOS信號燈:創(chuàng)建更復(fù)雜的定時(shí)\h4.12總結(jié)\h第5章電學(xué)和測量\h5.1對電學(xué)的初步了解\h5.2逐步構(gòu)建電路\h5.3電流:概述\h5.4理解電子學(xué):水箱類比法\h5.5電壓:電勢\h5.6電流:流程\h5.7電阻:限流\h5.8電壓、電流、電阻:回顧\h5.9并聯(lián)和串聯(lián)電路中的元器件\h5.10總結(jié)\h第6章開關(guān)、LED及其他\h6.1交互性\h6.2概述:數(shù)字化的輸入與輸出\h6.3數(shù)字化輸入:增加一個按鈕\h6.4開關(guān):多種變量\h6.5數(shù)字輸入課程\h6.6看程序:條件語句\h6.7添加一個揚(yáng)聲器并調(diào)整代碼\h6.8再添加兩個按鈕并調(diào)整代碼\h6.9復(fù)習(xí)電學(xué)和代碼概念\h6.10總結(jié)\h第7章模擬值\h7.1生活的意義不僅僅是打開和關(guān)閉!\h7.2逐步創(chuàng)建電位器電路\h7.3LEA7_AnalogInOutSerial程序\h7.4模擬輸入:來自電位器的值\h7.5輸出的模擬值:PWM\h7.6串行通信\h7.7添加揚(yáng)聲器\h7.8添加光敏電阻\h7.9總結(jié)\h第8章伺服電機(jī)\h8.1舞動旗幟\h8.2詳細(xì)了解伺服電機(jī)\h8.3逐步構(gòu)建伺服電機(jī)電路\h8.4LEA8_Sweep程序概述\h8.5for循環(huán)是什么?\h8.6運(yùn)算符\h8.7程序中的for循環(huán)\h8.8增加交互性:轉(zhuǎn)動旗子\h8.9LEA8_Knob說明\h8.10兩面旗子:增加一個伺服電機(jī)\h8.11初步了解LEA8_2_servos\h8.12總結(jié)\h第9章創(chuàng)建自己的項(xiàng)目\h9.1項(xiàng)目管理\h9.2一些有用的組件\h9.3項(xiàng)目類型\h9.4其他版本Arduino開發(fā)板\h9.5記錄下你的項(xiàng)目,然后和別人分享吧!\h9.6總結(jié)\h附錄A讀取電阻阻值第1章Arduino概論或許你曾在當(dāng)?shù)亓闶凵烫幙吹竭^Arduino;或許從購買過的朋友那里聽說過Arduino;或只是因?yàn)樵诰W(wǎng)上看到過一個很酷的設(shè)計(jì),從而對Arduino產(chǎn)生了興趣。什么是Arduino?簡單地說,Arduino就是一個注重與外部世界互動的、物美價(jià)廉的小型簡易計(jì)算機(jī)(見圖1.1)。你所熟悉的絕大多數(shù)計(jì)算機(jī)都是通過鍵盤、鼠標(biāo)、觸摸屏或觸控板來進(jìn)行控制操作的。而Arduino可以通過傳感器來獲取外界信息,Arduino傳感器可測量溫度、光線和聲音的強(qiáng)度,甚至可以測量腳步對地面造成的振動,然后將測量到的數(shù)據(jù)轉(zhuǎn)換為動作、聲音、光線等。圖1.1Arduino圖標(biāo)Arduino最初是由教師開發(fā)的,目的是幫助其設(shè)計(jì)系的學(xué)生創(chuàng)造出交互式對象和環(huán)境。Arduino自2005年發(fā)行以來,已銷售出100多萬件。設(shè)計(jì)師、教育家、工程師、業(yè)余愛好者和學(xué)生們已創(chuàng)建出各種各樣的能通過Arduino感知和回應(yīng)世界的項(xiàng)目。Arduino有很多版本,每一版都有其特定功能。圖1.2展示了一些Arduino樣板。作者本著Arduino的團(tuán)隊(duì)精神,為不了解編程或電子元器件的初學(xué)者編寫了本書。本書將向你展示如何充分運(yùn)用好Arduino。如果你動手能力強(qiáng),且熱愛學(xué)習(xí),那么本書就非常適合你。圖1.2不同功能版本的Arduino1.1物理計(jì)算如何理解用Arduino構(gòu)建物理計(jì)算項(xiàng)目?物理計(jì)算是指利用諸如傳感器、轉(zhuǎn)換器這類的輸入端從外界獲取信息,再利用某種類型的輸出端回應(yīng)這些信息。物理計(jì)算可以像在黑暗的房間里打開LED那么簡單,也可以像能對房間內(nèi)的人的位置做出反應(yīng)的聲光系統(tǒng)一樣復(fù)雜。Arduino可以充當(dāng)這類系統(tǒng)的“大腦”,處理輸入的信息以及回應(yīng)輸出。Arduino是開源硬件運(yùn)動的一部分。想一想這意味著什么。什么是開源硬件運(yùn)動?官方網(wǎng)站將Arduino定義為一種開源電子成型平臺。在開源硬件運(yùn)動中,技術(shù)人員分享硬件和軟件,以此推動新項(xiàng)目和新想法的發(fā)展。源設(shè)計(jì)以可修改的格式共享,并盡可能使用易獲得的材料和開源工具來創(chuàng)造設(shè)計(jì)。通過鼓勵分享資源,開源硬件運(yùn)動推動新項(xiàng)目和新設(shè)計(jì)的發(fā)展。開源項(xiàng)目強(qiáng)調(diào)文檔編制和共享的重要性,使整個用戶區(qū)成為初學(xué)者的重要學(xué)習(xí)資源。1.2原型Arduino是一種原型平臺。什么是原型?原型可用作為系統(tǒng)建立模型。從最初的程序到詳細(xì)的計(jì)劃再到一系列的改進(jìn)都會涉及原型,最后構(gòu)建出一個可復(fù)制的、功能完整的模型。也就是說原型可以一次性地快速測試腦海中的想法。1.3需要什么?如何獲得?Arduino有多種版本,自2005年以來一直在不斷演變發(fā)展。本書主要以ArduinoUno為例,若你的Arduino看起來和圖1.3所示的ArduinoUno很不一樣,也不用感到疑惑,這是因?yàn)楸緯喕死L圖以便于講解相關(guān)部件。Arduino是開源式的,所以你也可以購買一個其他品牌的主板。本書主要討論ArduinoUno和與其兼容的主板。圖1.3ArduinoUno1.4零件和工具在使用Arduino構(gòu)建項(xiàng)目時(shí),同樣也需要一些額外的電子元器件和工具。以下就是完成本書項(xiàng)目所需購買的零件清單。同時(shí)本書會詳細(xì)闡述這些零件的細(xì)節(jié)及其在項(xiàng)目構(gòu)建中的作用。零件清單▓面包板▓9~12V電源▓USBA-B型連接線▓9V電池盒或電池座▓9V電池▓多色組合LED▓組合電阻▓8Ω揚(yáng)聲器▓10kΩ電位器▓2個伺服電機(jī)▓3個瞬時(shí)開關(guān)/按鈕▓?zhí)€▓光敏電阻圖1.4~圖1.16展示了這些零件的外觀,并附有簡要描述。電子零件是電子電路的組成部分,所以通常也稱之為元器件。第3章“了解電路”將對電路做詳細(xì)闡述。圖1.4所示的面包板通常用于快速構(gòu)建和檢測電路。圖1.5所示的USBA-B型連接線用于將Arduino連接到計(jì)算機(jī)以便編程,同時(shí)還能給Arduino供電。圖1.6所示的9V電池可以為沒有連接計(jì)算機(jī)的Arduino供電。圖1.4面包板圖1.5USBA-B型連接線圖1.69V電池圖1.7所示的電池扣用于連接電池和面包板。圖1.7電池扣圖1.8所示的電源適配器用于為沒有連接到計(jì)算機(jī)的Arduino供電。圖1.9所示的LED,正向通電時(shí)可發(fā)光。圖1.8電源適配器圖1.9LED圖1.10所示的電阻用于限制電路中的電流大小。圖1.11所示的瞬時(shí)按鈕用于連接或斷開電路。圖1.10電阻圖1.11瞬時(shí)按鈕圖1.12所示的電位器是一種可變電阻。圖1.13所示的光敏電阻可在不同強(qiáng)度的光線下改變其電阻。圖1.14所示的8Ω揚(yáng)聲器,可用于播放聲音信號。圖1.15所示的伺服電機(jī)是一種很容易控制的普通電機(jī)。圖1.16所示的跳線用于連接面包板中的各個元器件??梢栽谏痰曩徺I這些跳線,也可以用剝線鉗自己動手做。圖1.12電位器圖1.13光敏電阻圖1.148Ω揚(yáng)聲器圖1.15伺服電機(jī)圖1.16跳線關(guān)于LED的提示LED有多種顏色、款式及規(guī)格。本書將在許多項(xiàng)目中使用LED,LED能以一種更為直觀的方式幫助你了解電子元器件及Arduino的基本概念。關(guān)于LED要記住的一件重要事情就是,由于LED有兩極,因此必須正確放置兩極的方向,LED才能正常運(yùn)作。如果方向不對,LED則不會發(fā)亮。如何確定LED的正確連接方向呢?LED有兩個引腳,或者兩根導(dǎo)線,長度不同,如圖1.17所示。長的那端為陽極(正極),用于連接電源;短的那端為陰極(負(fù)極),指向遠(yuǎn)離電源的方向。當(dāng)開始構(gòu)建電路時(shí),本書會指明如何放置這些LED,并將時(shí)常提醒LED的極性。注意如果放置的方向不對,LED則不會發(fā)光,但也不會對項(xiàng)目造成任何危害。圖1.17LED的陽極(正極)和陰極(負(fù)極)如果所用的LED產(chǎn)品導(dǎo)線長度相同呢?在大多數(shù)LED中都有燈泡,透過燈泡可以看到連接到燈泡底部更為平坦的一側(cè)的導(dǎo)線為陰極,即負(fù)極。接下來看看項(xiàng)目所需的一些工具。工具萬用表會告訴你電路中所有需要知道的電特性,這些電特性我們通過肉眼是不可見的。本書將在第3章展示如何使用萬用表。我們可從網(wǎng)上購買圖1.18所示的萬用表,也可以購買自己喜歡的。確保所選的萬用表是數(shù)字的,有可移動的探針,并裝有保險(xiǎn)絲。圖1.18萬用表尖嘴鉗如圖1.19所示,當(dāng)你想改變電路時(shí),可以用它方便地將電子元器件從面包板上拆卸下來。同時(shí),在獲取小的電子元器件時(shí)尖嘴鉗也很有用。圖1.20所示的剝線鉗用來剝下不同尺寸導(dǎo)線外層的塑料絕緣層。你也可以用剝線鉗剪切任意長度的導(dǎo)線。這些工具都會使你的工作更加順暢。圖1.19尖嘴鉗圖1.20剝線鉗注意雖然可以購買預(yù)切好的跳線,但也可以使用剝線鉗(見圖1.20)剝除線末端的塑料絕緣層,自己做出一段跳線。22線規(guī)(AWG,美國線規(guī))的連接線在電路板中性能良好。與工具相關(guān)的一個詞語:電烙鐵你也許很熟悉電烙鐵以及其在電路組裝中的作用。本書中電路的所有連接都是用面包板完成的。也就是說你不需要購買或?qū)W習(xí)如何使用電烙鐵來完成本書中的項(xiàng)目。問題問:電烙鐵有什么用途?答:電烙鐵用于熔化導(dǎo)電材料(“焊料”),以組合、永久固定電子元器件。這個過程叫作焊接。問:為什么不在本書中講解焊接?答:焊接是一項(xiàng)很有用的技能,但本書主要講解基本概念,沒有電烙鐵也可以制造出功能齊全的電路。問:清單列出了很多零件,圖片看起來也很詳細(xì),但是真的需要購買清單上的所有零件嗎?答:還有更多這樣詳細(xì)的圖片!在構(gòu)建本書中的項(xiàng)目時(shí)將用到所有這些零件,但很多零件都可以循環(huán)利用,本書將在使用這些零件時(shí)解釋其功能。問:我的朋友/兄弟/父母/老師給了我一個更新/更舊版本的Arduino。必須使用ArduinoUno來完成這些項(xiàng)目嗎?答:好問題。你的Arduino可能也適用于本書中的項(xiàng)目,但是Arduino的編程和功能都會隨著時(shí)間的推移而發(fā)生變化,并且版本不同,其編程和功能也不同。本書中的所有例子都使用ArduinoUno進(jìn)行測試。問:我不清楚或不知道如何使用本書所展示的工具或電子元器件,還有別的書適合我嗎?答:不!這本書正適合。接下來的章節(jié)將詳細(xì)介紹如何使用清單中的所有電子元器件和工具。坐好,繼續(xù)閱讀。問:我附近沒有任何地方可以購買到這些電子元器件,能給我推薦一些可以買到這些電子元器件的網(wǎng)址嗎?答:好問題!準(zhǔn)備好進(jìn)入下一部分。1.5購買渠道有許多銷售商出售本書項(xiàng)目所需的元器件。下面是一些銷售商的網(wǎng)站,也許在你的家附近也有實(shí)體店或其他購買渠道。(注:以下所列均為國外的購物網(wǎng)站,國內(nèi)玩家也可在國內(nèi)購物網(wǎng)站上搜索購買。)創(chuàng)客棚屋(makershed)主要銷售工具包和其他單個Arudino元器件。娛創(chuàng)電子(sparkfun)各式各樣的傳感器和分線板、經(jīng)典Arduino以及其自制Arduino。阿德弗利特工業(yè)公司(adafruit)Arduino、分線板、傳感器以及電子元器件。Jameco電子(jameco)大多數(shù)電子元器件,各式各樣的按鈕及開關(guān)。貿(mào)澤電子公司(mouser)一些Arduino,各式各樣的電子元器件、傳感器以及其他部件。得捷電子(digikey)非常適合訂購電子元器件、芯片等。微中心(microcenter)電子元器件及Arduino,既有網(wǎng)站,也有實(shí)體店。工具包工具包可在上面所提到的銷售商處購買。工具包里有構(gòu)建項(xiàng)目所需的絕大部分元器件。每一章都會詳細(xì)回顧項(xiàng)目構(gòu)建所需的元器件。下面是一些不錯的工具包,你也許還會發(fā)現(xiàn)更多。▓由Arduino開發(fā)團(tuán)隊(duì)開發(fā)的工具包(進(jìn)入Arduino官網(wǎng)—STORE—ARDUINO—KITS—ArduinoStarterKitMultilanguage),可以從許多銷售商處購買。▓創(chuàng)客棚屋所銷售的工具包(進(jìn)入MakerShed官網(wǎng)—SHOP—Arduino—Make:GettingStartedwithArduinoKit)。▓阿德弗利特工業(yè)公司也有幾種類型的工具包(進(jìn)入Adafruit官網(wǎng)—搜索BudgetPackforMetro328—withAssembledMetroATmega328P)。1.6總結(jié)本章內(nèi)容主要是為如何使用Arduino進(jìn)行鋪墊。本章已介紹了如何獲得所需的零件,如何辨別各式各樣的元器件和工具,以及開源硬件運(yùn)動的相關(guān)內(nèi)容。本書的下一章將更詳細(xì)地介紹ArduinoUno,并講解如何將其連接到計(jì)算機(jī)上。第2章你的Arduino既然你已經(jīng)擁有了Arduino以及相應(yīng)的零件和工具,接下來就對它們進(jìn)行更加深入的了解。Arduino可以解決日常交互的需要。本章將介紹Arduino的相應(yīng)零件以及將這些零件連接到計(jì)算機(jī)和電源上的方法。本書也將會對電子元器件進(jìn)行拆分并分類,你可以通過網(wǎng)站以及數(shù)據(jù)表更細(xì)致地學(xué)習(xí)這些元器件。2.1Arduino的零件首先看一下開發(fā)板上標(biāo)記部分的零件,如圖2.1所示。圖2.1ArduinoUno本書將逐一拆分并細(xì)節(jié)性地展示Arduino開發(fā)板,這樣你就可以看到在Arduino上所有重要零件的位置。Arduino細(xì)節(jié)先來了解一下Arduino開發(fā)板上到底有什么。因?yàn)橛卸喾N不同風(fēng)格的開發(fā)板,所以你的開發(fā)板可能會略有不同。圖2.1所示的圖解信息是基于ArduinoUnoR3。首先來了解一下開發(fā)板左側(cè)的重置按鈕、USB端口、調(diào)壓器以及電源端口(見圖2.2)。圖2.2ArduinoUno開發(fā)板左側(cè)零件重置按鈕與重啟計(jì)算機(jī)類似,Arduino中出現(xiàn)的一些問題也可以通過按重置按鈕(resetbutton)得到解決。這個按鈕將重啟Arduino上正在上傳的代碼。雖然圖2.2所示的重置按鈕在不同的開發(fā)板中的位置會有不同,但它們的功能是唯一的,且一個Arduino開發(fā)板上只有一個重置按鈕。USB端口USB端口使用標(biāo)準(zhǔn)的USBA-B型連接線,常見于打印機(jī)以及其他計(jì)算機(jī)外部設(shè)備。USB連接線有兩個用途:其一,它可以連接Arduino與計(jì)算機(jī);其二,USB連接線可在不使用電源端口的情況下為Arduino供電。調(diào)壓器調(diào)壓器將輸入到電源端口的功率轉(zhuǎn)換成Arduino的標(biāo)準(zhǔn)使用功率(即5V/1A)。要小心,該零件工作時(shí)溫度非常高。電源端口電源端口包含一個桶式連接器,這個桶式連接器可以直接連接墻壁電源或者電池電源。這個電源可以代替USB連接線。Arduino直流電壓的安全范圍在0~5V之間,但是若連接的電源電壓超過這個范圍將會對開發(fā)板造成損毀。接下來了解一下開發(fā)板右側(cè)的零件(見圖2.3),其中包含開發(fā)板的數(shù)字、模擬、電源引腳以及該開發(fā)板的實(shí)際芯片等。圖2.3ArduinoUno開發(fā)板的右側(cè)零件內(nèi)置LED標(biāo)有TX和RX的LED閃爍時(shí)表示Arduino正在發(fā)送或接收數(shù)據(jù)。標(biāo)有L的LED是連接到引腳13的。電源LED電源LED亮起時(shí)代表Arduino在工作中。數(shù)字輸入和輸出引腳在開發(fā)板這一側(cè)的引腳被稱為數(shù)字輸入和輸出引腳。它們的作用是對內(nèi)感知外界的輸入(輸入引腳)以及對外控制燈、聲音和電機(jī)(輸出引腳)。TX和RX引腳在數(shù)字輸入輸出引腳中,引腳0和引腳1是特殊的引腳。本書稍后將會對此進(jìn)行更加詳盡的說明,但是最好先不要使用這兩個引腳。如果使用引腳0,那么將無法加載程序。ATmega328P,blackchip開發(fā)板中央的黑色芯片是ATmega328P。這是Arduino的“大腦”,它可以傳譯Arduino的輸入和輸出以及上傳程序代碼到Arduino。在創(chuàng)建項(xiàng)目時(shí),開發(fā)板上的其他芯片能夠與該芯片進(jìn)行通信。電源及接地引腳與電源相關(guān)的引腳安裝在此處。你可以使用這些引腳直接從Arduino給面包板供電。模擬引腳這些引腳獲取一定范圍內(nèi)的傳感器讀數(shù),而不僅僅是發(fā)送打開或關(guān)閉(數(shù)字)?,F(xiàn)在將Arduino連接到計(jì)算機(jī)。目前我們還不會對它進(jìn)行編程,但是這將有助于了解如何通過USB連接線將Arduino連接到計(jì)算機(jī)上。2.2將Arduino連接到計(jì)算機(jī)這項(xiàng)操作需要USBA-B型連接線、計(jì)算機(jī)以及ArduinoUno。如果計(jì)算機(jī)是新版MacBook,可能還需要一個USB-C-USB的適配器。首先,如圖2.4所示將USB連接線插入計(jì)算機(jī)上的一個USB端口。任何端口都是可用的,如圖2.5所示,這樣插上去就可以了。圖2.4將Arduino連接到計(jì)算機(jī)圖2.5特寫USB端口現(xiàn)在你已經(jīng)將USB連接線的一端連接到計(jì)算機(jī)上了,再將USB連接線的另一端插入Arduino的USB端口。Arduino的USB端口如圖2.6所示。圖2.6Arduino的USB端口USBA-B型連接線以及Arduino的USB端口的俯視圖如圖2.7所示。圖2.7USBA-B型連接線以及Arduino的USB端口的俯視圖當(dāng)Arduino連接到計(jì)算機(jī),并且計(jì)算機(jī)正常開啟時(shí)會發(fā)生什么?標(biāo)有“ON(開)”的電源LED應(yīng)亮起。如果這是首次連接,那么Arduino上靠近引腳13的LED將會不斷閃爍,如圖2.8所示。圖2.8當(dāng)Arduino從計(jì)算機(jī)獲得電源時(shí),電源LED將亮起你可以使用計(jì)算機(jī)通過USB端口為Arduino供電,也可以使用供電設(shè)備通過電源端口為Arduino供電。注意Arduino可以切斷USB端口或者電源端口的電源。通過供電設(shè)備為Arduino供電你需要一個電壓在9~12V的直流供電設(shè)備和Arduino。首先需要拔掉USB連接線,拔掉后Arduino將完全斷電。圖2.9顯示的是Arduino的電源端口。警告任何時(shí)候做出任何更改時(shí),都需要將Arduino的電源斷開!圖2.9Arduino的電源端口連接供電設(shè)備到Arduino電源端口(見圖2.10)。圖2.10Arduino電源端口俯視圖接下來,將供電設(shè)備插入電源保護(hù)器,然后接入壁式插座,如圖2.11所示。圖2.11將供電設(shè)備插入電源保護(hù)器此時(shí)會發(fā)生什么呢?與用USB連接線將Arduino連接到計(jì)算機(jī)時(shí)一樣:電源LED亮起,表明Arduino正常啟動。如果Arduino是首次使用,接近引腳13的LED將會開始閃爍,如圖2.12所示。圖2.12Arduino接近引腳13的LED開始閃爍現(xiàn)在已經(jīng)有兩種為Arduino供電的方式。你可以根據(jù)項(xiàng)目的進(jìn)展切換供電方式,也就是說不必局限于一種方式。2.3零件和工具既然已經(jīng)購買了零件清單中的零件(見圖2.13),你可能希望學(xué)習(xí)更多關(guān)于這些零件的知識。本小節(jié)將詳細(xì)介紹獲取這些零件信息的方式,這對于幫助讀者了解這些零件的使用方式以及放置的位置是很有幫助的。圖2.13在哪里可以找到這些零件信息零件分類在零件拆箱時(shí)應(yīng)按照類型將它們區(qū)分開。最好將電阻與LED分開放置,甚至可以將不同顏色的LED以及不同阻值的電阻分開放置。很多硬件或軟件商店都會售賣塑料零件盒子,以便將零件進(jìn)行分類,方便查找。在此推薦如圖2.14所示的盒子。圖2.14將所有的零件分類有利于更好地查找它們零件號及分類指導(dǎo)現(xiàn)在你已經(jīng)能將零件分類并辨識,那么應(yīng)該在哪里查找它們的信息呢?最快可以查到零件信息的地方是零件本身。電阻、LED以及大部分其他元器件的外形是完全不同的,你可以很快學(xué)會如何區(qū)分它們。在大多數(shù)情況下,零件本身會附有自己的零件號清單,清單將會列出供應(yīng)商或制造商的網(wǎng)址。查找更多信息:數(shù)據(jù)表如果在零件供應(yīng)商或制造商的網(wǎng)站上查詢不到相關(guān)信息,就需要在零件數(shù)據(jù)表中查找。你可以在自己喜歡使用的搜索引擎中輸入零件號和關(guān)鍵詞“數(shù)據(jù)表”查找。查找時(shí)不能僅參照零件名,因?yàn)榱慵胁煌陌姹?,你在網(wǎng)上查找時(shí)會獲得不同的信息,例如各種各樣的LED。電子數(shù)據(jù)表定義電子零件的行為、功能以及局限性。數(shù)據(jù)表有大量的零件信息,從運(yùn)行的溫度到建議的布線圖,最后是原料組成及工業(yè)應(yīng)用。例如,以下是在線上數(shù)據(jù)表查找一個LED零件的操作步驟。1.在購買的元器件發(fā)票中查到可以辨認(rèn)該元器件的零件號。如果不能查到零件號,可以使用如圖2.15所示的LED號:WP7113SRD。2.打開瀏覽器,在搜索引擎中輸入想要查找的零件號,一同輸入關(guān)鍵詞“數(shù)據(jù)表”。如果你使用的是圖2.15所示的零件號,那么搜索詞語可以是“WP7113SRD數(shù)據(jù)表”。3.搜索結(jié)果將包含該零件的數(shù)據(jù)表,通常是PDF格式的。單擊其中一個鏈接查看搜索結(jié)果并確認(rèn)與搜索的零件號最符合的信息。通過數(shù)據(jù)表篩選數(shù)據(jù)找到所需的信息通常是非常困難的,但數(shù)據(jù)表非常有用,特別是當(dāng)你不確定自己正在處理哪些零件的時(shí)候。先看一個示例,如圖2.15所示。圖2.15查找到的LED數(shù)據(jù)表數(shù)據(jù)表包含零件的許多技術(shù)信息,但是當(dāng)前項(xiàng)目不需要你了解所有的技術(shù)信息——如果你使用零件時(shí)遇到困難,數(shù)據(jù)表可以提供幫助。2.4總結(jié)現(xiàn)在你應(yīng)該更加熟悉Arduino的布局,明白如何通過USB連接線和電源端口為Arduino供電。如果對自己的零件有不確定的地方,你可以從購買該零件的網(wǎng)站或者通過其數(shù)據(jù)表進(jìn)行查詢。下一章我們將學(xué)習(xí)如何通過多個零件構(gòu)建第一個電路。第3章認(rèn)識電路上一章介紹了許多關(guān)于Arduino及其組成部分的知識,同時(shí)也介紹了你在完成書中所涉程序時(shí)將會使用的一些零件和工具。本章將會介紹運(yùn)用Ardiuno構(gòu)建電路所需要掌握的一些電子學(xué)方面的實(shí)踐和理論知識。雖然我們現(xiàn)在還不會馬上用到Arduino,但很快就會開始使用它了。3.1電路:電子學(xué)的基礎(chǔ)構(gòu)件電路是我們將要使用Arduino創(chuàng)建的電子工程項(xiàng)目的基礎(chǔ)構(gòu)件。你可以用Arduino構(gòu)建許多不同類型的項(xiàng)目——對此能限制你的只有你的想象力。雖然項(xiàng)目的類型多種多樣,但本書中的所有項(xiàng)目都是使用電路構(gòu)建的。首先我們看看什么是電路,然后你會搭建你的第一個電路。本書還將介紹繪制電路圖和測試電路的方法。圖3.1舉例說明了一些Arduino應(yīng)用,這些應(yīng)用中的電路形態(tài)各異。在卡板機(jī)器人外表看不到電路,但正是電路控制著機(jī)器人。圖3.1一些使用Arduino作為電路一部分的應(yīng)用項(xiàng)目示例深入了解電路什么是電路?如果你去過賽車現(xiàn)場,就會知道賽道被稱為環(huán)形線路。一條環(huán)形線路就意味著一條完全閉合的環(huán)路,如圖3.2中所示的線路。賽道的起點(diǎn)即為終點(diǎn)。圖3.2環(huán)形賽道電路同樣如此,是一條完整和閉合的回路。一個電路包括完成一項(xiàng)任務(wù)所需的所有電子元器件以及使電流在關(guān)聯(lián)元器件間流動的電線或其他材料,如圖3.3所示。圖3.3電路中電流的流動起止于電源為何要構(gòu)建Arduino電路?以家里電燈的電源開關(guān)為例,你必須按動電源開關(guān)方可打開或關(guān)閉電燈。在本書的項(xiàng)目中,Arduino將被用來控制電子元器件。我們將電子元器件排列在一個電路上,同時(shí)Arduino必須為該電路的一部分以便控制元器件。例如電燈的開關(guān)就可以用Arduino程序自動控制,你不需要親自按動電源開關(guān),就可以關(guān)閉或打開電燈。Arduino電路甚至可關(guān)閉、打開各種元器件(揚(yáng)聲器、LED、電機(jī)等)或從外界獲取信息并進(jìn)行反饋(有多熱,開關(guān)是否打開等)。只要解決了Arduino和電子元器件的連接問題,你就可以通過電力來控制它,再進(jìn)行編程。電路如何組成?電路主要由導(dǎo)線和電子元器件兩部分組成。導(dǎo)線盡管一個電路的關(guān)注點(diǎn)主要在于其電子元器件,但各電子元器件之間若無連接則無法形成電路。計(jì)算機(jī)和電子設(shè)備都包含印制電路板(PCB)。PCB不導(dǎo)電,由基本材料層組成,材料層上采用了導(dǎo)電細(xì)線,如圖3.4所示。導(dǎo)電細(xì)線用于連接焊接在PCB上面的電子元器件。如果仔細(xì)觀察PCB,你會看到那些閃亮的銀線貫穿各電子元器件并將它們連接起來。這些銀線就像固定在平面上的電線。圖3.4印制電路板(PCB)的細(xì)節(jié)電子元器件電子元器件是一個完整電路的另一要素。在第1章“Ardiuno概論”中曾列出要購買的完整零件清單。電子元器件連接在一起組成了一個完整的電路(見圖3.5)。圖3.5電子元器件組成的電路從哪里開始呢?我們要制作的第一個電路是由一個電池供電的LED閃光燈電路。該電路對于初學(xué)者是一個很棒的項(xiàng)目,因?yàn)闊袅辆湍苤庇^地證明電路工作正常。閃光燈電路同時(shí)也展示了本書所有項(xiàng)目的電路制作中所需要掌握的基本技巧。在圖3.6中,可以看到元器件的引腳擔(dān)當(dāng)導(dǎo)線的角色。圖3.6電流通過導(dǎo)線進(jìn)入元器件圖3.7為一個制作完成且配有電子元器件注釋的電路圖,各部分電子元器件的作用將在本章及后續(xù)章節(jié)中有詳細(xì)的說明。目前已知該電路將由排列在面包板上的一個LED、一個電阻、一根跳線、一個9V電池及電池蓋組成,第1章展示過相應(yīng)組件。有很多方法來展現(xiàn)或繪制電路以傳達(dá)必要的信息。圖3.7展示了制作時(shí)電路的大致樣子。這并非總是電路最清晰的表現(xiàn)方式——有些電路元器件繁多并且相連方式復(fù)雜,這種表現(xiàn)方式就不再適合。為繪制簡化了元器件的電路并顯示其連接方法,電路圖是很好的方式。接下來詳細(xì)介紹電路圖。圖3.7將要制作的電路3.2電路圖電路圖是一種對電路中各電子元器件關(guān)系進(jìn)行描述的圖解表示方法。你可以在一個電路圖中看到作為電路組成部分的各組件及其相互依存的關(guān)系。我們先來看一個簡單的電路圖,它是基礎(chǔ)電路圖的代表。我們很快將針對電路圖中每個符號的意思進(jìn)行詳細(xì)說明,但現(xiàn)在只是先粗略地看一下。圖3.8是將要制作的一個電路的電路圖與一個實(shí)物圖的對比。圖3.8電路圖與對應(yīng)的實(shí)物圖為什么讀識電路圖很重要?大部分的電子電路項(xiàng)目及組件以電路圖的形式表述,沒有必要采用拍照或者畫實(shí)物圖的方式。隨著電子技能的提高,你想要自制超出本書內(nèi)容的項(xiàng)目,就需要讀懂并繪制電路圖,從而對項(xiàng)目進(jìn)行研究、說明以及創(chuàng)建。先從簡單的電路圖開始,隨著書中更復(fù)雜的項(xiàng)目的創(chuàng)建,本書將逐步展開更為復(fù)雜的介紹。如果在網(wǎng)上或其他資料中看過電路圖,你會留意到有些時(shí)候電子元器件符號的畫法和排列方法有所不同。所有電路圖的符號都不完全相同也沒關(guān)系,如圖3.9所示。圖3.9LED的電路圖符號電路圖解:電路圖你已經(jīng)知道電路圖是表述電路中電子元器件相互關(guān)系的基本方法。所有常用的元器件在電路圖中有其各自的符號以便清楚表示電路包含哪種元器件。圖3.10所示是包括一個LED、一個電阻和一個電源的基本電路。LED有方向區(qū)分,正極(陽極)和負(fù)極(陰極),如第1章中所述。電路圖主要是以圖解方式對電路中各電子元器件的連接方式進(jìn)行說明。圖3.10帶有注解的電路圖表3.1列出了如圖3.10所示電路中所用的電子元器件的符號。如果你想要了解更多的電路圖中的電子元器件符號,可以在百度百科上進(jìn)行搜索。表3.1元器件和對應(yīng)的電路圖符號電源與接地的電路圖符號如圖3.11所示。本章稍后將講述關(guān)于電源和接地的概念,辨識這些符號將有助于理解電路的工作原理。圖3.11電源和接地的電路圖符號繪制電路圖你已經(jīng)看過了電路圖的示例以及我們的首個電路圖中所用到的符號。如何將這些符號連接成一個電路圖呢?我們將從圖3.12中的電阻符號開始。電阻無正負(fù)極之分,所以兩端都一樣。圖3.12電阻的電路圖符號下一步我們將繪制LED的符號并用一條實(shí)線將其連接至電阻。為何是實(shí)線?因?yàn)閷?shí)線用于表示電路中各電子元器件之間的物理連接,就如同PCB上面的銀色導(dǎo)線。LED正極(陽極)與電阻相連,如圖3.13所示。當(dāng)接入電池時(shí),電流將通過電阻流向LED的正極。圖3.13電阻連接至LED的正極現(xiàn)在我們添加電池的符號并與LED和電阻的符號相連,如圖3.14所示。LED的負(fù)極(陰極)一端連接至電池的負(fù)極。圖3.14電路的原理圖此電路圖中,電阻的一端連接至電源,也就是電池+號一端,而其另一端則連至LED的正極。LED的負(fù)極接地,也就是電池-號一端。電路圖體現(xiàn)了電路的完整環(huán)路。3.3使用面包板如何使用電子元器件搭建電路?如果看一下圖3.15,你會看到在所有電子元器件下面有一塊面包板。圖3.15將要創(chuàng)建的用面包板連接的電路為什么我們要使用面包板?因?yàn)樗梢詫?shí)現(xiàn)所有電子元器件的連接。我們不可能總是用手拿著所有散件拼在一起,而且我們也不想在一開始的時(shí)候就將它們之間的連接固定下來。電路是一個回路且各電子元器件必須互相連接,有了面包板就可快速連接各電子元器件,同時(shí)也可以靈活輕松地調(diào)整電路。使用面包板可以使目標(biāo)項(xiàng)目快速成型。注意使用面包板讓我們可以快速地將電子元器件互相連接并對電路進(jìn)行調(diào)整。面包板的基本要素你已經(jīng)看到了面包板的圖片以及組裝在其上面的電路,也知道了使用面包板可實(shí)現(xiàn)電路的快速成型及測試。面包板的結(jié)構(gòu)如何?我們來看一張面包板的“X光片”視圖。警示切勿移走背襯部分,否則會損毀面包板。面包板有很多由塑料包裹且頂端開有網(wǎng)格孔的金屬條。這些孔被稱為連接點(diǎn),它們按照固定間隔以“橫向”和“縱向”形式進(jìn)行排列。在圖3.16中你可以看到金屬條排列在“橫向”和“縱向”的連接點(diǎn)上面。連接到每個金屬條的所有連接點(diǎn)都互相連接。圖3.16一塊面包板的“X光片”視圖這些“橫向(行)”和“縱向(列)”按照某種模式進(jìn)行排列以方便使用標(biāo)準(zhǔn)元器件創(chuàng)建電路。如圖3.17所示,面包板上最左右兩側(cè)的長列按照慣例接至電源和地,我們一般稱其為電源總線和接地總線。每列的頂端有+號或-號,它們將接至電池的+端和-端。通常電源總線旁邊會標(biāo)有一條紅線,接地總線旁邊標(biāo)的則是綠、藍(lán)或黑線。有些面包板,特別是小一點(diǎn)的面包板,沒有這些電源總線。本書后面將針對電源和接地進(jìn)行更多講解。當(dāng)前你只需知道面包板左側(cè)和右側(cè)各有一套電源總線和接地總線可以用于連接電池,至于具體哪側(cè)連接電源和地都無所謂。不妨在創(chuàng)建電路的方式上保持一致性。圖3.17面包板中的電源總線和接地總線建立連接通常,面包板中間自上到下有一條間隙,也稱溝槽。溝槽與一些元器件同寬,這樣就便于將元器件(主要是芯片和集成電路元器件)插入面包板中。溝槽兩側(cè)每一行的連接點(diǎn)互連,這樣使得在面包板上放置元器件時(shí)能夠建立它們之間的連接。觀察圖3.18可知溝槽兩側(cè)的連接點(diǎn)互不相連,而每一側(cè)各行的連接點(diǎn)則相互連接。圖3.18面包板中的橫向連接點(diǎn)注意面包板中的各行(橫向)不能跨越溝槽連接。將元器件擺置在同一行連接點(diǎn)上可將其相互連接,如圖3.19所示。圖3.19面包板中處于連接狀態(tài)的元器件問題問:是否每建一個電路時(shí)都需要一個新的面包板?答:面包板的強(qiáng)大之處在于非常容易更換電路中的元器件或制作一個全新的電路。你可以重復(fù)使用同一塊面包板來制作本書中的所有電路。如果你要同時(shí)制作一個以上的電路,多備一塊面包板還是有必要的。3.4制作電路接下來我們將制作第一個電路!你需要這些元器件和工具:▓面包板▓9V電池▓電池蓋▓一個LED▓一個330Ω的電阻(色環(huán)為橙色、橙色、褐色、金色)▓?zhí)€▓尖嘴鉗集齊所有元器件,開始制作如圖3.20所示的電路。圖3.20電路電路的分步指導(dǎo)本章將講述剛剛展示的基礎(chǔ)電路的完整制作步驟。你可能對電路中所有元器件共同工作的原理不盡理解,這無須擔(dān)心——隨著學(xué)習(xí)的不斷深入,本書將會對電路中的各個元器件進(jìn)行進(jìn)一步的說明?,F(xiàn)在你只要跟著步驟學(xué)習(xí)即可。首先需要的元器件是面包板和330Ω的電阻。關(guān)于電阻的更多知識我們稍后再學(xué),現(xiàn)在你只是需要一個帶橙色、橙色、褐色和金色4個色環(huán)的電阻。選面包板的一個角,比如左上角(選擇左邊或右邊總線都一樣,但最好保持一致)。首先將330Ω電阻(帶橙色、橙色、褐色和金色色環(huán))的一端接入面包板的電源總線(標(biāo)有+號的一端),另一端接入面包板其中一行。需將導(dǎo)線彎曲少許以便接入面包板。電路中的電阻無方向區(qū)別,每一端作用相同。圖3.21顯示了電阻的安裝方式。小竅門元器件應(yīng)固定壓緊在各自的連接點(diǎn)上。有時(shí)候想讓這些元器件完全安到面包板上并非易事,要有耐心。一些人發(fā)現(xiàn)使用尖嘴鉗將元器件穿入面包板更容易,而另一些人只是用手。你可以選擇更適合自己的方式。圖3.21添加電阻其次添加LED(見圖3.22)。將其正極(長導(dǎo)線頭)接入電阻所接入的同一行連接點(diǎn),負(fù)極(短導(dǎo)線頭)接入下一行。圖3.23顯示了電阻的一端與LED正極接入同一行連接點(diǎn)上的方法。圖3.22添加LED圖3.23正確放置的LED接下來,應(yīng)使用一條跳線將接地總線(標(biāo)有-號)與LED的負(fù)極相連,如圖3.24所示。黑色跳線用來代表接地。跳線在此的作用是連接負(fù)極和接地總線。圖3.24加跳線接地加接電池蓋到面包板的電源總線和接地總線(見圖3.25)。電池蓋上有金屬頭以便接入電源總線和接地總線。小竅門電池蓋接入面包板時(shí)要確保牢固。有時(shí)將電池蓋終端的線頭擰結(jié)起來會有所幫助。圖3.25加裝電池蓋到面包板上3.5電池仔細(xì)看一下9V電池和電池蓋。電池頂部有兩個接線端連接到電池蓋上面的插塞接頭,如圖3.26所示。位于+號旁邊稍小一端是電源端。位于-號旁邊稍大一端是接地端。圖3.269V電池近視圖翻轉(zhuǎn)電池蓋,觀察兩個插塞接頭,小的插塞接頭連至接地端,大的插塞接頭則連至電源端,如圖3.27所示。圖3.27電池蓋只要電池方向正確,插塞接頭就可以正確連接,如圖3.28所示。你用的電池蓋或電池盒可能形式有所不同,但都會遵循相同的規(guī)則。圖3.28將電池蓋安裝到電池上讓它亮起來現(xiàn)在將電池蓋接到電池上,LED應(yīng)該會亮起來(見圖3.29)。你的首個電路就完成了!圖3.29LED亮了雖然這只是一個簡單的電路,但第一個成功的電路還是會讓人感覺良好。接下來我們看一下電池是如何為電路供電的。問題問:如果手邊沒有本書所建議使用的電阻怎么辦?答:最好一開始就購買一些各種阻值的電阻,這樣就可確保有合適的電阻來滿足本書前幾個項(xiàng)目及章節(jié)的需求。雖然可以通過改變電阻的連接方式來改變它們的阻值,但本書中未詳細(xì)說明,所以開始就準(zhǔn)備好是最好的。3.6電路的動力:電當(dāng)談及電時(shí),“動力”這個詞有其特定的含義,這點(diǎn)我們稍后再做解釋。此時(shí),動力在這里指的是電流由電池出來,流經(jīng)電阻到達(dá)LED,并將其點(diǎn)亮。仔細(xì)看一下在電路中是如何表示電源正負(fù)極的。之前加裝電池蓋時(shí)我們大致地看了電池上面的+號和-號,現(xiàn)在我們更仔細(xì)地看一下這些符號。關(guān)于電源符號如圖3.30所示,電池上有+(正極)和-(負(fù)極),這是慣用的符號,用以標(biāo)明電池的電源端(正極)和接地端(負(fù)極)。你已經(jīng)看到在面包板上總線旁的+和-符號,也看到了連至電池蓋紅色導(dǎo)線上的電池正極和連至電池蓋黑色導(dǎo)線上的電池負(fù)極。圖3.30電池的正極和負(fù)極電源+號或正極,表示電池的電源端。習(xí)慣上,我們說電流由電池的這一端流出來。按規(guī)定,所有連到正極端的導(dǎo)線都為紅色。這樣,當(dāng)有人查看電路時(shí),馬上就能知道電路中的電流從哪個方向流過來。接地有-號的一端為電池的負(fù)極,也稱接地端。正如同電路中所有的路徑一定從電源端開始一樣,如果沿著電路一路走下來,它們也必定以接地端為終點(diǎn)。接地端可被認(rèn)為是“0”端,即所有電被耗盡的地方。電路中所有與接地端相連的導(dǎo)線應(yīng)為黑色,這樣會使操作電路更加容易,而且讓人對接地端一目了然。我們已經(jīng)了解了一些電源的知識,也制作了電路,但如果燈還不亮該怎么辦?應(yīng)采取哪些方法找到并修復(fù)電路上的問題呢?問題問:讓LED亮起來是否需要新電池?是否可以使用舊電池?答:可以用舊電池,但可能沒有用新電池時(shí)那么亮。時(shí)間長了,電池的電就會耗盡。3.7調(diào)試電路哪個地方出現(xiàn)了故障或是工作不正常了呢?如果LED燈不亮了該怎么辦?是哪里出錯了呢?那就對電路進(jìn)行調(diào)試吧!調(diào)試就是檢查電路,看是哪里出毛病了。調(diào)試不僅僅是為解決當(dāng)前的問題,而且還可以建立一個潛在問題的清單并且逐一把它們解決掉。有時(shí),最明顯的故障反而是最難發(fā)現(xiàn)的。按照清單檢查,可以保證不漏掉任何一個問題。電源和地線都連接到面包板上了嗎?要確保電池蓋上的導(dǎo)線正確地連接到面包板的電源和接地總線上,如圖3.31所示。一定要記住:把紅線連接到面包板上標(biāo)有+號的電源總線上,把黑線連接到面包板上標(biāo)有-號的接地總線上。圖3.31從電池蓋引出的導(dǎo)線正確地連接到電源總線和接地總線上LED連接方向正確嗎?檢查一下,是否把LED正確地連接到面包板上??梢曰貞浺幌?,LED有正極導(dǎo)線和負(fù)極導(dǎo)線,并且只有按正確的方向連接時(shí),電流才能通過。正極導(dǎo)線比負(fù)極導(dǎo)線更長一些,如圖3.32所示。圖3.32.LED的正極導(dǎo)線和負(fù)極導(dǎo)線使用的電阻適當(dāng)嗎?接下來檢查一下使用的電阻。在后面的章節(jié)里我們將討論怎樣選擇電阻。如果使用的電阻阻值過大,那么電路的電源將不足以點(diǎn)亮LED。但是如果使用阻值太小的電阻,那么LED就可能會被燒壞。在這個電路里,電阻帶有橙色、橙色、褐色和金色的色環(huán)(見圖3.33)。圖3.33330Ω電阻這些基本的調(diào)試步驟有賴于仔細(xì)地觀察和對電路基本原理的理解。一些調(diào)試步驟還要依賴一些工具,這些工具能夠幫助你了解電路中究竟發(fā)生了什么。調(diào)試電路:連續(xù)性在用面包板建立一個電路時(shí),最常見的錯誤可能是把元器件連接在面包板上的錯誤節(jié)點(diǎn)上,導(dǎo)致電路沒有被連通。電路是一個回路,如果元器件互相連接不正確,那么回路就是斷開的。連續(xù)性是一個電學(xué)概念,指的是電路中的各個部分都是連通的,如圖3.34所示。圖3.34正確連接的元器件和不正確連接的元器件仔細(xì)地看一下面包板,檢查各元器件的連接是否正確。仔細(xì)地檢查一下LED、電阻、跳線是否正確地連接到面包板上的連接點(diǎn)。除了目視檢查電路的連續(xù)性以外,還有另一種方法,就是使用(見圖3.35)萬用表檢查電路的連續(xù)性。圖3.35萬用表問題問:調(diào)試步驟需要背下來嗎?答:不用專門背這些調(diào)試步驟。在你建立本書中講到的電路時(shí)會經(jīng)常用到這些調(diào)試步驟,到時(shí)候自然就會慢慢記住了,而且本書后面的部分還會提到這些步驟。3.8萬用表檢查電路的另一種方法是使用萬用表。對于檢驗(yàn)電子或是Arduino程序是否運(yùn)轉(zhuǎn)正常并且所有部分是否工作正常,萬用表是一個非常重要的工具。在本書中提到的電路項(xiàng)目中,萬用表絕對是一個很好的幫手,它可以確保一切如常運(yùn)轉(zhuǎn)。我們有時(shí)也把它叫作“表”。那么現(xiàn)在我們就演示一下怎樣使用萬用表來檢查電路的連續(xù)性。在這里萬用表并未用于Arduino,但是在后面的章節(jié)里就會有這種應(yīng)用。為什么要使用萬用表呢?因?yàn)槿f用表可以幫助我們排除電路的故障。并且當(dāng)電路變得更加復(fù)雜的時(shí)候,萬用表將變得更加有價(jià)值。之后你會學(xué)習(xí)到更多使用它的方法。圖3.36展示的是幾款不同的萬用表。本書所使用的萬用表是SparkFun公司生產(chǎn)的(產(chǎn)品型號是TOL-12966)。在本書中萬用表的實(shí)物圖都是以這款萬用表作為原型來繪制的。你的萬用表看起來可能和這款不一樣,但是設(shè)置和使用的原理是一樣的。圖3.36萬用表有不同的尺寸和顏色萬用表概述圖3.37展示的是萬用表的主要組成部分。顯示屏用來顯示正在測量的電氣參數(shù)的值。轉(zhuǎn)換開關(guān)用來選擇你要測量的電氣參數(shù)類型。探針的一端接觸正在測試的元器件,另一端連接到萬用表的端口上。圖3.37萬用表的組成部分一些表上有關(guān)/開按鈕,而圖3.37中這塊表則是用轉(zhuǎn)換開關(guān)來開啟的。警告當(dāng)用完的時(shí)候,一定要記得關(guān)掉表,否則將會耗盡電池電量。大部分萬用表都是用9V的電池作為電源。這里對于怎樣把電池插入表不做說明。如果你購買了一個萬用表,那么就會附帶一個說明書。不同的萬用表安裝電池的方法是不一樣的。萬用表的組成:轉(zhuǎn)換開關(guān)圖3.38是一個典型的萬用表轉(zhuǎn)換開關(guān)的詳細(xì)情況,上面標(biāo)注有它能測量的電氣參數(shù)值。隨著進(jìn)一步的學(xué)習(xí),本書將介紹所有這些符號和電氣參數(shù)?,F(xiàn)在你只要知道萬用表可以測量不同的電氣參數(shù)和屬性,如交流電壓、直流電壓、電阻、直流電流和連續(xù)性就可以了。圖3.38萬用表的刻度盤第5章我們將詳細(xì)介紹這些電氣參數(shù)以及如何測量。萬用表的組成:探針圖3.39顯示的是萬用表的探針,探針是用來接觸電路、元器件,或其他要測試和測量的對象。探針的金屬尖頭一端用于接觸電路或是元器件,另一端連接萬用表的端口。當(dāng)收納萬用表時(shí),探針要從端口上取下來。圖3.39萬用表的探針萬用表的組成:端口我們已經(jīng)介紹了萬用表上的探針,現(xiàn)在再來了解一下萬用表上的端口吧,如圖3.40所示。使用萬用表的時(shí)候,把探針連接在正確的端口上非常重要。在測量時(shí),黑色探針連接在中間的COM端口上。紅色探針可以連接在兩個不同的端口上(如圖3.40所示,位于兩側(cè))。一般說來,紅色探針連接在靠右的端口上是一個良好的習(xí)慣。圖3.40萬用表上的端口3.9萬用表的使用連續(xù)性(見圖3.41)是一個電學(xué)特性,用來表示各零部件之間是否連接。你可以使用萬用表測試這個電學(xué)特性。測試連續(xù)性可以使你很快熟悉萬用表的各個組成部分。下面將介紹如何利用它排除電路的故障。圖3.41連續(xù)性概念的符號準(zhǔn)備萬用表來測試電路的連續(xù)性我們首先演示一下怎樣使用萬用表檢測探針之間的電氣連接,也就是檢測探針之間的連續(xù)性,然后再檢查電路的連續(xù)性。這個檢查能夠確定萬用表是否工作正常并且可以進(jìn)一步熟悉它的使用方法。如果探針觸碰在一起(見圖3.42),那么它們就形成一個完整的回路。稍后我們將用同樣的方法來檢測電路中的元器件是否正確連接。圖3.42探針觸碰在一起的萬用表測試連續(xù)性時(shí),對萬用表的設(shè)置在檢查連續(xù)性時(shí),黑色探針連接到標(biāo)有COM的端口,紅色探針連接到標(biāo)有mAVΩ的端口,如圖3.43所示。圖3.43測試連續(xù)性時(shí)的儀表端口設(shè)置接下來,轉(zhuǎn)動轉(zhuǎn)換開關(guān),使旋鈕指向連續(xù)性符號(見圖3.44)。圖3.44旋動旋鈕,使其指向連續(xù)性符號測試連續(xù)性當(dāng)探針接觸電路中連接在一起的元器件時(shí),如果萬用表設(shè)置為測量連續(xù)性,那么它會發(fā)出一個提示音。當(dāng)探針連接的端口正確時(shí),將它們互相觸碰,就形成了一個電氣回路。探針連接成了一個電路,這可以用于檢測連續(xù)性?,F(xiàn)在把兩個探針觸碰在一起試試看吧,如圖3.45所示。當(dāng)探針互相觸碰時(shí),屏幕上會顯示".000",這個數(shù)字可能會有輕微的波動。同時(shí)我們也會聽到一個提示音,不同的萬用表這個提示音也會有所不同。這個顯示的數(shù)字對于連續(xù)性不像第5章中講到的電氣參數(shù)那樣重要。圖3.45兩個探針觸碰在一起檢測連續(xù)性當(dāng)兩個探針如圖3.46所示觸碰在一起時(shí),你會聽到一個提示音。圖3.46兩個探針觸碰在一起,萬用表會發(fā)出一個提示音在更加復(fù)雜的電路中,如果元器件沒有互相連接起來,或是沒有連接到正確的地方,你可以通過測試連續(xù)性來排除這些故障。在第5章中我們將更加具體地展示連續(xù)性是如何幫助解決問題的。3.10繼續(xù)調(diào)試我們的電路讓我們回到我們的基礎(chǔ)電路上來。既然你已經(jīng)了解了萬用表如何使用,并且已經(jīng)懂得連續(xù)性這個概念,那么現(xiàn)在用萬用表探針測試一下我們的電路,看一下有什么結(jié)果。檢測電路的連續(xù)性如果完成了剛剛的練習(xí),那么萬用表已經(jīng)準(zhǔn)備好,可以測試連續(xù)性了。轉(zhuǎn)換開關(guān)和探針的設(shè)置如圖3.47所示。檢查并確保轉(zhuǎn)換開關(guān)指向連續(xù)性符號處,并且探針連接在正確的端口上。圖3.47測試連續(xù)性的儀表設(shè)置首先,把電池從電路中取下,然后開啟萬用表并把兩根探針分別接至電阻的一個引腳和LED的一個引腳,如圖3.48所示。在這里,哪根探針接哪個引腳都可以。圖3.48測試電路的連續(xù)性如果電路元器件連接正常,那么就會再次聽到提示音,并且在顯示屏上顯示出“.000”的字樣。這個讀數(shù)可能會有輕微的波動。如果沒有聽到“嗡嗡”的聲音該怎么辦呢?檢查一下面包板上每個元器件之間的連接情況,看看它們是否連接在正確的連接點(diǎn)上。在圖3.49中,LED沒有和任何元器件連接在一起。電阻連接在電源總線上,跳線連接到接地總線上,但是它們都不和LED相連。把導(dǎo)線連接在正確的連接點(diǎn)上,就可以將電路修復(fù)。圖3.49用萬用表測試某個電路,這個電路中的元器件沒有正確連接問題問:萬用表上其他符號分別是指什么,我們什么時(shí)候會用萬用表來測量它們?答:我們將在第5章中對萬用表進(jìn)行更多的介紹,并且闡明怎樣測量不同的電氣參數(shù)(電阻、電壓、電流)。問:當(dāng)測試連續(xù)性時(shí),萬用表有和.000不同的讀數(shù)將會怎么樣?答:用我們推薦的萬用表,當(dāng)測試連續(xù)性時(shí)應(yīng)該注意的最重要的事情是聽萬用表發(fā)出的聲音,這個聲音響起就表明元器件被連接在一起了。沒有提示音功能的萬用表則以不同的方式在顯示屏上顯示連續(xù)性狀態(tài)。3.11總結(jié)這一章講述了如何連接一個電路和如何排除電路故障。我們了解了萬用表,并且學(xué)會了如何使用萬用表來測試元器件是否正確連接。下一章我們將準(zhǔn)備Arduino,并且把Arduino連接到面包板上,然后開始用Arduino控制各個元器件。第4章Arduino編程你將在本章中了解到Arduino如何通過你所編寫的程序來控制電子設(shè)備。首先需要在計(jì)算機(jī)上安裝可以進(jìn)行Arduino編程的軟件,之后將Arduino連接到面包板上?,F(xiàn)在我們將示范如何用LED做一個SOS信號燈。這將使你了解編寫代碼的基本規(guī)則,同時(shí)熟悉如何在Arduino環(huán)境下編寫代碼。本章中你需要了解如何將Arduino連接到計(jì)算機(jī)以及如何在面包板上構(gòu)建基本電路。4.1Arduino、電路、代碼:一起工作這是第一次有機(jī)會將構(gòu)造電路與基本編程相結(jié)合。將程序和Arduino添加到電路中,你便可以更有效地控制電路,你的LED能夠以不同的模式閃爍。我們將學(xué)會如何使用Arduino進(jìn)行編程并將其連接到面包板上,以便創(chuàng)建一個更復(fù)雜的電路。在該電路中,電路中元器件的時(shí)序是由裝載在Arduino上的一系列指令控制的。為了說明這一點(diǎn),我們將向你展示LED如何按照Arduino控制的時(shí)序閃爍來創(chuàng)建一個SOS信號燈。從這一點(diǎn)來看,大多數(shù)項(xiàng)目將包括圖4.1所示的三個部分:代碼、Arduino和一個面包板。本章將討論這三個要素的組合以及它們之間如何相互作用。圖4.1代碼、Arduino、面包板在第2章“你的Arduino”中已經(jīng)介紹了Arduino及其一些特性,在第3章“認(rèn)識電路”中大家也了解了一些關(guān)于小型電子和電路的知識。本章將指導(dǎo)大家下載和使用ArduinoIDE,掌握上傳代碼、改變Arduino的操作方式。正如將要演示貫穿全書的必要電路一樣,我們也將同時(shí)演示所運(yùn)行的項(xiàng)目將要涉及的所有代碼示例。要進(jìn)行編碼,需要在計(jì)算機(jī)上安裝Arduino軟件,并且下載和安裝ArduinoIDE。那什么是IDE呢?4.2什么是IDE?集成開發(fā)環(huán)境(簡稱IDE)是一種軟件應(yīng)用程序,它可以讓你用IDE支持的編程語言編寫和測試代碼。如果你有編程經(jīng)驗(yàn),你可能已經(jīng)用過另一種IDE來編寫、測試和調(diào)試,并將你的代碼轉(zhuǎn)換為計(jì)算機(jī)可以理解的內(nèi)容。若你還沒有編程經(jīng)驗(yàn),那么ArduinoIDE將是一個很好的入門起點(diǎn),因?yàn)樗鄬Ρ容^簡單且易于理解。Arduino團(tuán)隊(duì)已經(jīng)設(shè)計(jì)了一個可用于其設(shè)備的IDE,這個IDE有你所需要的全部功能。它有一個內(nèi)置代碼編輯器,用于你在編程時(shí)創(chuàng)建的文本文件。你可以在IDE中測試代碼,并借助可以顯示錯誤代碼的消息區(qū)以及為這些錯誤代碼提供更多細(xì)節(jié)的控制臺,來解決出現(xiàn)的任何問題。此IDE提供了功能按鈕,你可以檢查代碼、保存代碼、創(chuàng)建一個新的代碼窗口,也可以將其上傳到Arduino平臺,此外它還有更多功能。如圖4.2所示,這正是Arduino項(xiàng)目基本流程圖的完美展現(xiàn)。注意“上傳”指的是將在代碼編輯器中編寫的指令轉(zhuǎn)移到Arduino的“大腦”,以便代碼可以控制Arduino。圖4.2Arduino流程圖IDE可以在Arduino的網(wǎng)站(進(jìn)入Arduino官網(wǎng)-SOFTWARE-DOWNLOADS-DownloadtheArduinoIDE)上免費(fèi)獲取。也可以使用其他文本編輯器或IDE進(jìn)行Arduino編程,但本書將使用ArduinoIDE。ArduinoIDE有什么?▓一個編寫代碼的代碼編輯器窗口▓一個可以提供代碼相關(guān)信息的消息區(qū)域▓一個提供詳細(xì)信息并幫助調(diào)試錯誤的控制臺▓一個可以設(shè)置Uno屬性、加載代碼示例以及提供一些其他功能的菜單欄▓幾個提供檢查代碼、上傳代碼到Arduino、保存代碼、創(chuàng)建新的代碼窗口及一些其他功能的按鈕什么是代碼?簡而言之,“代碼”是用來給計(jì)算機(jī)下達(dá)指令的。我們用代碼來“說”一種計(jì)算機(jī)可理解的語言(在這里,就是Arduino語言),來完成一組任務(wù)或者生成一系列預(yù)先設(shè)定的響應(yīng)。計(jì)算機(jī)很難理解你的言下之意,它們對語言的細(xì)微之處無能為力,所以我們用代碼將指令簡化為最基本的一組命令集。你已經(jīng)了解了IDE的基本組成以及代碼的基本概念,現(xiàn)在咱們來簡單地看一下ArduinoIDE。ArduinoIDE:初次接觸這是你第一次接觸ArduinoIDE。沒有記住它的全部組成部分或不知道它的全部功能也沒關(guān)系——畢竟這只是初次接觸。這部分內(nèi)容將在本章后段和本書的后續(xù)章節(jié)進(jìn)行詳細(xì)介紹。如圖4.3所示,菜單欄位于窗口界面的頂部。此外,還有一些比如“保存”等常用功能的按鈕、一個編碼區(qū)以及信息輸出區(qū)等。圖4.3ArduinoIDE現(xiàn)在你已經(jīng)了解IDE(特別是ArduinoIDE)的組成,可以下載并將其安裝到你的計(jì)算機(jī)上了。4.3ArduinoIDE下載:入門Arduino網(wǎng)站免費(fèi)提供Arduino編程所使用的IDE。Windows平臺和Mac平臺的安裝過程略有不同,因此我們將分別介紹這兩種平臺的下載和安裝過程。注意下載IDE的方式是進(jìn)入Arduino官網(wǎng)-SOFTWARE-DOWNLOADS-DownloadtheArduinoIDE。如果你使用的是Mac下載界面如圖4.4所示。網(wǎng)站與軟件一樣會頻繁更新,所以當(dāng)訪問該網(wǎng)站的時(shí)候,界面顯示可能會有所不同。單擊鏈接并下載Mac版本的IDE軟件,同時(shí)請確保下載的是推薦的最新的Mac版ArduinoIDE。圖4.4Mac版本的ArduinoIDE下載單擊鏈接時(shí),ArduinoIDE的壓縮版本將會開始下載,它將被保存在計(jì)算機(jī)的默認(rèn)下載位置,很可能是Downloads(下載)文件夾。下載完成后,雙擊壓縮文件將其解壓,解壓后的文件名為Arduino.app,外觀如圖4.5所示。注意如果沒有看到“.app”,請不要擔(dān)心——這說明你的計(jì)算機(jī)設(shè)置了不顯示文件擴(kuò)展名。圖4.5Arduino應(yīng)用程序圖標(biāo)將Arduino.app文件移動到計(jì)算機(jī)的Applications文件夾中,如圖4.6所示?,F(xiàn)在你已經(jīng)在Mac上下載并安裝了ArduinoIDE。圖4.6將圖標(biāo)拖到Applications文件夾中如果你使用的是WindowsPC在WindowsPC上下載和設(shè)置軟件的過程與Mac非常相似,但是為了確保計(jì)算機(jī)和Arduino之間可以進(jìn)行通信,還需要執(zhí)行一些額外的操作。首先是下載IDE軟件的Windows版本。下載方式與Mac相同。最好下載為Windows推薦的ArduinoIDE的最新版本(見圖4.7)。注意下載IDE的方式是進(jìn)入Arduino官網(wǎng)-SOFTWARE-DOWNLOADS-DownloadtheArduinoIDE。圖4.7Windows版本的ArduinoIDE下載建議選擇“WindowsInstaller”鏈接。如果你用的是公共計(jì)算機(jī)(如在學(xué)?;蚬ぷ鲌鏊挠啥嗳斯灿玫挠?jì)算機(jī)),那么可能需要下載標(biāo)有“non-admininstall”的版本。下載完成后,一般會在默認(rèn)的下載位置有一個以Arduino版本命名的EXE文件。雙擊該文件即可開始安裝。第一個對話框會要求你同意Arduino許可協(xié)議(見圖4.8)。單擊“IAgree”將進(jìn)入下一個安裝步驟。圖4.8Arduino許可協(xié)議在ArduinoSetup:InstallationOptions(Arduino程序安裝選項(xiàng)),這一步要確保選中“InstallUSBdriver(USB驅(qū)動程序)”和“Associate.inofiles(關(guān)聯(lián).ino文件)”這兩個選項(xiàng)(見圖4.9)。CreateStartMenushortcut(創(chuàng)建開始菜單快捷方式)和CreateDesktopshortcut(創(chuàng)建桌面快捷方式)不是必需的,但它們有助于在下次使用軟件時(shí)快速導(dǎo)航到ArduinoIDE。圖4.9安裝選項(xiàng)根據(jù)不同的Windows設(shè)置和版本,可能會出現(xiàn)一個Windows安全彈出框,詢問你是否要安裝USB驅(qū)動程序。不管何時(shí)彈出,單擊安裝,使ArduinoIDE完成安裝即可(見圖4.10)。圖4.10安全對話框是的!現(xiàn)在你的ArduinoIDE已經(jīng)準(zhǔn)備好在WindowsPC上運(yùn)行了。將Arduino連接到計(jì)算機(jī)你已經(jīng)安裝了ArduinoIDE,現(xiàn)在只需要將Arduino連接到計(jì)算機(jī),就可以編程了。將USB線一端接入Arduino,并將其另一端接入計(jì)算機(jī),如圖4.11所示。圖4.11將Arduino連接到計(jì)算機(jī)標(biāo)有ON的LED會被點(diǎn)亮,如果Arduino是全新的,那么引腳13附近的燈應(yīng)是閃爍的,就像在第2章(見圖4.12)中你嘗試接入Arduino的時(shí)候一樣。圖4.12LED指示燈ArduinoIDE:界面中有什么?看看圖4.13所示的ArduinoIDE,現(xiàn)在你已經(jīng)啟動了它。ArduinoIDE可以檢查Arduino是否連接到計(jì)算機(jī),檢查代碼是否有錯誤,讓你上傳自己編寫的代碼來控制Arduino,當(dāng)然還有其他一些有用的選項(xiàng)可以用來了解Arduino如何運(yùn)行。在進(jìn)行Arduino編碼之前,我們將更詳細(xì)地了解其所有特性。我們在代碼編輯器中編寫Arduino程序。當(dāng)你第一次啟動程序軟件時(shí),會看到程序的主要構(gòu)架。本書將解釋如何用相應(yīng)的代碼對Arduino進(jìn)行編程。注意程序(sketch)就是為Arduino編寫的代碼。圖4.13ArduinoIDE的基本組成警告ArduinoIDE的一個特點(diǎn)是如果你關(guān)閉所有的程序窗口,IDE將試圖關(guān)閉。如果你對程序做了任何更改,它會要求你進(jìn)行保存,否則就會自動關(guān)閉。開始編程之前,必須配置一些設(shè)置?,F(xiàn)在就來看看都有些什么。配置IDE在ArduinoIDE中需要配置兩個重要的設(shè)置,以便計(jì)算機(jī)可以與ArduinoUno進(jìn)行通信。你需要指定正在使用的Arduino硬件版本,以及Arduino和你的計(jì)算機(jī)之間將使用哪一個連接或端口進(jìn)行通信。即只要使用相同的ArduinoUno,這些設(shè)置也將是相同的。(如果使用的是其他版本的Arduino,其設(shè)置會有所不同。本書中的所有項(xiàng)目都使用相同的Arduino。)指定Arduino硬件版本正如第1章所述,Arduino有很多不同的版本。要進(jìn)行Arduino編程,必須在軟件中指明你正在使用的是Arduino的哪個版本。要做到這一點(diǎn),請轉(zhuǎn)至“Tools(工具)”菜單并選擇“Board(電路板)”,如圖4.14所示,再從彈出的菜單中選擇“Arduino/GenuinoUno”。一旦電路板設(shè)置完成,就需要設(shè)置一個端口,Arduino將通過該端口與計(jì)算機(jī)進(jìn)行通信。圖4.14選擇Arduino電路板指定要使用的端口在Arduino上有一個端口,通過USB數(shù)據(jù)線連接,它會與計(jì)算機(jī)上的端口進(jìn)行通信,這里我們把端口看作是兩個設(shè)備互相通信的通道?,F(xiàn)在需要設(shè)置ArduinoIDE,在計(jì)算機(jī)上使用正確的端口與Arduino進(jìn)行通信。在Mac和Windows計(jì)算機(jī)上選擇正確的端口會有所不同。這兩者的截屏我們都會看一下。由于本書使用的是ArduinoUno,所示計(jì)算機(jī)的配置是為了和這個版本的Arduino通信而設(shè)的,我們先看看Mac版本的。如果你用的是WindowsPC,可以直接跳到下一節(jié)。注意端口就是連接Arduino和計(jì)算機(jī)的通信通道。Mac端口選取要設(shè)置計(jì)算機(jī)與Arduino通信的正確端口,請轉(zhuǎn)至“Tools(工具)”菜單欄并選擇“Port(端口)”,如圖4.15所示。圖4.15選擇正確的端口在Mac上,選擇描述中包含“dev”和“cu”并標(biāo)記為“Arduino/GenuinoUno”的端口?!癲ev”是Mac添加的前綴,“cu”是調(diào)用(call-up)的簡稱,ArduinoUno是你所使用的Arduino硬件的版本。在前面的例子中,該菜單項(xiàng)末尾的數(shù)字是1451,但在你自己的屏幕上數(shù)字會有所不同,而且每次連接Arduino時(shí),這個數(shù)字可能都會改變。在某些版本的軟件或操作系統(tǒng)中,你可能會在端口列表中看到“tty”而不是“cu”,這也是可以的,關(guān)鍵是端口描述一定要有“Arduino/GenuinoUno”。如果選擇了錯誤的端口,也不會有什么不好的事情發(fā)生,只是Arduino和計(jì)算機(jī)就無法相互通信了。如果Arduino和計(jì)算機(jī)沒有聯(lián)通,就要再檢查一下端口列表,確保選擇了正確的端口。Windows端口選取我們來看一下Windows上的端口選?。ㄒ妶D4.16)。在Windows計(jì)算機(jī)上,端口名稱全部以“COM”開頭。你可以進(jìn)入“Tools(工具)”菜單,選擇“Port(端口)”,然后選擇“Serialports(串行端口)”下的與“ArduinoUno/Genuino”標(biāo)簽所匹配的“COM”號,就像“COM3”(ArduinoUno/Genuino)。圖4.16選擇正確的端口問題問:我一定要選擇“ArduinoUno/Genuino”所對應(yīng)的端口嗎?答:不一定。這只是本書用的Arduino電路板的版本,書中的所有項(xiàng)目用的都是ArduinoUno,日后你可能會用其他版本的Arduino來創(chuàng)建你自己的項(xiàng)目。問:有時(shí)在下拉列表中會列出其他端口。它們是什么?答:那些端口可以提供不同的方式讓計(jì)算機(jī)與其他設(shè)備進(jìn)行通信。所以別擔(dān)心,我們暫時(shí)不會用到它們。問:如果計(jì)算機(jī)沒有連接到Arduino,能看到可以連接到Arduino的端口嗎?答:不能。為了能看到正確的端口,必須先用USB線連接Arduino和計(jì)算機(jī)?,F(xiàn)在你已經(jīng)設(shè)置了正確的端口和Arduino電路板,接下來我們仔細(xì)看看用于創(chuàng)建代碼的ArduinoIDE。了解代碼窗口我們已經(jīng)了解過ArduinoIDE的組成部分,現(xiàn)在再仔細(xì)看一下圖4.17。與大多數(shù)軟件一樣,在軟件界面的頂部會有一些菜單供你執(zhí)行各種操作,例如創(chuàng)建新文件、保存文件等。菜單的下方還有一些按鈕圖標(biāo),可以讓你快速訪問一些最常用的操作。單擊“驗(yàn)證”按鈕可以檢查并確保代碼中沒有錯誤。單擊“上傳”按鈕可以將代碼從計(jì)算機(jī)傳輸?shù)紸rduino,以便它可以在Arduino開發(fā)板上運(yùn)行。再往下依次是代碼編寫區(qū)和信息提示區(qū)。我們在IDE中工作的時(shí)候?qū)忉尭嚓P(guān)于信息提示區(qū)的內(nèi)容?,F(xiàn)在只需要知道它會告知代碼是否有錯誤以及它占用了多少Arduino的內(nèi)存空間等信息。圖4.17ArduinoIDE說明接下來我們仔細(xì)看一下圖4.18所示的位于代碼編輯器上方的按鈕。通過這些按鈕你可以快速執(zhí)行最常使用的代碼窗口的操作。這些操作包括:檢查代碼是否有錯誤(驗(yàn)證),將代碼發(fā)送到Arduino開發(fā)板(上傳),創(chuàng)建新文件,打開文件和保存文件。圖4.18ArduinoIDE中的按鈕我們很快就會用到這些按鈕,但首先我們要了解編寫程序的真正含義是什么。4.4程序:Arduino編程的基本組成可以將Arduino程序看作是一組可以執(zhí)行特定任務(wù)的完整指令。程序包括單個或多個任務(wù)的所有代碼或指令。你可以同時(shí)打開多個不同的程序,就像一個電子表格程序可以同時(shí)打開多個表格一樣。下面我們進(jìn)一步看看程序都由哪些部分構(gòu)成。你可以認(rèn)為上傳到Arduino的內(nèi)容都是程序,程序可以非常簡單,也可以非常復(fù)雜。它可以打開和關(guān)閉單個LED,也可以根據(jù)傳感器的輸入來控制10個或更多的電機(jī)。盡管每個程序?qū)?yīng)的是一個任務(wù),但是這個任務(wù)可以由多個部分組成。例如,程序可以測量光的強(qiáng)弱,并以此來觸發(fā)揚(yáng)聲器和LED。這些用一個程序即可實(shí)現(xiàn)。程序名會顯示在代碼編輯器左上角的標(biāo)簽頁,如圖4.19所示。圖4.19一個空白程序窗口和一個寫有代碼的窗口打開示例程序開始編寫代碼之前,我們先來研究一個ArduinoIDE中包含的示例。IDE有很多示例(代碼),這些示例展示了在Arduino中可以完成的許多事情。你可以將一個示例加載到代碼窗口中,并在Arduino連接到計(jì)算機(jī)時(shí)將其上傳到Arduino。選擇“File(文件菜單)-Examples(示例)-01.Basics(01.基礎(chǔ))-Blink(閃光)”,打開名為“Blink(閃光)”的示例程序(見圖4.20)。圖4.20打開Blink程序保存程序默認(rèn)狀態(tài)下,Arduino程序?qū)⒈槐4嬖谟?jì)算機(jī)“Documents”文件夾下的“Arduino”文件夾里。你可以繼續(xù)將程序保存在這里,好處是你能方便地找到這些程序。Arduino的“File(文件)”菜單的“Sketchbook”下拉菜單中記錄了以往保存在該文件夾內(nèi)的文件。即使你用的是示例中的代碼,也最好現(xiàn)在就用一個不同的程序名將其保存,以便你始終可以回到原始的沒有改動過的示例代碼。這樣當(dāng)你修改程序并保存時(shí),就不會意外地保存在“Blink”示例程序中了。將你的程序保存為“LEA4_Blink”,以便于記錄自己的更改之處。提前保存,經(jīng)常保存!養(yǎng)成保存文件的習(xí)慣,這樣可以避免你所做的工作意外丟失。某些原因可能致使計(jì)算機(jī)關(guān)閉了ArduinoIDE(例如斷電、臨時(shí)故障等),所以請?zhí)崆氨4?,?jīng)常保存,這樣可以少些擔(dān)心。盡管這種情況發(fā)生的概率很低,但只要有一次發(fā)生,你就會很慶幸自己不必再重復(fù)之前做的所有工作,因?yàn)槟惚4媪隧?xiàng)目并且不必再擔(dān)心。小竅門當(dāng)你在工作的時(shí)候,請隨時(shí)保存程序文件。上傳程序到Arduino你已經(jīng)用一個新程序名保存了示例程序,現(xiàn)在可以將其上傳到Arduino了。在上傳之前,檢查一下錯誤。即使所使用的是IDE內(nèi)置代碼,也要養(yǎng)成在上傳代碼前進(jìn)行驗(yàn)證的好習(xí)慣。在準(zhǔn)備上傳代碼時(shí),需要記住之前討論過的兩個按鈕:“驗(yàn)證”和“上傳”。圖4.21突出顯示了這兩個按鈕。圖4.21ArduinoIDE上的驗(yàn)證和上傳按鈕第1步:驗(yàn)證程序驗(yàn)證可確保代碼的正確性,單擊“驗(yàn)證”按鈕并確認(rèn)沒有錯誤(見圖4.22)。除非你在保存之前對“LEA4_Blink”程序進(jìn)行了修改,否則一切都會正常工作。圖4.22驗(yàn)證按鈕圖4.23展示了IDE底部的消息窗口將會顯示“Donecompiling(編譯完成)”,并沒有顯示任何錯誤。圖4.23消息窗口驗(yàn)證代碼時(shí),只要程序中有任何的錯誤,你就會收到一條消息告訴你出錯了。ArduinoIDE只能識別編程錯誤,而無法識別使用Arduino創(chuàng)建電路時(shí)所犯的錯誤。當(dāng)在ArduinoIDE窗口中輸入文本時(shí),代碼類似于人類的自然語言,但是Arduino對此無法理解。此時(shí)當(dāng)你單擊“驗(yàn)證”來檢查程序是否有錯誤時(shí),計(jì)算機(jī)就會將代碼暫時(shí)轉(zhuǎn)換為Arduino可以識別的語言。第2步:上傳程序當(dāng)你單擊“上傳”按鈕(見圖4.24)時(shí),計(jì)算機(jī)會將這些代碼轉(zhuǎn)換成Arduino能夠識別的語言,隨后立即開始通過USB線將此程序向Arduino發(fā)送。圖4.24上傳按鈕還是上傳:狀態(tài)欄和消息窗口一旦單擊了上傳按鈕,ArduinoIDE窗口將會出現(xiàn)一個狀態(tài)欄來顯示上傳進(jìn)度,以及一個可以顯示諸如程序大小之類信息的消息窗口。這個進(jìn)度條和消息窗口類似于圖4.25。一旦發(fā)送文件至Arduino,消息窗口會顯示“Doneuploading(上傳完成)”。好了!來自IDE窗口的代碼就在Arduino上開始運(yùn)行了。圖4.25上傳進(jìn)度條運(yùn)行LEA4_Blink程序現(xiàn)在你已經(jīng)將程序上傳到了Arduino,只要Arduino能通過USB線從計(jì)算機(jī)上獲得供電,就會一直運(yùn)行。上傳到Arduino的代碼包含了要求Arduino控制燈光反復(fù)閃爍的指令。引腳13附近的LED將會按照亮1秒、滅1秒的方式無限循環(huán)下去(見圖4.26)。稍后我們將詳細(xì)查看代碼,同時(shí)了解它的工作原理。圖4.26LED閃爍如果你的LEA4_Blink程序工作異常,可以再次返回從頭逐步檢查,找出阻礙代碼運(yùn)行的問題。此前在面包板的電路上我們已經(jīng)使用過類似的方法,這就是“調(diào)試”。注意“調(diào)試”指的是解決電路和Arduin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民族團(tuán)結(jié)進(jìn)步年工作總結(jié)
- 鋼結(jié)構(gòu)柱梁制作工藝流程
- 工業(yè)廢水處理工職業(yè)技能競賽參與考核試卷及答案
- 2025年職業(yè)技能鑒定考試(電力行業(yè)油務(wù)員-初級)歷年參考題庫含答案
- 酒店餐飲部年度工作總結(jié)
- 2025年工會工作個人總結(jié)
- 2025年企業(yè)培訓(xùn)師(高級)企業(yè)社會責(zé)任倫理道德理論知識試卷及答案
- 通風(fēng)與空調(diào)系統(tǒng)調(diào)試方案
- 建設(shè)工程施工合同糾紛要素式起訴狀模板完整版無缺失
- 信息與信息技術(shù)的
- 秦腔課件教學(xué)
- DB51-T 1959-2022 中小學(xué)校學(xué)生宿舍(公寓)管理服務(wù)規(guī)范
- 水利工程施工監(jiān)理規(guī)范(SL288-2014)用表填表說明及示例
- 妊娠合并膽汁淤積綜合征
- 河南省安陽市滑縣2024-2025學(xué)年高二數(shù)學(xué)上學(xué)期期末考試試題文
- 新疆維吾爾自治區(qū)普通高校學(xué)生轉(zhuǎn)學(xué)申請(備案)表
- 內(nèi)鏡中心年終總結(jié)
- 園林苗木容器育苗技術(shù)
- 陜西省2023-2024學(xué)年高一上學(xué)期新高考解讀及選科簡單指導(dǎo)(家長版)課件
- 兒科學(xué)熱性驚厥課件
- 《高職應(yīng)用數(shù)學(xué)》(教案)
評論
0/150
提交評論