arduino 、 s4a 與藍牙遙控車

52
Arduino S4A 與與與與與與 與與與與與與與 與與與 [email protected]

Upload: tammy

Post on 14-Jan-2016

84 views

Category:

Documents


3 download

DESCRIPTION

Arduino 、 S4A 與藍牙遙控車. 南門國小資訊組 張文宏 [email protected]. 1 、 Arduino 簡介與序列通信. 1-1 Arduino 環境建置 (1). ( 以 Windows 環境為例 ). 下載開發環境 :至官網 (arduino.cc) ,點選 download 後,下載 ArduinoIDE ( 目前 1.5.6r2 beta). 安裝開發環境 :有 2 種下載檔,如下載 installer 檔,直接執行;如為 zip 檔,直接解壓縮後,進入資料夾找執行檔即可使用。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Arduino 、 S4A 與藍牙遙控車

Arduino、 S4A 與藍牙遙控車

南門國小資訊組 張文宏[email protected]

Page 2: Arduino 、 S4A 與藍牙遙控車

1、 Arduino 簡介與序列通信

Page 3: Arduino 、 S4A 與藍牙遙控車

1-1 Arduino 環境建置 (1)

• 下載開發環境:至官網(arduino.cc) ,點選 download後,下載 ArduinoIDE ( 目前1.5.6r2 beta)

(以Windows 環境為例 )

• 安裝開發環境:有 2 種下載檔,如下載 installer 檔,直接執行;如為 zip 檔,直接解壓縮後,進入資料夾找執行檔即可使用。

( 可於研習下載檔案直接使用 zip檔 )

Page 4: Arduino 、 S4A 與藍牙遙控車

• 驅動 arduino 板:電腦連接arduino( 若需驅動程式,位置在 arduinoIDE 安裝資料夾內 drivers 資料夾 )

1-1 Arduino 環境建置 (2)

• 找出板子的 COM port 號碼:於裝置管理員找到「連接埠」,內有 Arduino Uno 的號碼

Page 5: Arduino 、 S4A 與藍牙遙控車

1-2 ArduinoIDE 簡介 (1)

偏好設定

設定語言及設定字型大小

( 均需重開程式才生效 )

Page 6: Arduino 、 S4A 與藍牙遙控車

1-2 ArduinoIDE 簡介 (2)

設定 Arduino板子類型

設定 Arduino 板子的 com port 號碼

( 要與裝置管理員內的相同 )

Page 7: Arduino 、 S4A 與藍牙遙控車

1-3 LED 閃爍程式 (1)

開啟內建範例程式

Blink

Page 8: Arduino 、 S4A 與藍牙遙控車

1-3 LED 閃爍程式 (2)

檢驗程式並上傳至 Arduino

訊息區( 回報成功或錯誤訊息 )

上傳後檢查 pin13 旁的LED 燈是否閃爍,

也可以加一個 LED 如下圖

LED 長針腳正極,接 pin13 ;

短針腳負極接 GND

Page 9: Arduino 、 S4A 與藍牙遙控車

1-3 LED 閃爍程式 (3)

函式 setup為初始設定

( 只執行一次 )( 設定 pin13 為數位輸出 )

函式 loop 為無窮迴圈digitalWrite(led,HIGH); 會亮燈digitalWrite(led,LOW); 會暗燈

Delay(1000); 會等待 1000 毫秒 (即 1秒 )

Page 10: Arduino 、 S4A 與藍牙遙控車

1-4 Arduino 微電腦板簡介 (以 UNO 為例 )

ATmega328處理器

( 含記憶體 )

Reset 鈕

數位輸出 / 輸入埠 D0~D13(有 PWM ~ 可兼類比輸出 )

傳送、接收 LED

USB 序列埠兼電源輸入

5V、 500mA(type B)

7V ~ 12V電源輸入

(DC 接頭 )

類比輸入埠 (A0~A5)5V 代表正電GND 代表負電

Page 11: Arduino 、 S4A 與藍牙遙控車

1-4 Arduino 微電腦板簡介 ( 電壓與感應值 )

電壓值

5V

0

數位輸入

數位輸出

1(HIGH)

0(LOW)

類比輸入

1023

0

類比輸出

255

0

2.5V 1(HIGH)

約 512 約 128

(PWM~ 腳位 )

Page 12: Arduino 、 S4A 與藍牙遙控車

1-5 韌體 (firmware)維基百科定義

韌體( firmware)…是一種嵌入在硬體裝置中的軟體。 通常它是位於特殊應用積體電路( ASIC )或

可程式邏輯裝置( PLD )之中的快閃記憶體或 EEPROM或PROM裡,有的可以讓使用者更新。

3 、韌體儲存於Arduino的

Atmega內的記憶體

1 、以 ArduinoIDE編寫韌體程式上傳

2 、透過 USB 線以序列 (Serial) 通

訊傳送韌體

Page 13: Arduino 、 S4A 與藍牙遙控車

1-6 線材介紹 (1)

杜邦單排母座( 一公頭一母頭 ) 麵包板跳線

( 雙公頭 )

大小麵包板( 可接公頭線或針

腳 )

Page 14: Arduino 、 S4A 與藍牙遙控車

1-6 線材介紹 (2)

杜邦線( 雙母頭 )

杜邦線( 公母頭 )

鱷魚夾 杜邦接頭

Page 15: Arduino 、 S4A 與藍牙遙控車

• 請開啟「研習範例程式 diy1_7BlinkBySerial 」• 將程式上傳至 Arduino• 開序列埠監視螢幕 (Serial Monitor)

1-7 LED 閃爍 ( 序列通信控制 )

• 由 Serial Monitor 傳送命令控制 Arduino

(0 是關, 1 是開, 2 是連續閃爍 )

PC 端傳送

PC 端接收

PC 端速率

Page 16: Arduino 、 S4A 與藍牙遙控車

數位輸出 D13

序列通信 (Serial)傳送 ascii 字元速度 9600BPS

1-8LED 閃爍程式 ( 序列通信控制 )— 概念探討

燈光閃爍韌體

序列通信程式(ArduinoIDE Serial Monitor)

D0(Rx)、D1(Tx)

Page 18: Arduino 、 S4A 與藍牙遙控車

2、 Scratch for Arauino (S4A)

Page 19: Arduino 、 S4A 與藍牙遙控車

2-1 S4A 環境建置 (1)• S4A 是一個 Scratch 的修改版本,提供額外積木以支援

Arduino ,檔案與原 Scratch不相容。• 至 S4A 官網下載 ( 網址 s4a.cat) ,有兩個要下載,一個是

S4A 程式 (pc用 ) 及另一個是 S4A 韌體 (arduino用 )

S4A 韌體 (Arduino用 )

S4A 程式 (PC用 )

Page 20: Arduino 、 S4A 與藍牙遙控車

2-1 S4A 環境建置 (2)• S4A 程式:於 PC 端安裝• S4A 韌體:以 ArduinoIDE 開啟 S4A 韌體

(S4AFirmware15.ino) ,並上傳至 Arduino• 接線測試:用 USB 線連接電腦與 Arduino ,若看到以下畫面 ( 有感應器數字會跳動 ) ,即成功。

類比輸入的值會一直跳動(因有浮動訊號 )

連結 Arduino的 com port 號碼

Page 21: Arduino 、 S4A 與藍牙遙控車

2-2 燈光閃爍 (S4A版本 )S4A 程式與 S4A 韌體的連線關閉

S4A 程式與 S4A 韌體的連結(用 search board 或選擇序列埠均可 )

用左方積木即可達到控制燈光閃爍的功能

Page 22: Arduino 、 S4A 與藍牙遙控車

2-3 S4A 概念探討 (1)

數位輸出 D13

序列通信 (Serial)傳送資料及控制 Arduino(每 75ms 傳送 1次 )速度 38400BPS

S4A 韌體

S4A 程式 (PC端 )

D0(Rx)、D1(Tx)

Page 23: Arduino 、 S4A 與藍牙遙控車

2-3 S4A 概念探討 (2)

註:上圖摘自臺中市數位教學平台課程 : S4A 介紹與入門

找出 S4A預設接腳、 Arduino、 S4A擴充板的對應位置

Page 24: Arduino 、 S4A 與藍牙遙控車

2-4 S4A 擴充板 (S4A sensor board)(1)安裝與拆下時注意兩邊力量要平均不然針腳會歪掉

• 優點 免去麵包板 免插線 整合 7 個元件

適合初學者

• 缺點 腳位功能被限制

Page 25: Arduino 、 S4A 與藍牙遙控車

2-4 S4A 擴充板 (S4A sensor board)(2)

上圖摘自苗栗縣政府教育處資訊中心SmetA 科技玩創作網站

Page 26: Arduino 、 S4A 與藍牙遙控車

2-5 S4A 小專案 (RGB LED 小小燈光師 )(1)

Page 27: Arduino 、 S4A 與藍牙遙控車

2-5 S4A 小專案 (RGB LED 小小燈光師 )(2)

• S4A 小小燈光師程式位於研習範例檔案

Page 29: Arduino 、 S4A 與藍牙遙控車

3 、藍牙遙控車

Page 30: Arduino 、 S4A 與藍牙遙控車

3-0 遙控車套件材料介紹 (1)

ArduinoUNO Sensor Shield 5.0擴充板

杜邦線

車體層板藍牙模組

銅柱、鏍絲18650鋰充

電池

超音波模組(不使用 )

Page 31: Arduino 、 S4A 與藍牙遙控車

3-0 遙控車套件材料介紹 (1)

L298N馬達模組

18650 電池盒萬向輪

馬達、車輪、減速齒輪組

3 組紅外線開關(不使用 )

車體底座

Page 32: Arduino 、 S4A 與藍牙遙控車

3-1 Sensor Shield V5.0擴充板 (1)

找出 Arduino 與Sensor Shield V5.0擴充板

的對應位置

安裝與拆下時注意兩邊力量要平均不然針腳會歪掉

G: GND 接地 負電V: VCC 5V 正電S: SIGNAL 訊號

Page 33: Arduino 、 S4A 與藍牙遙控車

3-1 Sensor Shield V5.0擴充板 (2)• 優點 免去麵包板 (多組 V和

G) 使用杜邦線 ( 母頭 )

可彈性使用 預留模組位置

• 缺點 複雜 要有 Arduino 腳位基本認知

Page 34: Arduino 、 S4A 與藍牙遙控車

3-2 直流 DC馬達模組概念正極

負極

若正負極反接會如何 ?

H橋電路可控制直流馬達正反轉L298N雙 H橋電路直流馬達模組

( 控制 2 組直流馬達正反轉 )

Page 35: Arduino 、 S4A 與藍牙遙控車

3-3 L298N馬達模組控制右馬達實作 (1)

VMS: 接電池盒紅線

GND: 接電池盒黑線

ENA: 接擴充板 VIN1: 接擴充板 D10IN2: 接擴充板 D11

GND: 接擴充板 G+5V: 接擴充板 V

先調整右輪馬達要依下方表格動作

( 若不行,馬達紅黑電線要交換 )

IN1(D10)

IN2(D11)

動作

on off 馬達前進 off on 馬達後退off off 馬達停止

S4A 控制積木

右馬達紅黑線無固定,先試接,相反再交換接線示意圖

Page 36: Arduino 、 S4A 與藍牙遙控車

3-3 L298N馬達模組控制右馬達實作 (2)實作圖

右馬達及電池盒接線

馬達模組與 Arduino 接線

站立車體以測試右馬達

Page 37: Arduino 、 S4A 與藍牙遙控車

3-4 L298N馬達模組控制左馬達實作

IN3: 接擴充板 D12IN4: 接擴充板 D13ENB: 接擴充板 V

先調整右輪馬達要依下方表格動作

( 若不行,馬達紅黑電線要交換 )

IN3(D12)

IN4(D13)

動作

on off 馬達前進 off on 馬達後退off off 馬達停止

S4A 控制積木

左馬達紅黑線無固定,先試接,相反再交換

接線示意圖

可試著做出可用上下左右鍵控制車子的程式,並建議要存檔供後面使用

Page 38: Arduino 、 S4A 與藍牙遙控車

3-5 遙控車供電 (1)USB 電源輸入

5V

7V ~ 12V外部電源輸入

可接 Arduino外部 電源

Arduino 端電源18650 電池盒電

源(3.7V x 2 = 7.4V)

接馬達模組供應馬達電力

5V_EN開關 (jumper)

左端電源 右端電源情況一: 若 5V_EN 開關相連, 左端與右端電源會相連

情況二: 若 5V_EN 開關斷開, 左端與右端電源獨立

Page 39: Arduino 、 S4A 與藍牙遙控車

3-5 遙控車供電 (2)5V_EN

開關 (jumper)要連接

線控模式供電建議

遙控模式供電建議

使用情況:  ◎組裝測試時使用  ◎電池沒電時使用

優缺點:  ◎可免用電池  ◎以 USB 線當開關  ◎ USB 長度受限制

5V_EN開關 (jumper)

要斷開

使用情況:  ◎無線遙控使用 

優缺點:  ◎以圓形接頭當開關 ◎用電池車速較快   ◎電池容量受限制

圓形接頭可接上Arduino外部電

Page 40: Arduino 、 S4A 與藍牙遙控車

3-6 組裝遙控車

一、拆除Arduino 杜邦線及擴充板,並將 Arduino固定於上層板。

二、將 sensor board擴充板安裝於 Arduino上。

三、在車體底座加上四個銅柱。

四、鎖好上層板並連接好杜邦線

五、以 S4A 透過 USB 線控方式測試車子

Page 41: Arduino 、 S4A 與藍牙遙控車

3-7 藍牙模組設定與安裝 (1)

藍牙模組的預設速率是 9600 bps ,但 S4A 的通信速率是定在 38400 bps 。

作法一: USB to TTL轉換器 ( 需另購 )

作法二:把 ArduinoUNO當成 USB to TTL轉換器 ( 以下說明採作法二 )

如何改變藍牙模組傳輸速率?

Page 42: Arduino 、 S4A 與藍牙遙控車

3-7 藍牙模組設定與安裝 (2)以作法二為例:把 Arduino當成 USB to TTL轉換器,在 pc 上用序列通訊軟體作設定

接線: 一、接一條線在 Arduino的 GND與 RESET ,讓   Arduino停留在 reset mode 。 二、將藍牙模組接上 Arduino( 針腳依上頁圖片說明, 注意 VCC與 GND不能接錯,不然會損壞模組(若 不成功,可試著將 TX與 RX交換看看)。 三、將 Arduino 接上 PC 。

用 AT 命令更改藍牙模組設定: 一、使用 ArduinoIDE的 Serial Monitor 下命令,速率先設為 9600 bps  (也可用範例檔案中的 AccessPort 軟體)。 二、連接後,先輸入 AT ,若成功會收到 OK 。 三、更改藍牙名稱的指令 AT+NAMExxxxxx( xxxxxx 為自定名稱)。 四、更改藍牙速率的指令 AT+BAUD6( 會設成 38400 bps) 。 五、 Serial斷線,移除 Arduino ,即完成藍牙模組設定,建議將新設定 以小貼紙貼在藍牙模組上。下次要再連接,速率要改 38400

Page 43: Arduino 、 S4A 與藍牙遙控車

3-7 藍牙模組設定與安裝 (3)

藍牙模組接上 Sensor Board擴充板

◎接擴充板上 bluetooth 的下面 4 個針腳 (不是 + 的那邊 ) ,注意 Vcc 的線在最下方

◎此接法會佔用 Arduino的 D0與 D1來連接藍牙模組

遙控車接上藍牙情形

固定於上方以免拖到地面

Page 44: Arduino 、 S4A 與藍牙遙控車

3-8 PC 端藍牙配對並用 S4A 連結 (1)實作前注意事項:◎確認藍牙模組已更改速率 (38400 bps) 及名稱◎確認藍牙模組已正確接上 Arduino 並等待連結 (紅色 LED 會一直閃爍 )◎確認 PC 端有藍牙接受器,而且有正確驅動並安裝配對設定程式

( 以下以 win7 環境為例 ) 首先到控制台新增 Bluetooth 裝置

Page 45: Arduino 、 S4A 與藍牙遙控車

3-8 PC 端藍牙配對並用 S4A 連結 (2)

選新增裝置Win7 會找到藍牙模組名稱

選擇「輸入裝置的配對碼」

Page 46: Arduino 、 S4A 與藍牙遙控車

3-8 PC 端藍牙配對並用 S4A 連結 (3)

輸入裝置的配對碼 1234( 常見的預設配對碼為 0000或 1234)

配對完成後,右鍵進入裝置的內容

Page 47: Arduino 、 S4A 與藍牙遙控車

3-8 PC 端藍牙配對並用 S4A 連結 (4)

配對完成後,右鍵進入裝置的內容,在硬體標籤處可查到藍牙模組的 com port號碼

( 以上藍牙配對只有在第一次時,才要做配對設定 )

開啟 S4A ,以之前的方法連結Arduino, 但 com port變為藍牙的號碼 ( 找到後,藍牙的紅 LED 會固定亮著 )

( 特別注意,在拔掉 Arduino 電源或關閉藍牙時,一定要先在 S4A 裡關閉與 Arduino 的連結,不然會讓 S4A當機 )若以上都完成,就可以用前面的 S4A 程式來遙控車子了。

Page 48: Arduino 、 S4A 與藍牙遙控車

3-9 S4A 藍牙遙控車

S4A 藍牙遙控車注意事項:

1 、在拔掉 Arduino 電源或關閉藍牙時,一定要先在 S4A 裡關閉與Arduino 的連結,不然會讓 S4A當機,造成 S4A 程式無法存檔。

2 、若要恢復成線控模式,記得要將藍牙模組拔掉 ( 也可只拔掉 Vcc 接腳 ) ,,不然 USB 線會無法傳資料 (因為USB 與藍牙模組都 是用 D0與 D1 傳送接收資料,故不能兩者同時接上 )

若以上動作都成功,就可以用前面的 S4A 程式來無線遙控

Page 49: Arduino 、 S4A 與藍牙遙控車

3-10 Android S4A 藍牙遙控車 (1)

開啟 Android 端藍牙,並搜尋裝置

找到藍牙模組,並輸入配對碼

完成配對 (配對一次後,不需再配對 )

Page 50: Arduino 、 S4A 與藍牙遙控車

3-10 Android S4A 藍牙遙控車 (2)

安裝遙控程式 S4ARobotCar(此程式以 app inventor2 寫成, Arduino 接線要同本次研習才有作用 )

執行並連結藍牙裝置

藍牙模組燈號定住後,就可使用遙控功能

Page 51: Arduino 、 S4A 與藍牙遙控車

3-11 S4A 藍牙遙控車概念探討

數位輸出 D10、 11、 12、

13

序列通信 (Serial)傳送資料及控制 Arduino(每 75ms 傳送 1次 )速度 38400BPS

Arduino + SensorBoard( 內有 S4A 韌體 )

S4A 程式 (PC端 )

D0(Rx)、D1(Tx)

S4ARobotCar app (android端 )

針腳In1、 2、 3、

4

馬達模組 直流馬達

Page 52: Arduino 、 S4A 與藍牙遙控車

• 書籍:超圖解 Arduino 互動設計入門 ( 旗標 )• 臺中市數位教學平台-科技教育開放硬體• SmetA科技玩創作(苗栗縣 )

• Bluetooth module configuration(cooper maa)• Arduino as an USB to TTL adapter(cooper maa)• 使用 L298N 模組控制直流馬達 (cooper maa)

3-12 延伸閱讀