Transcript Document

Chap 05 Arduino互動技術
吳育龍 老師
Arduino的源起



全球官網 http://www.arduino.cc
台灣官網 http://arduino.tw
特色
◦ Open
source(http://arduino.cc/en/uploads/Main/arduinouno-schematic.pdf)
◦ 支援語言:Flash、Processing(Arduino UI) 、
Max/MSP 、Pure data
◦ 義大利與西班牙工程師設計
◦ 簡單易學
◦ 目前針對不同使用情境有多種版本
科藝發展
科技 + 藝術
 跨領域
 多樣呈現

◦
◦
◦
◦
聲音 影像
動畫
互動
虛擬 實體
資訊
設計
程式
內容
應用領域

互動裝置設計
應用領域

玩具
◦ http://www.guokr.com/article/115626/
◦ 遙控
◦ 機器人

智慧家電
◦ 感應式插座
實際案例分享

高雄紅毛港文化園區
Arduino
Cyber World
Real World
Arduino名詞說明

Arduino= Hardware(Arduino card) +
Software(Arduino UI)
Arduino的版本
UNO, 標準版, $1000
NANO, $1000
MEGA, $2000
Lilypad, $1000
應用於電子織物, 可水洗
BT, 藍芽傳輸
開發方式

Processing + Arduino Card
連線

Arduino UI + Arduino Card
寫入
開發方式

Processing + Arduino Card

Arduino UI + Arduino Card
開發方式

Processing
◦ 可使用電腦資源

Arduino UI
◦ 可獨立運作,成本較低

以功能性而言
Arduin
o UI
Processing
影詩空間, 林美婷
迴響之牆, 吳尚霖
C++
Processing
Processing
精簡
Processing
精簡
Arduino UI
互動多媒體
Arduino UI
Processing
Processing
精簡
Java
Arduino UI
+
Arduino
互動裝置
+
Android
平板程式
+
Arduino
+
Amarino
自動控制
移動控制
Arduino規格
GND接地
USB連接線
(含供電)
數位(Digital)輸出入
Pin0~13, 共14個
輸入(Input)-從電路讀數據
輸出(Output)-寫入數據到電路
LED指示燈
L(13)
TX(1)-傳送資料
RX(0)-接收資料
IC型號(168/328)
外接電源
(5~12V)
5V工作電壓
GND接地
類比(Analog)輸入
Pin0~5, 共6個
第一個程式
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int ledPin = 13; //LED為Pin13
void setup()
{
println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(ledPin, Arduino.OUTPUT); //設定Pin13為輸出(可寫入)
}
void draw()
{
arduino.digitalWrite(ledPin,Arduino.HIGH); // 設定PIN13腳位為高電位 = 4V
delay(1000);
// 設定延遲時間,1000 = 1秒
arduino.digitalWrite(ledPin,Arduino.LOW); // 設定PIN13腳位為低電位 = 0V
delay(1000);
// 設定延遲時間
}
確認環境是否安裝正確
 電腦驅動->USB連接線->Arduino Card->電線->電路

電路工具介紹
單心線
 剝線鉗
 尖嘴鉗/斜口鉗
 三用電表

麵包板(臨時性)
 電路板+銲槍+焊錫(永久性)
 排針與接頭(半永久性)

麵包板構造
讀取光敏電阻資料(1 of 2)
讀取光敏電阻資料(2 of 2)
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int potPin = 0;
//設定讀入的腳位
void setup()
{
println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
}
void draw()
{
println(arduino.analogRead(potPin));
}
實際案例