【Arduino電路開發】Fritzing – PCB 印刷電路板的設計工具

Fritzing 簡介

Fritzing 是一套設計 PCB (Printed Circuit Board) 印刷電路板的軟體,是特別給設計師、藝術家、研究者以及業餘玩家使用的工具。跟 ProcessingArduino 一樣,Fritzing 的開發者秉持開放、簡單與共享的精神而設計這套軟體,Fritzing 簡單好用的軟體操作介面,讓使用者即使沒有電子電機的背景也可以輕而易舉地製作出 PCB 印刷電路板的設計圖。

image
▲ 圖片來源: fritzing.org

Fritzing 是開放源碼的軟體(Open-source Software),我們可以在它的官網免費下載軟體。Fritzing 是跨平台的,有 Windows, Macintosh OSX 和 Linux 的版本。

除了可以用來設計 PCB 印刷電路板外,很多人拿 Fritzing 為他們的產品原型(Prototypes)製作文件,在課堂上使用 Fritzing 教授電子學、互動媒體設計學以及 Arduino 教學。

使用 Fritzing 為你的電路原型(Prototype)製作文件

image

Ardunio 是一個簡單好用的微控制器開發板,它讓我可以在很短的時間裏學會諸如 LED、按鈕開關、可變電阻、光敏電阻、七段顯示器、字元 LCD … 等各種電子裝置。不過,在學習 Arduino 時我遇到一個困擾,在做一個電子實驗的時候,我必須把電子元件插到麵包板上,利用單心線連接各個元件以及 Arduino,為這個實驗寫一支程式,實驗完成後,我得從麵包板上把各個電子元件和線路拔下來,然後才能開始做另一個實驗,但是當我想回到先前曾做過的實驗的時候,這時候問題就來了,之前寫的程式還在,可是我卻記不太清楚當初線路是怎麼接的。

於是我便去尋找可以讓我把電路原型做成文件的工具,然後我找到了 Fritzing。Fritzing 的使用辦法很簡單,都是用滑鼠拖放的方式,我們從元件庫把元件放到麵包板上,把這些元件連接起來,就這麼簡單,接著我們就可以在三種檢視模式下工作:麵包板檢視模式(Breadboard view)、電路圖檢視模式(Schematic view)以及 PCB 檢視模式 (PCB View),而且三種模式是同步更新的,我們可以更換元件、拉線路、做 PCB 佈局等,這些工作都是以視覺化的方式進行的。

下圖是 Fritzing 的元件庫(我用的版本是 Fritzing 0.4.3,2010-09-26 發佈的):

image
▲ Firtzing 的元件庫

底下是一個電路原型的例子,這個電路用到了 Arduino, 可變電阻和一個 HD44780 相容的字元 LCD:

image
▲ 麵包板檢視模式(Breadboard view)

在麵包板檢視模式下,當我把麵包板、Arduino、可變電阻和 LCD 拉到畫面上,並且以拖拉的方式連接線路,把各個元件連接好後,Fritzing 便立刻為我畫出了對應的電路圖以及 PCB 印刷電路板設計圖:

image
▲ 電路圖檢視模式(Schematic view)

image  
▲ PCB 檢視模式

這帶給我很大的方便,Fritzing 讓我得以記錄電路原型變成一份電子文件,日後忘記線路接法的時候,只要打開 Fritzing 文件,就可以很快的恢復記憶,把曾經做過的實驗電路重新接起來。

底下是另一個例子,一個利用壓力感測器控制 Sevo 伺服機的例子,底下這張是實體照片:

image
▲ 圖片來源: Fritzing PCB

而底下這張圖則是利用 Fritzing 畫出來的電路原型,跟實體照片幾乎一模一樣,有了這份文件,將來就不怕會忘記線路的接法了:

image

Fritzing 提供的 Arduino 範例

Fritzing 跟 Arduino 真是絕配,因為 Fritzing 不僅支援 Arduino,而且還提供了大量的 Arduino 電路原型範例,可以在選單 File > Open Example > Arduino 這個位置上找到:

image
▲ Fritzing 提供了大量 Arduino 電路原型

基本上,Arduino 基本的範例程式,大部份都可以在 Fritzing 裏找到對應的電路原型,例如,底下這兩張圖,它們顯示的分別是 Arduino 的 Blink 範例程式以及對應的 Fritzing 電路原型:

image
▲ Arduino IDE: Blink 範例程式

image
▲ Fritzing: Blink 範例電路原型

要特別注意,Fritzing 不能拿來跑 Arduino 的程式,因為它並不是一個軟體模擬器。

Fritzing 支援的微控制器

Fritzing 支援多款 Arduino 的板子:

image
▲ 由左至右,從上而下,依序是:Arduino, LilyPad, Nano, Mini Pro, Arduino Fio 與 Mega

除了 Arduino 外,Fritzing 還支援很多款微控制器:

image
▲ 由左至右,從上而下,依序是:GogoBoard, netduino, Wiring, Propeller, mbed, Modifed pico 與 Basic Stamp

這些微控制器摘要說明如下:

  • GogoBoard, 一個開放源始碼(Open-Source)適用於教育用途的機器人開發平台,使用 PIC 微控制器,程式語言用的是 LOGO 語言。
  • netduino, 一個 32 位元 ARM7-based 微控制器板子,腳位與 Arduino 相容,特色是使用 .NET Micro Framework。
  • Wiring, Arduino 的姐妹專案,一樣使用 atmega 系列的微控制器。
  • Propeller, Parallax 的新一代多核心(multicore)微控制器(有 8 個 CPU cores),使用 SPIN 語言。
  • mbed, 一個類似 Arduino 的微控制器平台,使用 ARM Cortex-M3 微控制器,使用 C++ 語言。
  • Modified pico, 一個與 Arduino 相容的小開發板。
  • Basic Stamp, Parallax 生產的微控制器開發板,在國外很流行,廣泛應用於機器人、自走車與教育用途,使用 PIC 微控制器,程式語言用的是 BASIC 語言。
總結

Fritzing 是一套設計 PCB (Printed Circuit Board) 印刷電路板的軟體,是特別給設計師、藝術家、研究者以及業餘玩家使用的工具。Fritzing 讓使用者可以製作電路原型的電子文件,還可以自動產生電路圖與 PCB 設計圖,很適合用於電子學以及 Arduino 教學。

參考資料