官术网_书友最值得收藏!

1.5 Arduino硬件設計平臺

電子設計自動化(Electronic Design Automation,EDA)是20世紀90年代初,從計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念上發(fā)展而來的。EDA設計工具的出現(xiàn)使得電路設計的效率和可操作性都得到了大幅度的提升。本書針對Arduino的學習,主要介紹和使用Fritzing工具,配以詳細的示例操作說明。當然,很多軟件也支持Arduino的開發(fā),在此不再一一羅列。

Fritzing是一款支持多國語言的電路設計軟件,可以同時提供面包板、原理圖、PCB圖三種視圖設計,設計者可以采用任意一種視圖進行電路設計,軟件都會自動同步生成其他兩種視圖。此外,F(xiàn)ritzing軟件還能用來生成制版廠生產(chǎn)所需用的greber文件、PDF、圖片和CAD格式文件,這些都極大地普及和推廣了Fritzing的使用。下面將具體對軟件的使用說明進行介紹,有關Fritzing的安裝和啟動請參考相關的書籍或者網(wǎng)絡。

1.5.1 Fritzing軟件簡介

1.主界面

總體來說,F(xiàn)ritzing軟件的主界面由兩部分構成,如圖1-27所示。一部分是圖中左邊框內(nèi)項目視圖部分,這一部分用于顯示設計者開發(fā)的電路,包含面包板圖、原理圖和PCB圖三種視圖。另一部分是圖中右邊框內(nèi)工具欄部分,包含軟件的元件庫、指示欄、導航欄、撤銷歷史欄和層次欄等子工具欄,是設計者主要操作和使用的地方。

圖1-27 Fritzing主界面

2.項目視圖

設計者可以在項目視圖中自由選擇面包板、原理圖或PCB視圖進行開發(fā),且設計者可以利用項目視圖框中的視圖切換器快捷輕松地在這三種視圖中進行切換,視圖切換器如圖1-27項目視圖中右邊中部框圖部分所示。此外,設計者也可以利用工具欄中的導航欄進行快速切換,這將在工具部分進行詳細說明。下面分別給出這三種視圖的操作界面,按從上到下的順序依次是面包板視圖、原理圖視圖和PCB視圖,分別如圖1-28~圖1-30所示。

圖1-28 Fritzing面包板視圖

細心的讀者可能會發(fā)現(xiàn),在這三種視圖下的項目視圖中操作可選項和工具欄中對應的分欄內(nèi)容都只有細微的變化。而且,由于Fritzing的三個視圖是默認同步生成的,在本書中,首先以面包板為模板對軟件的共性部分進行介紹,然后再對原理圖、PCB圖與面包板視圖之間的差異部分進行補充。之所以選擇面包板視圖作為模板,是為了方便Arduino硬件設計者從電路原理圖過渡到實際電路,盡量減少可能出現(xiàn)的連線和端口連接錯誤。

3.工具欄

用戶可以根據(jù)自己的興趣愛好選擇工具欄顯示的各種窗口,左鍵單擊窗口下拉菜單,然后對希望出現(xiàn)在右邊工具欄的分欄進行勾選,用戶也可以將這些分欄設成單獨的浮窗。為了方便初學者迅速掌握Fritzing軟件,本書將詳細介紹各個工具欄的作用。

圖1-29 Fritzing原理圖視圖

圖1-30 Fritzing PCB視圖

1)元件庫

元件庫中包含了許多電子元件,這些電子元件是按容器分類盛放的。Fritzing軟件一共包含8個元件庫,分別是Fritzing的核心庫、設計者自定義的庫和其他6個庫。這8個庫是設計者進行電路設計前所必須掌握的,下面將進行詳細的介紹。

(1)MINE:MINE元件庫是設計者自定義元件放置的容器。如圖1-31所示,設計者可以在這部分添加一些常用元件或軟件缺少的元件。具體有關的操作將在后面進行詳細說明。

圖1-31 MINE元件庫

(2)Arduino:Arduino元件庫主要放置與Arduino相關的開發(fā)板,這也是Arduino設計者需要特別關心的元件庫。這個元件庫中包含Arduino的9塊開發(fā)板,分別是Arduino、Arduino UNO R3、Arduino MEGA、Arduino Mini、Arduino NANO、Arduino Pro Mini 3.3V、Arduino Fio、Arduino LilyPad、Arduino Ethernet Shield,如圖1-32所示。

圖1-32 Arduino元件庫

(3)Parallax:Parallax元件庫中主要包含Parallax的微控制器Propeller D40和8款Basic Stamp微控制器開發(fā)板,如圖1-33所示。該系列微控制器是由美國Parallax公司開發(fā)的,這些微控制器與其他微控制器的區(qū)別主要在于它們在自己的ROM內(nèi)存中內(nèi)建了一套小型、特有的BASIC編程語言直譯器PBASIC,這為BASIC語言的設計者降低了嵌入式設計的門檻。

(4)Picaxe:Picaxe元件庫中主要包括PICAXE系列的低價位單片機、電可擦只讀存儲器、實時時鐘控制器、串行接口、舵機驅動等器件,如圖1-34所示。Picaxe系列芯片也是基于BASIC語言,設計者可以迅速掌握。

圖1-33 Parallax元件庫

圖1-34 Picaxe元件庫

(5)SparkFun:SparkFun元件庫也是Arduino設計者重點關注的元件庫,其中包含了許多Arduino的擴展板。此外,這個元件庫中還包含了一些傳感器和LilyPad系列的相關元件,如圖1-35所示。

(6)Snootlab:Snootlab包含了4塊開發(fā)板,分別是Arduino的LCD擴展板、SD卡擴展板、接線柱擴展板和舵機的擴展驅動板,如圖1-36所示。

(7)Contributed Parts:Contributed Parts元件庫包含帶開關電位表盤、開關、LED、反相施密特觸發(fā)器和放大器等器件,如圖1-37所示。

(8)Core:Core元件庫里包含許多平常會用到的基本元件,如LED燈、電阻、電容、電感、晶體管等,還有常見的輸入、輸出元件、集成電路元件、電源、連接、微控器等元件。此外,Core庫中還包含面包板視圖、原理圖視圖和印刷電路板視圖的格式以及工具(主要包含筆記和尺子)的選擇,如圖1-38所示。

圖1-35 SparkFun元件庫

圖1-36 Snootlab元件庫

圖1-37 Contributed Parts元件庫

圖1-38 Core元件庫

2)指示欄

指示欄會給出元件庫或項目視圖中鼠標所選定元件的詳細信息,包括該元件的名字、標簽,以及在三種視圖下的形態(tài)、類型、屬性和連接數(shù)等。設計者可以根據(jù)這些信息加深對元件的理解,或者檢驗所選定的元件是否是自己所需要的,甚至能在項目視圖中選定相關元件后直接在指示欄中修改元件的某些基本屬性,如圖1-39所示。

圖1-39 指示欄

3)撤銷歷史欄

撤銷歷史欄中詳細記錄了設計者的設計步驟,并將這些步驟按照時間的先后順序依次進行排列,先顯示最近發(fā)生的步驟,如圖1-40所示。設計者可以利用這些記錄步驟回到之前的任一設計狀態(tài),這為開發(fā)工作帶來了極大的便利。

圖1-40 撤銷歷史欄

4)導航欄

導航欄里提供了對面包板視圖、原理圖視圖和PCB視圖的預覽,設計者可以在導航欄中任意選定三種視圖中的某一視圖進行查看,如圖1-41所示。

圖1-41 導航欄

5)層

不同的視圖有不同的層結構,詳細了解層結構有助于讀者進一步理解這三種視圖和提升設計者對它們的操作能力。下面將依次給出面包板視圖、原理圖視圖、PCB視圖的層結構。

(1)面包板視圖的層結構。從圖1-42中可以看出,面包板視圖一共包含6層,設計者可以通過勾選層結構前邊的矩形框在項目視圖中顯示相應的層。

圖1-42 面包板層結構

(2)原理圖的層結構。從圖1-43中可以看出,原理圖一共包含7層,相對面包板而言,原理圖多包含了Frame層。

圖1-43 原理圖層結構

PCB視圖是層結構最多的視圖。從圖1-44中可以看出,PCB視圖具有15層結構。由于篇幅有限,本書不再對這些層結構進行一一詳解。

圖1-44 PCB圖層結構

1.5.2 Fritzing使用方法

1.查看元件庫已有元件

設計者在查看元件庫中的元件時,既可以選擇按圖標形式查看,也可以選擇按列表形式查看,界面分別如圖1-45和圖1-46所示。

圖1-45 元件圖標形式

圖1-46 元件列表形式

圖1-47 查找元件

設計者可以直接在對應的元件庫中尋找所需要的元件,但由于Fritzing所帶的庫和元件數(shù)目都相對比較多,所以在有些情況下,設計者可能很難明確確定元件所在的具體位置。這時設計者就可以利用元件庫中自帶的搜索功能,從庫中找出所需要的元件,這個方法能極大地提升設計者的工作效率。在此,舉一個簡單的例子進行說明,例如,設計者要尋找Arduino UNO,那么,設計者可以在搜索欄輸入Arduino UNO,按下Enter鍵,結果欄就會自動顯示相應的搜索結果,如圖1-47所示。

2.添加新元件到元件庫

1)從頭開始添加新元件

設計者可以通過選擇“元件”→“新建”命令進入添加新元件的界面,如圖1-48所示;也可以通過單擊元件庫中左側的New Part選項進入該界面,如圖1-49所示。無論采用哪一種方式,最終進入的新元件編輯界面都如圖1-50所示。

設計者可在新元件的添加界面填寫相關的信息,如新元件的名字、屬性、連接等,并導入相應的視圖圖片。尤其要注意添加連接,然后單擊“保存”按鈕,便能創(chuàng)建新的元件。但是在開發(fā)過程中,建議設計者盡量在已有的庫元件基礎上進行修改來創(chuàng)建用戶需要的新元件,這樣可以減少工作量,提高開發(fā)效率。

2)從已有元件添加新元件

關于如何基于已有的元件添加新元件,下面舉兩個簡單的例子進行說明。

(1)針對ICs、電阻、引腳等標準元件。例如,現(xiàn)在設計者需要一個2.2kΩ的電阻,可是在Core庫中只有220Ω的標準電阻,這時,創(chuàng)建新電阻最簡單的方法就是先將Core庫中220Ω的通用電阻添加到面包板上,然后選定該電阻,直接在右邊的指示欄中將電阻值修改為2.2kΩ,如圖1-51所示。

圖1-48 添加新元件(方式一)

圖1-49 添加新元件(方式二)

除此之外,選定元件后,也可以選擇“元件”→“編輯”命令完成元件參數(shù)的修改,如圖1-52所示。

圖1-50 新元件添加界面

圖1-51 修改元件屬性

然后進入元件編輯界面,如圖1-53所示。

將resistance相應的數(shù)值改為2200Ω,單擊“另存為新元件”按鈕,即可成功創(chuàng)建一個電阻值為2200Ω的電阻,如圖1-54所示。

此外,在選定元件后,直接按鼠標右鍵,在彈出的快捷菜單中選擇“編輯”命令,也可進入元件編輯界面,如圖1-55所示。

圖1-52 新元件添加界面

圖1-53 元件編輯界面1

其他基于標準元件添加新元件的操作都與此類似,如改變引腳數(shù)、修改接口數(shù)目等,在此不再贅述。

(2)相對復雜的元件。完成了基本元件的介紹后,下面介紹一個相對復雜的例子。在這個例子中,要添加一個自定義元件——SparkFun T5403氣壓儀,它的PCB圖如圖1-56所示。

圖1-54 元件編輯界面2

圖1-55 新元件添加界面

圖1-56 SparkFun T5403的PCB圖

在元件庫里尋找該元件,在搜索框中輸入T5403,如圖1-57所示。

圖1-57 SparkFun T5403搜尋圖

若沒有發(fā)現(xiàn)該元件,則可以在該元件所在的庫中尋找是否有類似的元件(根據(jù)名字容易得知,SparkFun T5403是SparkFun系列的元件),如圖1-58所示。

圖1-58 SparkFun系列元件

若發(fā)現(xiàn)還是沒有與自定義元件相類似的元件,則可以選擇從標準的集成電路ICs開始,選擇Core元件庫,找到ICs欄,將IC元件添加到面包板中,如圖1-59和圖1-60所示。

圖1-59 Core ICs

選定該IC元件,在指示欄中查看該元件的屬性。將元件的名字命名為自定義元件的名字T5403 Barometer Breakout,并將引腳數(shù)修改成所需要的數(shù)量。在本例中,需要的引腳數(shù)為8,如圖1-61所示。

圖1-60 添加ICs到面包板

圖1-61 自定義元件的參數(shù)修改

圖1-62 T5403 Barometer Breakout

修改之后,面包板上的元件如圖1-62所示。

右擊面包板視圖中的IC元件,在彈出的快捷菜單中選擇“編輯”命令,會出現(xiàn)如圖1-63所示的編輯窗口。設計者需要根據(jù)自定義元件的特性修改圖中的6個部分,分別是元件圖標、面包板視圖、原理圖視圖、PCB視圖、描述和接插件。這部分的修改大都是細節(jié)性的問題,在此不再加以贅述,讀者可參考下面的鏈接進行深入學習:https://learn.sparkfun.com/tutorials/make-your-own-fritzing-parts。

圖1-63 T5403 Barometer Breakout編輯窗口

3.添加新元件庫

設計者不僅可以創(chuàng)建自定義的新元件,也可以根據(jù)自己的需求創(chuàng)建自定義的元件庫,并對元件庫進行管理。在設計電路結構前,可以將所需的電路元件列一張清單,并將所需要的元件都添加到自定義的庫中,這可以為后續(xù)的電路設計提高效率。添加新元件庫時,只需選擇圖1-46所示的元件欄中的New Bin命令,便會出現(xiàn)如圖1-64所示的界面。

如圖1-64所示,給這個自定義的元件庫取名為Arduino Project,單擊OK按鈕,新的元件庫便成功創(chuàng)建,如圖1-65所示。

圖1-64 添加新元件庫

圖1-65 成功創(chuàng)建新元件庫

4.添加或刪除元件

下面主要介紹如何將元件庫中的元件添加到面包板視圖中。當需要添加某個元件時,可以先在元件庫相應的子庫中尋找所需要的元件,然后在目標元件的圖標上單擊選定元件,拖動至面包板上的目的位置,松開鼠標左鍵即可將元件插入面包板。需要特別注意的是,在放置元件時,一定要確保元件的引腳已經(jīng)成功插入面包板。如果插入成功,則元件引腳所在的連線會顯示綠色;如果插入不成功,則元件的引腳則會顯示紅色,如圖1-66所示(其中左邊表示添加成功,右邊則表示添加失?。?。

圖1-66 引腳狀態(tài)圖

如果在放置元件的過程中操作有誤,則直接單擊選定目標元件,然后再按Delete鍵即可將元件從視圖上刪除。

5.添加元件間連線

添加元件間的連線是用Fritzing繪制電路圖必不可少的過程,接下來將對連線的方法給出詳細的介紹。連線的時候將想要連接的引腳拖動到要連接的目的引腳后松開即可。這里需要注意的是,只有當連接線段的兩端都顯示綠色時(圖中左邊),才代表導線連接成功,若連線的兩端顯示紅色(圖中右邊),則表示連接出現(xiàn)問題,如圖1-67所示。

圖1-67 連線狀態(tài)圖

此外,為了使電路更清晰明了,設計者還能根據(jù)自己的需求在導線上設置拐點,使導線可以根據(jù)設計者的喜好而改變連線角度和方向。具體方法如下:光標處即為拐點處,設計者能自由拖動光標來移動拐點的位置。此外設計者也可以先選定導線,然后將鼠標光標放在想設置的拐點處,右擊,在彈出的快捷菜單中選擇“添加拐點”命令即可,如圖1-68所示。

除此之外,在連線的過程中,設計者還可以更改導線的顏色,不同的顏色將幫助設計者更好地掌握繪制的電路。具體的修改方法為選定要更改顏色的導線,然后右擊,選擇更改顏色,如圖1-69所示。

圖1-68 拐點添加圖

圖1-69 導線顏色修改圖

1.5.3 Arduino電路設計

至此,已經(jīng)完成了對軟件主界面和基本功能的詳細介紹。接下來,將通過一個具體的例子系統(tǒng)地介紹如何利用Fritzing軟件繪制一個完整的Arduino電路圖,即用Arduino主板控制LED燈的亮滅。整體效果如圖1-70所示。

下面介紹Arduino Blink例程的電路圖詳細設計步驟。首先打開軟件并新建一個項目,具體操作為單擊軟件的運行圖標,在軟件的主界面選擇“文件”→“新建”選項命令,如圖1-71所示。

完成項目新建后,先保存該項目。選擇“文件”→“另存為”命令,出現(xiàn)如圖1-72所示的界面,在該對話框中輸入保存的名字和路徑,然后單擊“保存”按鈕,即可完成對新建項目的保存。

一般來說,在繪制電路前,設計者應該先對開發(fā)環(huán)境進行設置。這里的開發(fā)環(huán)境主要指設計者選擇使用的面包板型號、類型,以及原理圖和PCB視圖的各種類型。本教程以面包板視圖為重點,所以將編輯視圖切換到面包板視圖,并在Core元件庫中選好開發(fā)所用的面包板類型和尺寸。圖1-73給出了各種尺寸的面包板圖。

圖1-70 Arduino Blink示例整體效果圖

圖1-71 新建項目

圖1-72 保存項目

圖1-73 面包板類型和尺寸

由于本示例中所需的元件數(shù)較少,此處省去建立自定義元件庫的步驟,直接先將所有的元件都放置在面包板上,如圖1-74所示。在本例中,需要1塊Arduino的開發(fā)板、1個LED燈和1個220Ω的電阻。

圖1-74 元件的放置

然后進行連線,即可得到最終的效果圖,如圖1-75所示。

在編輯視圖中切換到原理圖,會看到如圖1-76所示的界面。

此時布線還沒有完成,開發(fā)者可以單擊編輯視圖下方的自動布線,但要注意自動布線后,檢查是否所有的元件都完成了布線。對沒有完成的,開發(fā)者要進行手動布線,即手動連接端口間的連線。最終可得到如圖1-77所示的效果圖。

同理,可以在編輯視圖中切換到PCB視圖,觀察PCB視圖下的電路。此時也要注意編輯視圖窗口下方是否提示布線未完成,如果是,開發(fā)者可以單擊下面的“自動布線”按鈕進行布線處理,也可以自己手動進行布線。這里,將直接給出最終的效果圖,如圖1-78所示。

完成所有操作后,就可以修改電路中各元件的屬性。在本例中不需要修改任何值,在此略過這部分。完成所有步驟后,就能根據(jù)需求導出所需要的文檔或文件。在本例中,將以導出一個PDF格式的面包板視圖為例對該流程進行說明。首先確保將編輯視圖切換到面包板視圖,然后選擇“文件”→“導出”“作為圖像”→PDF命令,如圖1-79所示。輸出的最終PDF格式文檔如圖1-80所示。

圖1-75 元件連線圖

圖1-76 原理圖界面

圖1-77 原理圖自動布線圖

圖1-78 PCB視圖效果圖

圖1-79 PDF圖的生成步驟

圖1-80 面包板的PDF圖

1.5.4 Arduino樣例與編程

Fritzing軟件不但能很好地支持Arduino的電路設計,而且提供了對Arduino樣例電路的支持,如圖1-81所示。用戶可以選擇“文件”→“打開例子”命令,然后選擇相應的Arduino,如此層層推進,最終選擇想打開的樣例電路。

圖1-81 Fritzing對Arduino樣例支持

這里將以Arduino數(shù)字化中的交通燈進行舉例說明。選擇“元件”→“打開例子”→Arduino→Digital→Output→Traffic Light命令,就能在Fritzing軟件的編輯視圖中得到如圖1-82所示的Arduino樣例電路。需要注意的是,不管在哪種視圖進行操作,打開的樣例電路都會將編輯視圖切換到面包板視圖。如果想要獲得相應的原理圖視圖或PCB視圖,則可以在打開的樣例電路中從面包板視圖中切換到目標視圖。

圖1-82 Arduino交通燈樣例

圖1-83 編程界面進入步驟

除了對Arduino樣例的支持外,F(xiàn)ritzing還將電路設計和編程腳本放置在了一起。對于每個設計電路,F(xiàn)ritzing都提供了一個編程界面,用戶可以在編程界面中編寫將要下載到微控制器的腳本。具體操作如圖1-83所示,選擇“窗口”→“打開編程窗口”命令,即可進入編程界面,如圖1-84所示。

從圖1-84中可以發(fā)現(xiàn),雖然每個設計電路只有一個編程界面,但設計者可以在一個編程界面創(chuàng)造許多編程窗口來編寫不同版本的腳本,從而在其中選擇最合適的腳本。單擊“新建”按鈕即可創(chuàng)建新編程窗口。而且,從編程界面中也可以看出,目前Fritzing主要支持Arduino和PICAXE兩種腳本語言,如圖1-85所示。設計者在選定腳本的編程語言后,就只能編寫該語言的腳本,并將腳本保存成相應類型的后綴格式。同理,選定編程語言后,設計者也只能打開同種類型的腳本。

圖1-84 編程界面

選定腳本語言后,設計者還應該選擇串行端口。從Fritzing界面可以看出,該軟件一共有兩個默認端口,分別是COM1和LPT1,如圖1-86所示。當設計者將相應的微控制器連接到USB端口時,軟件里會增加一個新的設備端口,然后可以根據(jù)自己的需求選擇相應的端口。

圖1-85 編程語言支持

圖1-86 支持端口

值得注意的是,雖然Fritzing提供了腳本編寫器,但是它并沒有內(nèi)置編譯器,所以設計者必須自行安裝額外的編程軟件將編寫的腳本轉換成可執(zhí)行文件。但是,F(xiàn)ritzing提供了和編程軟件交互的方法,設計者可以通過單擊圖1-84所示的“程序”按鈕獲取相應的可執(zhí)行文件信息,所有這些內(nèi)容都將顯示在下面的控制端。

主站蜘蛛池模板: 泰来县| 宣武区| 府谷县| 岢岚县| 额尔古纳市| 泊头市| 太仓市| 黄梅县| 塔城市| 横峰县| 唐河县| 苍梧县| 海南省| 丰宁| 宁安市| 吕梁市| 平阳县| 开化县| 宜黄县| 红原县| 荥经县| 惠东县| 文登市| 辽阳县| 阜城县| 巴林左旗| 图们市| 台南市| 元阳县| 泰和县| 孝义市| 韶关市| 长治市| 柘城县| 平江县| 寻甸| 安多县| 临安市| 合作市| 景德镇市| 旺苍县|