Arduino 筆記 – 認識 Arduino

来源:互联网 发布:最好的网络云盘 编辑:程序博客网 时间:2024/06/01 12:16
Arduino 筆記 – 認識 Arduino
什麼是 Arduino?它的特色為何?可以拿來做什麼應用?本文將回答這些基本的問題,帶你認識 Arduino。

分享一個 Arduino 教學心得:學習 Arduino 最好的方法,就是買張 Arduino 控制板和一些電子零件,捲起袖子實際動手做,唯有如此,才能夠真正體驗 Arduino。所以,本文不會花太多的篇幅在文字上作描述,將很快速的介紹 Arduino,讓你在最短的時間內認識 Arduino。

什麼是 Arduino?

如下圖,Arduino 是一張微控制器板子(microcontroller board),大約一個手掌大

 
使用者可以在 Arduino 板子上接上各種電子裝置,例如 LED 燈、喇叭、馬達、開關、溫濕度感測器、紅外線發射與接收器、LCD 顯示裝置,以及 Ethernet, WiFi, XBee, Bluetooth, RFID, GPS 等各種通訊模組。

若再配合撰寫一些自動控制的程式,就能利用 Arduino 做出各式各樣的自動控制應用,例如利用溫度感測器控制風扇的運轉、使用可變電阻控制燈光的明暗、控制馬達的轉速、利用紅外線遙控家電/ 利用伺服機(Servo)控制機械手臂或機器人,以及製作自走車、飛行器等等。

Arduino 的特色

簡單來說,Arduino 有下列這些特色:

開放源碼。不僅軟體是開放源碼,連硬體也是開放的。開發軟體用的 IDE 可免費下載,Arduino 的電路設計圖也可以從網路上下載。
簡單好用資源多。傳統上,要開發微控制器的程式,開發者需要具備電子電機相關科系的背景,一般人不容易進入這個世界。Arduino 進入門檻低,即便沒有電子電機相關科系的背景,也可以很容易學會使用 Arduino。再者,由於 Arduino 開放的精神,很多人都樂於分享他們的作品,所以網路上有非常多的資源。很多時候,我們只要參考網友的作品,配合自己的需求調整一下設計,就可以在短時間內完成自己的作品。
物美價廉。一張微控制器板子動輒 3000 元台幣,相較於這類微控制板子,Arduino 控制板只要 30 美元左右,可以說是俗擱大碗。

Arduino 的應用

Arduino 的應用非常多,不勝枚舉,底下只舉幾個我所知的應用:

LilyPad - 可穿戴在身上的 Arduino,這東西應該可以拿來做鋼鐵人的發光手套。
  

Easy Robot 簡易機器人 - 一個很簡單的機器人自走車,網路上有完整的製作教學。
 

Robot ARM - 使用 Arduino 控制機械手臂。
 

ArduCam - 利用 Arduino 遙控相機
 

Drum Kit - 電子鼓,有了 Drum Kit,你也可以搖身一變成為一個鼓手
 

ArduCopter - 四軸直升機,哇嗚!這東西看了真是令人興奮,有錢應該買一台。
 

Home Power Monitoring - 家庭用電監測系統,利用電流感測器(Current Transducer)監測家庭用電,並且透過 Ethernet 把用電數據傳到網路上,以 Flash 圖表呈現,讓使用者透過瀏覽器就可以看到家裏的用電情形。
 


Arduino 硬體規格

底下說明 2010 年最新的板子 Ardunio UNO 的硬體規格。Arduino UNO 的外觀如下:

 



硬體規格:
微控制器ATmega328工作電壓5V輸入電壓(建議)7-12V輸入電壓(限制)6-20V數位 I/O Pins14 支(其中有 6 支腳位可提供 PWM 輸出)類入 Input Pins6 支I/O pin 直流電流40mA3.3V pin 直流電流50mAFlash 記憶體32KB, 其中 0.5KB 拿去給 bootloader 使用SRAM2KBEEPROM1KB時脈16MHz
數位 I/O Pins:
14 支數位 I/O Pins 可以當作 input 使用,也可以當作 output 使用,使用方法是透過 pinMode(), digitalWrite(), anddigitalRead() 這幾個函式。這 14 支數位 I/O Pins,其中幾支腳有特殊的功能:
Serial 通訊0(RX) 和 1 (TX) 這兩支腳。用來接收(RX)與傳輸(TX) TTL 訊號的序列資料。這兩支腳也連接到 USB Converter 晶片中。外部中斷2 和 3 這兩支腳。這兩支腳可以利用外部事件觸發中斷。詳細內容請參考 attachInterrupt() 函式。PWM3, 5, 6, 9, 10 和 11 共六支腳。透過 analogWrite() 函式可以提供 8-bit 的 PWM 輸出。SPI10 (SS), 11 (MOSI), 12 (MISO) 和 13 (SCK) 這四支腳。這四支腳搭配 SPI Library 可提供 SPI 序列通訊。LED13。內建一顆 LED,當 pin 腳為 HIGH 時,LED 打開,當 pin 腳為 LOW 時,LED 關閉。
類比輸入 Pins:
Arduino Uno 有 6 支類比輸入腳,標記為 A0 到 A5,每支腳都可提供 10 位元的解析 (即 1024 種不同的數值)。這些腳位所用的參考電壓預設為 0 到 5V,不過參考電壓也是可以更改的,方法是透過 AREF 腳和 analogReference() 函式。
另外,有幾支腳也有特殊功能:
I2C4 (SDA) 和 5 (SCL) 這兩支腳。透過 Wire library 可以提供 I2C 通訊。
其它:
AREF類比輸入的參考電壓,搭配 analogReference() 函式一起使用。Reset當 Reset 腳為 LOW 時,微控制器會重置。
Arduino 軟體開發環境
Arduino 的軟體開發環境是開放源碼的 IDE (Open-source IDE),可以在它的官網免費下載,它所用的程式語言語法類似於 C/C++,而且 Arduino IDE 是跨平台的,有 Windows, Macintosh OSX 和 Linux 的版本。Arduino IDE 的軟體介面如下:
 

Arduino 的程式叫作 Sketch,Sketch 意為腳本、素描、速寫或小品,因為 Arduino 程式都小小一個,不是很大,之所以取名為 Sketch,猜想大概有小品的意思。Arduino 程式主要由 setup() 和 loop() 這兩個函式組成: 
[C++] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
voidsetup() {
  // setup 函式只會跑一次
}
 
voidloop() {
  // loop 函式會不斷的執行
}

因為 setup() 和 loop() 是每支 Arduino 程式都會用到的兩個函式,為了方便,Arduino IDE 已經幫大家準備好程式骨架了,我們在寫 Arduino 程式的時候,可以直接點選 File > Examples > 1.Basics > BarMinimum 這個範本檔,另存新檔後,然後再填寫 setup() 和 loop() 兩個函式的內容即可。 

 

Arduino 硬體版本
Arduino 控制板 (I/O Boards)有很多種版本,我們在使用的時候,可以依據自己的需求(例如用途、尺寸、容量、I/O 腳數量等)挑選適當的板子。底下條列幾款 Arduino 控制板,更多的資訊請上 Arduino 官網查詢。

Arduino 擴充板 (Shields)
Shields 是擴充板,就像好像堆積木一樣,擴充板可以直接疊在 Arduino 控制板上,讓 Arduino 增加更加的能力,例如控制搖桿、通訊、記憶卡、LCD 顯示、MP3 音樂播放等等。底下條列幾款擴充板,更多的資訊請上  Arduino Shield List 網站查詢。
0 0
原创粉丝点击