--- tags : DIT 11th 教學 -- 新生教學 --- {%hackmd BJrTq20hE %} # Arduino ![Arduino MEGA](https://i.imgur.com/8Uf2yER.png) ## <font color="FFB326">1. 什麼是 Arduino?</font> Arduino 是一塊基於開放原始代碼的 Simple i/o 平台,並且具有開放語言和開放環境都很簡單、易理解的特點,配合上一些電子元件使用,例如 LED 燈、蜂鳴器、按鍵、光敏電阻等等,就可以讓我們快速地做出有趣的專案。Arduino 基於開放原始碼的原則,可以免費下載使用,減少開發的成本,令開發者可以創造出更多令人驚奇的互動作品。有興趣的可以到 [Arduino 官方網站](http://www.arduino.cc/) 進一步了解 Arduino 的美好之處。 ## <font color="FFB326">2. 性能 </font> Arduino 有很多種開發版,像是 Arduino UNO、Arduino Mini 等等,每一種開發版都有自己的特色。 在這裡我們以 Arduino Mega 為例 : - **Digital I/O** : 輸入/輸出共 54 個,其中有 15 個可以 PWM 輸出 - **Analog I/O** : 輸入 15 個,無類比訊號輸出。 - **通訊** : 支援 UART、I2C、SPI 等等的通訊方式。 - **內部時鐘頻率** : 16 MHz - **快閃記憶體** : 256 KB (這樣其實就很夠平常使用) - **工作電壓** : 5V ## 3. <font color="FFB326">[PWM](https://en.wikipedia.org/wiki/Pulse-width_modulation) 介紹</font> 一般來說訊號分為 **數位**、**類比** 兩種訊號。 - **數位訊號** ( Digital ) : 由 1、0 組成,在 Arduino 當中就是高電位 (5V / 3.3V),還有低電位 (0V)。 - **類比訊號** ( Analog ) : 與只有 1、0 的數位訊號不同,類比訊號可以為連續值,而且可能會有非整數出現,但是 ==在 Arduino mega 中並沒有類比輸出 ( Analog output ) 的功能== 。 ![](https://i.imgur.com/z48wNzz.png) <font color="63FF63">P</font>ulse <font color="63FF63">W</font>idth <font color="63FF63">M</font>odulation ( 脈衝寬度調變 ) 是一種<font color="red">利用數位訊號模擬類比訊號的方式</font>。以極快的速度在 1 與 0 之間做開關切換,藉由這種數位訊號高頻率的切換,並調整開關的時間比例,就可以模擬出我們需要的類比訊號。