物聯網應用系統 (四)

Page 1

物聯網系統整合應用 (四) 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); }


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.