物聯網系統整合應用 (四) IOT (Internet Of Things)
物聯網(IOT)系統整合應用 課程安排 Part1, 物聯網系統架構介紹 實作: 各裝置硬體實體之熟悉, 以及Beaglebone WebServer基本操作
Part 2,3 Arminno 軟硬體環境介紹及藍芽應用, 與ZigBee Coordinator 流程介紹 實作: Arminno 開發環境使用熟悉及 Arminno+ZigBee 程式說明
Part 4,5 Arduino 軟硬體及相關Ozone模組介紹, 及ZigBee End Devices 流程介紹 實作: Arduino 開發環境使用與ZigBee End, 以及其他感測器相關模組程 式練習
Part 5,6 Beaglebone WebServer 流程, 及 Phthon Script 程式 介紹 實作: 修改Beaglebone程式, 與其他Linux指令操作練習
課程主題 (Part 4)
Arduino 簡介 Arduino 相關應用 Arduino 硬體規格 市面上不同的 Arduino 硬體 Arduino 軟體環境及程式 實例演練與操作
什麼是Arduino ? 起源:Arduino 是在2005年1月由米蘭互動設計學院的一群教 授所設計出來, 計畫啟動於義大利西北方的一個小鎮Ivrea, 這個小鎮在歷史上有一個很有名的歷史人物(北義大利國王)叫 Arduin(公元955~1015),於是這計畫便以他取名為Arduino。 Arduino 基本上是以Atmel 8-bit微控制器為核心的硬體電路 板, 提供一版簡化後的C/C++程式語言,便利的程式庫,並提 供一套開放原始碼電子創作原型平台,可藉以
快速作出數位多媒體作品。
什麼是Arduino?
實現資訊科技+藝術 韌體
硬
體
+
軟
體
+
數位 多 媒 體
科技 藝術
Arduino應用 (多媒體數位藝術) Laser Harp (豎琴)
Arduino應用 (多媒體數位藝術) 電子鼓 Electronic Drum
Arduino應用 (生活:穿戴式裝置) Arduino ( Lily Pad )
Arduino應用(生活:心跳, 血壓偵測)
Arduino應用(仿生:電子昆蟲) 電子昆蟲
Arduino應用 (遊戲: 遙控模擬飛機)
Arduino應用 (教育: 遙控自走車)
Original controller by BasicStamp
Arduino應用 (教育:互動教學) Scratch for Arduino (S4A)
Arduino應用 (新科技:四旋翼)
http://bitly.com/yiboJM http://bit.ly/LnU271
Arduino應用 (新科技:3D列印) 3D Printer
"Intel"科技公司 與 Arduino 2013年10月英特爾(Intel)執行長 Brian Krzanich 宣布與 Arduino 達成一項合作協議。 Krzanich 發表一款 Intel Galileo 開 發板,是新系列Arduino相容開發板 (development boards) 中首款採用 英特爾架構的產品。 Intel 稱 Arduino 是創作者與教育界 首屈一指的開放原始碼硬體平台。
"Google"科技公司 與 Arduino 2011年5月Google 宣布利用 Arduino 做為 Android 周邊硬體 開發套件。 宣布將允許使用 Arduino 開發 Android 的 USB 裝置,將會有許 多控制器、MIDI 介面都可以在 Android 為基礎的行動裝置上使 用。
Arduino Leonado 實體電路板 數位輸出/入 硬體介紹
USB 連線 ATMEL 晶片
Power Pins 類比輸入
Ozone 實體電路板
CMD BUS
100% 相容於 Arduino Leonado 硬體
Arduino 硬體基本規格介紹 硬體介紹 1. Digital I/O 數位式輸入/輸出端共 0~13。 2. Analog I/O 類比式輸入/輸出端共 0~5。 3. Digital I/O 其中有七組 PWM 端子。 4.支援 TX/RX 端子。 5.支援 ICSP 線上燒錄功能。
6.支援 USB 接頭傳輸資料及供電(不需額外電源)。 7.採用 Atmel Atmega8-16PI/PU 單晶片。 8.Arduino 大小尺寸:寬 70mm X 高 54mm。
不同的Arduino 硬體規格的比較 Name
Processor
Operatin g Voltage/I nput Voltage
Uno
ATmega3 28
5 V/712 V
16 Mhz
Due
AT91SAM 3X8E
3.3 V/712 V
84 Mhz
12/2
54/12
-
96
512
2 Micr o
Leon ardo
ATmega3 2u4
5 V/712 V
16 Mhz
6/6
20/7
1
2.5
32
Micr o
1
Mini
ATmega3 28
5 V/7-9 V
16 Mhz
8/0
14/6
1
2
32
-
-
LilyP ad
ATmeg a168V ATmeg a328V
2.7-5.5 V/2.7-5.5 V
8 Mhz
6/0
14/6
0.512
1
16
-
-
CPU Spee d
Analog In/Out
Digital IO/PWM
EEPRO M [KB]
SRAM [KB]
Flash [KB]
USB
UART
6/0
14/6
1
2
32
Reg ular
1 4
Arduino 受歡迎的原因? (以市場面來看) Open Source電路圖設計與程式開發介面,可免費 下載,也可依需求自己修改! Arduino可使用ISP線上燒入器。 可以很容易的與感測器,及各式各樣的電子元件連 接。 支援PC上其他的互動程式,如: S4A,VB,Flash 使用低價格的微處理控制器(ATMEL晶片)及USB介面。
Arduino軟體安裝 軟體下載
(免費下載)
-STEP 1 請先連上 http://www.arduino.cc 網站,並且點選右邊的 Software 按鈕。 -STEP 2 找到 Download 文字以下的連接,目前最新版本為 Arduino 1.0.5 版本。
5
Arduino軟體安裝 軟體下載 -STEP 3 下載好之後,Windows 使用者請解壓縮到 C:\arduino1.0.5 的資料夾:
-STEP 4
免安裝解壓縮即可執行。
Arduino驅動程式安裝 安裝韌體 -STEP 1 請先將 Arduino 上的方頭 USB 連接好之後,另外一端的 USB 公頭請接 上電腦任一USB 插座。
-STEP 2 接上之後會出現 FT232R USB UART 的驅動程式安裝畫面。
Arduino驅動程式安裝 安裝韌體
-STEP 3 接下來要指定驅動程式安裝目錄,請選擇”從清單或特定位置安裝(進階)”。 -STEP4 接下來會跳出以下的畫面。
安裝韌體
Arduino驅動程式安裝
這裡請勾選”在這些裝置中尋找最好的驅動程式”,並在子選項內勾選”搜尋時 包括這個位置”,再按下”瀏覽”後,這裡請指定以下的路徑位置 (C:\arduino1.0.3\drivers\FTDI USB Drivers)。
Arduino驅動程式安裝 安裝韌體
如此就完成了您的 Arduino 韌體安裝部份。
軟體介紹
Arduino軟體開發環境
Arduino 軟體環境 • Open Source • Cross Platform • Windows • Mac OS X • Linux
• Simple UI (Easy to Use)
軟體環境 Upload
上傳中
Arduino軟體開發環境 按Upload 鈕上傳程式
Arduino 常用的呼叫函式 1. 數位輸入輸出 pinMode(), digitalWrite(), digitalRead(), tone(), shiftOut()
2. 類比輸入輸出 analogRead(), analogWrite()
3. 時間相關 dealy(ms), millis()
4. 數學運算 #include <math.h> : min(), max(), abs(), pow(x,y), log(x), sin()
5. 位元運算 bitRead(x,bp), bit Write(), lowByte(), bitClear(), bitSet()
Arduino 程式架構 (和標準的C語言不同!!!) void setup(){ // 只執行一次的程式放在這裡, 包括裝置的啟始程式, 變數 初始化等 } /**********************************/ void loop() { // 無限迴圈, 這裏的程式將會被重覆執行 }
第一個 Arduino 範例程式 (LED 控制 )
常用的 "輸出/輸入" 指令 1. pinMode (led_pin, OUTPUT) 2. digitalWrite(led_pin, HIGH)
1. pinMode(pin, INPUT) 2. value = digitalRead(input_pin)
語法 int led_pin = 2
語法
pinMode (pin, OUTPUT); digitalWrite(led_pin, HIGH); 操作 將指定的引腳設為邏輯高準位。 Pin – Arduino 的數位輸出, 依型號不同, 它的引 腳值範圍為 0~15。
int input_pin = 2 int value; pinMode (input_pin, INPUT); value = digitalRead(input_pin); 操作 讀取指定引腳之邏輯準位。 Pin – Arduino 的數位輸出, 依型號不同, 它的引腳值 範圍為 0~15。
LED 控制程式 int led_pin ; void setup() { // 只要執行一次的程式放在這裡 led_pin = 4; pinMode (led_pin, OUTPUT) ; } /**********************************/ void loop() { //重覆直行的程式放在這裡 digitalWrite(led_pin, HIGH) ; delay (500) ; digitalWrite(led_pin, LOW) ; delay (500); }