Prototyping with Arduino
Obie @ iuiLab, NCCUNov. 26, 2014
今天要教⼤大家這個Arduino + Grove Starter Kit
+
Arduino
開放原始碼
類似Java,C的開發環境
可以跟多種程式語⾔言搭配使⽤用
容易結合電⼦子元件如開關、感測器、步進⾺馬達、LED或其他輸⼊入輸出裝置,建⽴立互動作品
便宜
設計師也容易上⼿手
模組化I/O 容易依需求進⾏行擴充 ⽀支援跨平台/語⾔言開發
無縫接軌Arduino IDE
模組介紹
開關 按鈕 光敏
溫度磁⼒力蜂鳴器
LED 三⾊色LED 觸摸 聲⾳音
旋鈕震動⾺馬達
More information: http://www.seeedstudio.com/wiki/GROVE_System
繼電器
⼀一個中型的案⼦子裝完⼤大概是這樣
⽤用麵包板裝⼀一個七段顯⽰示器是這樣
⼀一個中型的案⼦子裝完⼤大概是這樣 ⽤用麵包板裝⼀一個七段顯⽰示器是這樣
今夜の御注⽂文は、どっち?
假設今天要做⼀一個給盲⼈人⽤用的
⼒力回饋聲納⼿手套
開始正式教學之前,請⼤大家下載Arduino IDE端程式
http://arduino.cc/en/Main/Software
File > Examples > 1.Basics > Blink
Toolbar
StatusConsoleInformation
驗證上傳
開新檔案
開啟舊檔
存檔開啟監視器
看看Arduino的程式結構
File > Examples > 1.Basics > Blink
程式結構其實跟Processing很像
Comments
setup()初始化程式區域loop()持續執⾏行區
pinMode(13, OUTPUT); ⽤用來指定pin腳的屬性為INPUT / OUTPUT
File > Examples > 1.Basics > Blink
Serial.begin(9600); 啟⽤用USB序列埠溝通,以9600 baud的頻率
File > Examples > 1.Basics > Blink
digitalWrite(13, HIGH); ⽤用來指定pin腳的數位值為HIGH / LOW
File > Examples > 1.Basics > Blink
delay(1000); 上⼀一步做完之後,暫停 1000 毫秒
File > Examples > 1.Basics > Blink
For more information:http://arduino.cc/en/Reference/HomePage
Arduino Grove Lego-‐like sensor modules
Demo Cases• Demo1_BlinkWithGrove
• Demo2_DigitalInputs
• Demo3_AnalogInputs
• Demo4_Temperature
• Demo5_Servo
• Demo6_SerialLCD
• Exercise
Demo1_BlinkWithGrove
Demo2_DigitalInputs
Demo3_AnalogInputs
Demo4_Temperature
Demo5_Servo
Example LocationFile > Example > Servo > Sweep
1. 旋鈕Sensor接A02. 伺服⾺馬達接D23. 開啟demo5_servo
Demo6_SerialLCD
https://www.dropbox.com/s/04z5dio4x61fcr8/SerialLCD_Library.zip?dl=0
⺫⽬目前有兩個版本,分開解釋:
1. 下載以下連結 2. 解壓縮到:⽂文件/Arduino/library 3. 重新開啟Arduino(完全關閉) 4. File -> Example -> (對應的種類)
-> HelloWorld
Grove-LCD RGB Backlight
Grove Serial LCD v1.1
Exercise #1 ⾳音樂盒
1. 利⽤用旋鈕轉動伺服⾺馬達2. 偵測蓋⼦子打開後,開始播放⾳音樂3. 10分鐘內完成⼀一可展⽰示之原型
Example LocationFile > Example > 02. Digital > toneMelody
Exercise #2 刺客⾨門鈴1. 利⽤用超⾳音波偵測距離
ps. Grove裡⾯面沒有,光華⼀一個七⼗十塊
2. ⼀一定距離內超過五秒沒有按⾨門鈴,警報響起
3. 按⾨門鈴後解除警報
4. 上課時間應該不夠,想做可以回去玩玩看
冷知識: 此概念為廖峻峰⽼老師以前的作品,借來 給同學做練習,向廖⽼老師致敬XD
It’s actually limitless.What’s your genius idea?