第13單元:機器人走出去(六)�自走車感應器(三)顏色感應器(事件)
SPIKE ROBOTICS
課程內容
中華機器人科技教育學會
2
課程01
If Then 對決 Color Sensor
顏色感測器原理
向物體照射具有RGB成分的光,反射光的顏色成分會隨物體的顏色發生改變。例如,紅色物體的反射光成分為紅,黃色物體為紅和綠、白色則包含紅、綠、藍全部成分。
參考資料來源: https://www.rohm.com.tw/electronics-basics/sensors/sensor_what7
顏色感測器功能
感測物體表面顏色,可感測的顏色如下
感測物體表面反射率 (0%~100%)
白色反射率 > 黑色反射率
0~100% (暗~亮)
紅紫色、藍色、中藍
綠色、黃色、紅色
白色、黑色、沒顏色
課程01:If Then 對決 Color Sensor
中華機器人科技教育學會
6
If Then
課程01:學習目的
中華機器人科技教育學會
7
讓我們來教機器人,如何判斷積木的顏色吧!
機器人學會後,要讓他告訴我們看到什麼顏色喔~~~
?顏色?
If Then
課程01:動作影片-紅色
中華機器人科技教育學會
8
If Then
亮紅燈
放紅色積木
顯示 R
課程01:車體組裝
中華機器人科技教育學會
9
If Then
十分鐘小車-spike-顏感檢測大積木-2022-04-15.PDF
組 裝
一台車子
01
加 上
顏色感測器
02
朝向 下方
距離地面高度
約一個大積木
左邊馬達
插在 A 孔
右邊馬達
插在 B 孔
顏色感測器
插在 C 孔
課程01:車體組裝
中華機器人科技教育學會
10
If Then
顏色感測器
插 C 孔
左邊馬達
插 A 孔
右邊馬達
插 B 孔
課程01:程式步驟
中華機器人科技教育學會
11
If Then
①
②
按住不放,
拉過來
建立新程式
課程01:程式步驟
中華機器人科技教育學會
12
③
④
按住不放,拉過來
If Then
課程01:程式步驟
中華機器人科技教育學會
13
⑤
按住不放,拉過來
If Then
課程01:程式步驟
中華機器人科技教育學會
14
If Then
⑦
按住不放,拉過來
⑥
課程01:程式步驟
中華機器人科技教育學會
15
If Then
⑧
選擇顏色感測器
安裝的孔位
課程01:程式步驟
中華機器人科技教育學會
16
⑨
選擇要判斷的顏色
先選「紅色」
If Then
紅色
沒有顏色
課程01:程式步驟
中華機器人科技教育學會
17
判斷條件的說明:
插在C孔位 的顏色感測器,感測到的顏色,是否為「紅色」?
If Then
判斷正確:代表顏色感測器目前有感測到「紅色」
判斷錯誤:代表目前沒有感測到紅色,有可能感測到藍色、綠色…等,或是沒有感測到任何顏色
課程01:程式步驟
中華機器人科技教育學會
18
⑪
按住不放,拉過來
⑩
改成「R」
If Then
改成「紅色」
課程01:程式步驟
中華機器人科技教育學會
19
點選,可改變顏色
If Then
我是
Center Button
Color Sensor(顏色感測器)的狀態
中華機器人科技教育學會
20
If Then
主控面板:顏色感測器
中華機器人科技教育學會
21
點選感測器,可以變更顯示的模式
顏色模式
反射光模式
If Then
顏色感測器的規格
If Then
課程01:程式說明
中華機器人科技教育學會
23
條件錯誤:執行後續設定的程式,不執行「if then」內的程式
條件正確:執行此區塊內的程式
Center Button
If Then
M1
判斷的條件
『判斷的條件』,是一種:是非題
中華機器人科技教育學會
24
資料來源:新北市板橋區 沙崙國民小學 106 學年度第一學期社會科https://exam.naer.edu.tw/base/otc/testStoreFile/10016275a80ff2711416.pdf
If Then說明
If Then:基本介紹
中華機器人科技教育學會
25
內部區塊
條件正確:執行內部區塊內的指令
條件錯誤:不進行任何動作
執行之後的程式
判斷的條件
If Then說明
生活中的『條件』
中華機器人科技教育學會
26
If Then說明
If Then:生活中的『條件』
中華機器人科技教育學會
27
室內溫度>28度
開冷氣
空氣品質=紅色
開冷氣
不過,好像沒有 「關冷氣」 的條件………………
If Then說明
If Then:生活中的『條件』
中華機器人科技教育學會
28
媽媽說:考試成績有超過90分,帶你去吃牛排!
考試成績 > 90分
吃牛排
變成
程式
小史:
數學考試成績:95 分
自然考試成績:65 分
小派:
數學考試成績:80 分
自然考試成績:65 分
小克:
數學考試成績: 5 分
體育考試成績:100 分
根據程式的設定
請問
誰可以去吃牛排?
小克的媽媽,真的會帶他去吃牛排嗎?
為什麼會發生這種狀況
條件描述不清楚
If Then說明
課程01:程式說明
中華機器人科技教育學會
29
If Then
⑤ 錯誤:顏色不是「紅色」
不進行任何動作,執行後續的程式�本範例沒有撰寫任何動作
①
① 當程式開始執行
②
③
④
② 重複執行 forever
③ if:判斷顏色是否為「紅色」
④ 正確:顏色=紅色
then:
Center Button:亮紅燈
M1區域:顯示「R」圖案
⑤
課程01:程式動作測試
中華機器人科技教育學會
30
R
If Then
課程01:程式動作測試
中華機器人科技教育學會
31
?
?
If Then
課程01:動作影片
中華機器人科技教育學會
32
If Then
亮紅燈
放紅色積木
顯示 R
畫面不變
放藍色積木
畫面不變
放綠色積木
課程01:自我挑戰01
中華機器人科技教育學會
33
我已經學會判斷紅色了
If Then
挑戰01
請教我判斷其他的顏色吧..
課程01:自我挑戰01
中華機器人科技教育學會
34
G
B
Y
If Then
挑戰01
課程01:挑戰01-動作影片
中華機器人科技教育學會
35
If Then
挑戰01
亮紅燈
放紅色積木
顯示 R
亮綠燈
放綠色積木
顯示 G
亮黃燈
放黃色積木
顯示 Y
亮藍燈
放藍色積木
顯示 B
畫面不變
沒有放積木
課程01:自我挑戰01
中華機器人科技教育學會
36
亮紅燈
放紅色積木
顯示 R
亮綠燈
放綠色積木
顯示 G
將程式進行結合
If Then
挑戰01
課程01:自我挑戰01
中華機器人科技教育學會
37
滑鼠按住不放,拉過來
If Then
挑戰01
到達正確位置
滑鼠放開完成
重點:要放在上一個If Then判斷式的結尾後面
課程01:自我挑戰01
中華機器人科技教育學會
38
亮黃燈
放黃色積木
顯示 Y
亮藍燈
放藍色積木
顯示 B
If Then
挑戰01
繼續完成藍色積木、黃色積木的程式,進行結合
課程01:自我挑戰01
中華機器人科技教育學會
39
解答說明
放大
If Then
挑戰01
課程01:挑戰01-學生常犯錯誤1
中華機器人科技教育學會
40
錯誤
判斷條件的程式,只會在程式開始執行的那一瞬間,執行一次
程式執行後,一直反覆執行判斷條件的程式
正確
仔細觀察,左右兩個程式有什麼不一樣嗎?
If Then
挑戰01
課程01:挑戰01-學生常犯錯誤2
中華機器人科技教育學會
41
錯誤
正確
錯誤:
第二個「if判斷式」,放在第一個「if判斷式」裡面
If Then
挑戰01
課程01:挑戰01-學生常犯錯誤2
中華機器人科技教育學會
42
正確
第一個「if判斷式」的開頭
第一個「if判斷式」的結尾
第二個「if判斷式」要放在第一個「if判斷式」的結尾後面
被塞進去第一個「if判斷式」裡面
錯誤
If Then
挑戰01
課程01:自我挑戰02
中華機器人科技教育學會
43
沒有出現任何顏色時,
If Then
挑戰01
要怎麼辦ㄟ ??
課程01:自我挑戰02
中華機器人科技教育學會
44
If Then
挑戰02
課程01:挑戰02-動作比較
中華機器人科技教育學會
45
亮白燈
沒有放積木
顯示 X
畫面不變
沒有放積木
挑戰01
程式
改變成…
播放/
/暫停
If Then
挑戰02
課程01:自我挑戰02
中華機器人科技教育學會
46
沒有顏色
增加一個「if then」
來判斷沒有感測到顏色時的動作
M1顯示「X」
If Then
挑戰02
課程01:自我挑戰02
中華機器人科技教育學會
47
放大
解答說明
If Then
挑戰02
課程01:挑戰02-動作影片
中華機器人科技教育學會
48
亮紅燈
放紅色積木
顯示 R
亮綠燈
放綠色積木
顯示 G
亮黃燈
放黃色積木
顯示 Y
亮藍燈
放藍色積木
顯示 B
亮白燈
沒有放積木
顯示 X
If Then
挑戰02
課程02
If Then Else 對決 Color Sensor
黑 線
課程02:If Then Else對決Color Sensor
中華機器人科技教育學會
50
If Then Else
前進
電火布
課程02:動作說明
中華機器人科技教育學會
51
電火布
電火布
If Then Else
課程02:動作影片
中華機器人科技教育學會
52
If Then Else
車子停止
感測到黑線
車子向前走
課程02:車體組裝
中華機器人科技教育學會
53
組 裝
一台車子
01
加 上
顏色感測器
02
朝向 下方
距離地面高度
約一個橫桿積木
左邊馬達
插在 A 孔
右邊馬達
插在 B 孔
顏色感測器
插在 C 孔
十分鐘小車-spike-只有顏色感測器-2022-04-15.pdf
If Then Else
課程02:車體組裝
中華機器人科技教育學會
54
顏色感測器
插 C 孔
左邊馬達
插 A 孔
右邊馬達
插 B 孔
If Then Else
課程02:程式步驟
中華機器人科技教育學會
55
①
②
按住不放,
拉過來
If Then Else
建立新程式
課程02:程式步驟
中華機器人科技教育學會
56
②
③
按住不放,拉過來
改成「15」
If Then Else
課程02:程式步驟
中華機器人科技教育學會
57
沒有設定移動速度的程式
有設定移動速度的程式
If Then Else
課程02:程式步驟
中華機器人科技教育學會
58
左邊馬達
右邊馬達
左邊馬達:A孔
右邊馬達:B孔
前進方向
If Then Else
課程02:程式步驟
中華機器人科技教育學會
59
④
⑤
按住不放,拉過來
If Then Else
課程02:程式步驟
中華機器人科技教育學會
60
⑥
按住不放,拉進去forever裡面
If Then Else
課程02:程式步驟
中華機器人科技教育學會
61
⑧
按住不放,
拉過來
⑦
改成「黑色」
If Then Else
課程02:程式步驟
中華機器人科技教育學會
62
⑨
選擇顏色感測器
安裝的孔位
選擇黑色
If Then Else
課程02:程式步驟
中華機器人科技教育學會
63
判斷條件:
插在C孔位 的顏色感測器,感測到的顏色,是否為「黑色」?
判斷正確:代表顏色感測器目前有感測到「黑色」
判斷錯誤:代表目前沒有感測到黑色,有可能感測到藍色、綠色…等,或是沒有感測到任何顏色
If Then Else
課程02:程式步驟
中華機器人科技教育學會
64
⑪
按住不放,拉過來
⑩
If Then Else
課程02:程式說明
中華機器人科技教育學會
65
判斷的條件
條件錯誤:執行此區塊內的程式
條件正確:執行此區塊內的程式
If Then Else
If Then Else:基本介紹
中華機器人科技教育學會
66
條件正確:執行上方區塊內的程式
條件錯誤:執行下方區塊內的程式
上方區塊
下方區塊
判斷的條件
If Then Else說明
If Then 與 If Then Else 的差異
中華機器人科技教育學會
67
內部區塊
上方區塊
下方區塊
條件正確
條件錯誤
沒有設定條件錯誤時,
應該做什麼事情
當作沒有這件事情發生過
默默的做之後指定的數情
If Then Else說明
If Then Else:範例說明
中華機器人科技教育學會
68
我的身高 > 140 公分?
右 手 舉起來
右 手 放下來
身高大於140公分
身高等於、小於140公分
If Then Else說明
If Then Else:範例說明
中華機器人科技教育學會
69
右 手 舉起來
右 手 放下來
我的身高 > 140 公分?
If Then Else說明
If Then Else:範例說明
中華機器人科技教育學會
70
今天早上有 吃 早餐嗎?
站 起 來
坐 下
If Then Else說明
If Then Else:範例說明
中華機器人科技教育學會
71
今天早上有 吃 早餐嗎?
站 起 來
坐 下
If Then Else說明
課程02:程式說明
中華機器人科技教育學會
72
⑦ 錯誤:顏色≠黑色
else:向前移動↑
①
① 當程式開始執行
②
③
④
③ 設定移動馬達為:A+B
⑤ if:判斷顏色是否為「黑色」?
⑥ 正確:顏色=黑色
then:停止移動
⑤
⑥
⑦
② 設定馬達移動速度:15%
④ 重複執行
If Then Else
課程02:流程圖
中華機器人科技教育學會
73
顏色感測器
顏色=黑色
向前移動
停止移動
∞
√
X
開始
結束
forever
If Then Else
課程02:學生常犯錯誤1
中華機器人科技教育學會
74
錯誤
正確
判斷條件的程式,只會在程式開始執行的那一瞬間,執行一次
程式執行後,一直反覆執行判斷條件的程式
If Then Else
課程02:學生常犯錯誤2
中華機器人科技教育學會
75
錯誤
正確
走完10cm後才會執行其他程式
If Then Else
課程02:學生常犯錯誤3
中華機器人科技教育學會
76
左邊馬達:C孔
右邊馬達:D孔
C
D
設定移動馬達為:A+B
代表:左邊的馬達為A、右邊的馬達為B
但是學生實際的車子,馬達是連接在C、D
或是左邊馬達接B、右邊馬達接A
If Then Else
課程02:另一種寫法
中華機器人科技教育學會
77
這種寫法,能夠完成「課程02」的動作要求
但為了與後續課程的程式進行連結,不鼓勵
If Then Else
課程02:車體組裝問題
中華機器人科技教育學會
78
十分鐘小車-spike-顏感檢測大積木-2022-04-15.PDF
遊戲時間:相撲圈
中華機器人科技教育學會
79
相撲車
相撲車
相撲車:動作說明
中華機器人科技教育學會
81
車子放在黑色圓圈內
執行程式
相撲車
相撲車:動作說明
中華機器人科技教育學會
82
車子向前走
當遇到黑線時,車子停止
相撲車
相撲車:動作說明
中華機器人科技教育學會
83
車子後退某個距離
後退距離由學生自行測試
相撲車
相撲車:動作說明
中華機器人科技教育學會
84
車子旋轉某個角度
旋轉角度由學生自行測試
相撲車
相撲車:動作說明
中華機器人科技教育學會
85
車子向前走
當遇到黑線時,車子停止
相撲車
相撲車:動作說明
中華機器人科技教育學會
86
車子後退某個距離
相撲車
相撲車:動作說明
中華機器人科技教育學會
87
車子旋轉某個角度
重複這些動作
相撲車
相撲車:動作影片
中華機器人科技教育學會
88
相撲車
正常速度
縮時播放
相撲車:車體組裝
中華機器人科技教育學會
89
組 裝
一台車子
01
加 上
顏色感測器
02
朝向 下方
距離地面高度
約一個橫桿積木
左邊馬達
插在 A 孔
右邊馬達
插在 B 孔
顏色感測器
插在 C 孔
十分鐘小車-spike-只有顏色感測器-2022-04-15.pdf
相撲車
相撲車:流程圖
中華機器人科技教育學會
90
顏色感測器
顏色=黑色
停止移動
∞
√
X
開始
for
ever
向前移動
後退
某個距離
旋轉
某個角度
相撲車
相撲車:程式參考
中華機器人科技教育學會
91
① 停止移動
② 後退:8cm
③ 順時針旋轉:12cm
④ 向前移動↑
①
②
③
④
相撲車
相撲車+超音波:程式參考
中華機器人科技教育學會
92
超音波偵測
後退:10cm
逆時針旋轉
向前移動↑
相撲車
顏色偵測
相撲車:車體組裝問題
中華機器人科技教育學會
93
十分鐘小車-spike-顏感檢測大積木-2022-04-15.PDF
中華機器人科技教育學會
94
課後分享
我學到了什麼…………
中華機器人科技教育學會
95
我會使用顏色感測器,判斷不同的顏色嗎?
01
我會使用 If Then Else 的指令,編寫程式嗎?
02
舉例生活中的「條件」,正確與錯誤要做什麼事情?
03
讓車子一直在相撲圈內移動,有什麼秘訣嗎?
04
第14單元 機器人走出去
顏色感應器(判斷) 循線
ROBOTICS
學習目標
課程內容
循線機器人與生活上的應用
參考影片網址:
參考影片網址:
循線機器人與生活上的應用
顏色感測器功能
感測物體表面顏色,可感測的顏色如下
感測物體表面反射率 (0%~100%)
白色反射率 > 黑色反射率
0~100% (暗~亮)
紅紫色、藍色、中藍
綠色、黃色、紅色
白色、黑色、沒顏色
那些功能適合循線?
顏色感測器循線邏輯
註:上圖為顏色感測器照射光擺放在黑線右邊
單顏感循線線形差異
那種循線線形最好? 為什麼?
B
A
C
D
循線任務示意圖
循線小車延著黑線循線至終點紅線即停止
補充:SPIKE 程式設定 – 新增擴充模塊
Spike右下角新增擴充模塊
勾選 更多運動模塊
回程式主畫面找尋更多模塊
循線方法 - 1:感測顏色
感測白色:循線小車往左偏
感測黑色:循線小車往右偏
註:顏色感測器照射光擺放在黑線右邊
設定馬達連接埠
流程圖
程式參考
註:顏色感測器照射光擺放在黑線右邊
開始
顏色白色
左馬達功率:20
右馬達功率:30
是
是
否
顏色黑色
左馬達功率:30
右馬達功率:20
顏色紅色
結束
是
否
為擴充模塊,設定請點我!
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
迴圈停止條件為偵測紅色
判斷式:顏感偵到黑色時
馬達向右轉
馬達向左轉
判斷式:顏感偵到白色時
馬達停止
程式結束
左右馬達功率大小對速度及擺動幅度有何影響?
試著調整左右馬達功率到的最佳比例
循線方法 - 2: 感測反射光強度(基礎)
白色反射強度高
黑色反射強度低
~100%
~50%
~0%
反射強度示意圖
高
中
低
(反射強度受外界光線及物體表面反射影響數據會有差異)
A. 量測白色反射強度
B. 量測黑線反射強度
基本型:
(黑色反射強度+白色反射強度)/2
例. (17% + 98%) / 2 = 58 %
計算反射光強度判斷值
58%
>58%
<58%
流程圖
程式參考
註:顏色感測器照射光擺放在黑線右邊
開始
左馬達功率:20
右馬達功率:30
是
否
反射<58%
左馬達功率:30
右馬達功率:20
顏色紅色
結束
是
否
馬達停止
1
2
3
4
5
6
7
設定馬達連接埠
1
2
3
4
5
6
7
迴圈停止條件為偵測紅色
判斷式:反射強度低於58時
馬達向右轉
馬達向左轉(反射強度大於58時)
馬達停止
程式結束
左右馬達功率大小對速度及擺動幅度有何影響?
試著調整左右馬達功率到的最佳比例
循線方法 - 3: 感測反射光強度(進階)
進階型:
A. 黑白中心值:
(黑色反射強度+白色反射強度)/2
例. (17% + 98%) / 2 = 58 %
B. 黑白中心值與白色反射強度的中心值
(黑白中心值+白色反射強度)/2
例. (58% + 98%) / 2 = 78%
C.中心值與黑色反射強度間的中心值
(中心值+黑色反射強度)/2
例. (58% + 17%) / 2 = 38%
58%
<38%
>78%
計算反射光強度判斷值
流程圖
註:顏色感測器照射光擺放在黑線右邊
開始
左馬達功率:20
右馬達功率:30
是
否
反射<58%
左馬達功率:30
右馬達功率:20
顏色紅色
結束
是
否
反射<38%
是
左馬達功率:30
右馬達功率:25
反射>78%
否
左馬達功率:25
右馬達功率:30
是
否
馬達停止
程式參考
1
2
3
4
5
6
7
設定馬達連接埠
1
2
3
4
5
6
7
8
迴圈停止條件為偵測紅色
判斷式:反射強度<58時
判斷式:反射強度<58且<38時
馬達向右轉(小)反射強度<58且>38時
馬達向右轉(大)
馬達停止
程式結束
8
9
10
11
判斷式:反射強度>58時且>78時
馬達向左轉(大)
9
馬達向左轉(小)反射強度>58且<78時
10
11
左右馬達功率大小對速度及擺動幅度有何影響?
試著調整左右馬達功率到的最佳比例
循線方法 – 4: 感測反射光強度(運算)
循線任務示意圖
循線小車延著黑線循線至終點紅線即停止
(白值-反射光)*1 (反射光-黑值)*1
本篇結束
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
循線小車搭建
Port A : 右馬達
Port B : 左馬達
Port D : 顏色感測器