Arduino、S4A與藍牙遙控車研習簡報檔

Download Report

Transcript Arduino、S4A與藍牙遙控車研習簡報檔

Arduino、S4A與藍牙遙控車
南門國小資訊組 張文宏
[email protected]
1、Arduino簡介與序列通信
1-1 Arduino環境建置(1)
(以Windows環境為例)
• 下載開發環境:至官網
(arduino.cc),點選download
後,下載ArduinoIDE (目前
1.5.6r2 beta)
• 安裝開發環境:有2種下載
檔,如下載installer檔,直
接執行;如為zip檔,直接
解壓縮後,進入資料夾找
執行檔即可使用。
(可於研習下載檔案直接使用zip檔)
1-1 Arduino環境建置(2)
• 驅動arduino板:電腦連接
arduino(若需驅動程式,位
置在arduinoIDE安裝資料夾
內drivers資料夾)
• 找出板子的COM port號碼:
於裝置管理員找到「連接
埠」,內有Arduino Uno的
號碼
1-2 ArduinoIDE簡介(1)
偏好設定
設定語言
及設定字型大小
(均需重開程式才生效)
1-2 ArduinoIDE簡介(2)
設定Arduino
板子類型
設定Arduino板子
的com port號碼
(要與裝置管理員內的相同)
1-3 LED閃爍程式(1)
開啟內建
範例程式
Blink
1-3 LED閃爍程式(2)
檢驗程式並上傳
至Arduino
訊息區
(回報成功或錯誤訊息)
上傳後檢查pin13旁的
LED燈是否閃爍,
也可以加一個LED如下圖
LED長針腳
正極,接pin13;
短針腳負極接GND
1-3 LED閃爍程式(3)
函式setup
為初始設定
(只執行一次)
(設定pin13為數位輸出)
函式loop為無窮迴圈
digitalWrite(led,HIGH);會亮燈
digitalWrite(led,LOW);會暗燈
Delay(1000);會等待1000毫秒(即1秒)
1-4 Arduino微電腦板簡介(以UNO為例)
傳送、接收LED
數位輸出/輸入埠D0~D13(有PWM ~可兼類比輸出)
USB序列埠
兼電源輸入
5V、500mA
(type B)
Reset 鈕
ATmega328
處理器
(含記憶體)
7V ~ 12V
電源輸入
(DC接頭)
5V代表正電
GND代表負電
類比輸入埠(A0~A5)
1-4 Arduino微電腦板簡介(電壓與感應值)
電
壓
值
5V
2.5V
0
數
位
輸
入
數
位
輸
出
1(HIGH)
1(HIGH)
0(LOW)
類
比
輸
入
類
比
輸
出
1023
255
約512
約128
0
0
(PWM~腳位)
1-5 韌體(firmware)
維基百科定義
 韌體(firmware)…是一種嵌入在硬體裝置中的軟體。
 通常它是位於特殊應用積體電路(ASIC)或可程式邏輯裝
置(PLD)之中的快閃記憶體或EEPROM或PROM裡,有的
可以讓使用者更新。
2、透過USB線
以序列(Serial)通訊
傳送韌體
1、以ArduinoIDE
編寫韌體程式上傳
3、韌體儲存於
Arduino的Atmega
內的記憶體
1-6 線材介紹(1)
杜邦單排母座
(一公頭一母頭)
大小麵包板
(可接公頭線或針
腳)
麵包板跳線
(雙公頭)
1-6 線材介紹(2)
杜邦線
(雙母頭)
鱷魚夾
杜邦線
(公母頭)
杜邦接頭
1-7 LED閃爍(序列通信控制)
• 請開啟「研習範例程式diy1_7BlinkBySerial」
• 將程式上傳至Arduino
• 開序列埠監視螢幕 (Serial Monitor)
PC端傳送
PC端接收
• 由Serial Monitor傳送命令控制Arduino
(0是關,1是開,2是連續閃爍)
PC端速率
1-8LED閃爍程式(序列通信控制)—概念探討
數位輸出 D13
燈光閃爍韌體
序列通信(Serial)
傳送ascii字元
速度9600BPS
序列通信程式
(ArduinoIDE
Serial Monitor)
1-9 延伸閱讀
•
•
•
•
•
書籍:超圖解 Arduino 互動設計入門(旗標)
Youtube: Arduino入門套件中文字幕教學
Arduino官網語法參考網頁(英文)
葉難:Arduino簡介
CooperMaa:Arduino 入門教學
2、Scratch for Arauino (S4A)
2-1 S4A環境建置(1)
• S4A是一個Scratch的修改版本,提供額外積木以支援
Arduino,檔案與原Scratch不相容。
• 至S4A官網下載(網址s4a.cat),有兩個要下載,一個是S4A
程式(pc用)及另一個是S4A韌體(arduino用)
S4A程式(PC用)
S4A韌體(Arduino用)
2-1 S4A環境建置(2)
• S4A程式:於PC端安裝
• S4A韌體:以ArduinoIDE開啟S4A韌體(S4AFirmware15.ino),
並上傳至Arduino
• 接線測試:用USB線連接電腦與Arduino,若看到以下畫面(
有感應器數字會跳動),即成功。
連結Arduino的com port號碼
類比輸入的值會一直跳動
(因有浮動訊號)
2-2 燈光閃爍(S4A版本)
S4A程式與S4A韌體的
連線關閉
S4A程式與S4A韌體的連結
(用search board或選擇序列埠均可)
用左方積木即可達到控制燈光閃
爍的功能
2-3 S4A概念探討(1)
數位輸出 D13
S4A韌體
序列通信(Serial)
傳送資料及控制Arduino(每75ms傳送1次)
速度38400BPS
S4A程式(PC端)
2-3 S4A概念探討(2)
找出S4A預設接腳、Arduino、S4A擴充板的對應位置
註:上圖摘自臺中市數位教學平台
課程: S4A介紹與入門
2-4 S4A 擴充板(S4A sensor board)(1)
安裝與拆下時
注意兩邊力量要平均
不然針腳會歪掉
• 優點
免去麵包板
免插線
整合7個元件
適合初學者
• 缺點
腳位功能
被限制
2-4 S4A 擴充板(S4A sensor board)(2)
上圖摘自苗栗縣政府教育處資訊中心
SmetA科技玩創作網站
2-5 S4A小專案(RGB LED小小燈光師)(1)
2-5 S4A小專案(RGB LED小小燈光師)(2)
• S4A小小燈光師程式位於研習範例檔案
2-6 延伸閱讀
•
•
•
•
•
書籍:程式設計邏輯訓練:使用Scratch (松崗)
臺中市數位教學平台-科技教育開放硬體
SmetA科技玩創作(苗栗縣)
S4A小專案:小小燈光師
youtube:人體樂器(S4A實作makey)
3、藍牙遙控車
3-0 遙控車套件材料介紹(1)
ArduinoUNO
杜邦線
Sensor Shield 5.0
擴充板
超音波模組
(不使用)
藍牙模組
車體層板
銅柱、鏍絲
18650鋰充
電池
3-0 遙控車套件材料介紹(1)
L298N馬達模組
車體底座
3組紅外線開關
(不使用)
馬達、車輪、
減速齒輪組
18650電池盒
萬向輪
3-1 Sensor Shield V5.0擴充板(1)
安裝與拆下時
注意兩邊力量要平均
不然針腳會歪掉
G:GND 接地 負電
V:VCC 5V 正電
S:SIGNAL
訊號
找出Arduino與
Sensor Shield V5.0擴充板
的對應位置
3-1 Sensor Shield V5.0擴充板(2)
• 優點
免去麵包板(多組V和G)
使用杜邦線(母頭)
可彈性使用
預留模組位置
• 缺點
複雜
要有Arduino
腳位基本認知
3-2 直流DC馬達模組概念
正極
若正負極反接會如何?
負極
L298N雙H橋電路直流馬達模組
(控制2組直流馬達正反轉)
H橋電路可控制直流馬達正反轉
3-3 L298N馬達模組控制右馬達實作(1)
ENA:接擴充板V
IN1:接擴充板D10
IN2:接擴充板D11
右馬達紅黑線無固定,
先試接,相反再交換
接線示意圖
VMS:接電池盒紅線
GND:接電池盒黑線
GND:接擴充板G
+5V:接擴充板V
先調整右輪
馬達要依下方表格動作
(若不行,馬達紅黑電線要交換)
S4A控制積木
IN1
(D10)
IN2
(D11)
動作
on
off
馬達前進
off
on
馬達後退
off
off
馬達停止
3-3 L298N馬達模組控制右馬達實作(2)
實作圖
右馬達及電池盒接線
站立車體以測試右馬達
馬達模組與Arduino接線
3-4 L298N馬達模組控制左馬達實作
接線示意圖
IN3:接擴充板D12
IN4:接擴充板D13
ENB:接擴充板V
S4A控制積木
可試著做出可用上下左右鍵控制車子
的程式,並建議要存檔供後面使用
左馬達紅黑線無固定,
先試接,相反再交換
先調整右輪
馬達要依下方表格動作
(若不行,馬達紅黑電線要交換)
IN3
(D12)
IN4
(D13)
動作
on
off
馬達前進
off
on
馬達後退
off
off
馬達停止
3-5 遙控車供電(1)
Arduino端電源
USB電源輸入
5V
可接Arduino
外部 電源
7V ~ 12V
外部電源輸入
5V_EN
開關(jumper)
18650電池盒電源
(3.7V x 2 = 7.4V)
接馬達模組
供應馬達電力
左端電源
右端電源
情況一:
若5V_EN開關相連,
左端與右端電源會相連
情況二:
若5V_EN開關斷開,
左端與右端電源獨立
3-5 遙控車供電(2)
5V_EN
開關(jumper)
要連接
線控模式
供電建議
使用情況:
◎組裝測試時使用
◎電池沒電時使用
優缺點:
◎可免用電池
◎以USB線當開關
◎USB長度受限制
遙控模式
供電建議
5V_EN
開關(jumper)
要斷開
圓形接頭可接上
Arduino外部電源
使用情況:
◎無線遙控使用
優缺點:
◎以圓形接頭當開關
◎用電池車速較快
◎電池容量受限制
3-6 組裝遙控車
一、拆除
Arduino杜邦線
及擴充板,並
將Arduino固定
於上層板。
三、在車體底
座加上四個銅
柱。
二、將sensor
board擴充板安
裝於Arduino上。
四、鎖好上層
板並連接好杜
邦線
五、以S4A透
過USB線控方
式測試車子
3-7 藍牙模組設定與安裝(1)
藍牙模組的預設速率是9600
bps,但S4A的通信速率是定
在38400 bps。
如何改變藍牙模組傳輸速率?
作法一:USB to TTL轉換器(需另購)
作法二:把ArduinoUNO當成
USB to TTL轉換器(以下說明採作法二)
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
3-7 藍牙模組設定與安裝(3)
藍牙模組接上Sensor Board擴充板
◎接擴充板上bluetooth的下面4個針腳
(不是+的那邊),注意Vcc的線在最下方
◎此接法會佔用Arduino的D0與D1來連
接藍牙模組
遙控車
接上藍牙情形
固定於上方
以免拖到地面
3-8 PC端藍牙配對並用S4A連結(1)
實作前注意事項:
◎確認藍牙模組已更改速率(38400 bps)及名稱
◎確認藍牙模組已正確接上Arduino並等待連結(紅色LED會一直閃爍)
◎確認PC端有藍牙接受器,而且有正確驅動並安裝配對設定程式
(以下以win7環境為例)
首先到控制台新增Bluetooth裝置
3-8 PC端藍牙配對並用S4A連結(2)
選新增裝置
Win7會找到藍牙模組名稱
選擇
「輸入裝置的配對碼」
3-8 PC端藍牙配對並用S4A連結(3)
輸入裝置的配對碼1234
(常見的預設配對碼為0000
或1234)
配對完成後,右鍵進入
裝置的內容
3-8 PC端藍牙配對並用S4A連結(4)
配對完成後,右鍵進入
裝置的內容,在硬體標籤處
可查到藍牙模組的com port
號碼
(以上藍牙配對只有在第一
次時,才要做配對設定)
開啟S4A,以之前的方法連結Arduino,
但com port變為藍牙的號碼(找到後,
藍牙的紅LED會固定亮著)
(特別注意,在拔掉Arduino電源或關
閉藍牙時,一定要先在S4A裡關閉與
Arduino的連結,不然會讓S4A當機)
若以上都完成,就可以用前面的S4A程式來遙控車子了。
3-9 S4A 藍牙遙控車
若以上動作都成功,就可以用前面的S4A程式來無線遙控
S4A藍牙遙控車注意事項:
1、在拔掉Arduino電源或關閉藍牙時,
一定要先在S4A裡關閉與Arduino的連
結,不然會讓S4A當機,造成S4A程
式無法存檔。
2、若要恢復成線控模式,記得要將
藍牙模組拔掉(也可只拔掉Vcc接腳),
,不然USB線會無法傳資料(因為USB
與藍牙模組都 是用D0與D1傳送接收
資料,故不能兩者同時接上)
3-10 Android S4A藍牙遙控車(1)
開啟Android端藍牙,並搜尋裝置
找到藍牙模組,並輸入配對碼
完成配對(配對一次後,不需再配對)
3-10 Android S4A藍牙遙控車(2)
安裝遙控程式S4ARobotCar
(此程式以app inventor2寫成,
Arduino接線要同本次研習才有作用)
執行並連結藍牙裝置
藍牙模組燈號定住後,就可使用遙控功能
3-11 S4A藍牙遙控車概念探討
針腳
In1、2、3、4
數位輸出
D10、11、12、13
Arduino +
SensorBoard
(內有S4A韌體)
序列通信(Serial)
傳送資料及控制Arduino
(每75ms傳送1次)
速度38400BPS
馬達模組
直流馬達
S4ARobotCar app
(android端)
S4A程式(PC端)
3-12 延伸閱讀
•
•
•
•
•
•
書籍:超圖解 Arduino 互動設計入門(旗標)
臺中市數位教學平台-科技教育開放硬體
SmetA科技玩創作(苗栗縣)
Bluetooth module configuration(cooper maa)
Arduino as an USB to TTL adapter(cooper maa)
使用 L298N 模組控制直流馬達(cooper maa)