Arduino程式設計

Download Report

Transcript Arduino程式設計

Arduino程式設計
建國中學 王鼎中
1
綱
要
•程式課程在資訊科技概論中的定位
•什麼是Arduino
•Arduino程式基本架構
•循序結構
•選擇結構
•重複結構
2
電腦與問題解決
課程綱要
3
課綱教學重點
(五)電腦與問題解決
本主題旨在培養學生透過演算法思維、運
用電腦解決問題的能力。授課重點除了引導
學生分析問題、設計解題步驟、及說明解題
策略外,亦應以實例呈現完整的解題過程。
演算法介紹宜舉與學生日常生活、學習等相
關之實例,避免過於繁複或不具實用性的演
算法,以激發學生學習電腦解題的興趣。
4
學習目標
• 了解什麼是程式設計
• 了解Arduino程式開發環境。
• 瞭解變數、運算式及內建函數等程式
基本組成要件。
• 熟習循序、選擇及重複等三種程式設
計的基本結構
• 透過作品展示與分享,展現同學們的
創意。
5
課程資訊
課綱範圍
5.電腦與問題解決
5.4電腦解題實作
5.4.1電腦解題工具介紹
5.4.2解題實作
教學節數
8節(400分鐘)
6
什麼是arduino
•Arduino包含一塊微處理機控制板
(MicroController board),以及一個
可以將程式寫入到控制板的開發環境
7
什麼是arduino
Arduino 微處理機控制板 (取自
http://arduino.tw/whatsarduino.html )
8
什麼是arduino
Arduino 微處理機控制板 (取自
http://arduino.tw/whatsarduino.html )
9
什麼是arduino
•整合開發環境軟體
•下載Arduino整合開
發環境軟體
網址為:
http://arduino.cc/
en/Main/Software
10
開啟第一個Arduino程式並測試
•開啟範例程式Blink
點選功能表File > Examples >
1.Basics > Blink,載入Blink範例程
式
•設定Arduino板型號
設定為Arduino UNO
•設定連接埠埠號
一般為COM3
11
Arduino程式的基本架
構
Setup()函數
語法:
void setup()
{
}
Loop()函數
語法:
void loop()
{
}
12
程式的基本控制結構
•循序結構(Sequence)
•選擇結構(Selection)
•重複結構(Iteration)
13
著手撰寫第一個程式
•程式任務:
讓LED燈閃爍,亦即讓LED亮一秒,滅一
秒交替進行。
•所需硬體
Arduino板
麵包板
LED燈
跳接線
X
X
X
X
1
1
1
2
14
什麼是選擇結構
「如果」使用者按下按
鈕
LED燈亮
「否則」
LED燈滅
Arduino的選擇結
構語法:
if ( 條件判斷式 )
{
// action A
}
else
{
// action B
}
15
以按鈕控制LED明滅
• 程式任務:
當使用者按下按鈕時可以讓LED燈亮,放開按鈕後讓LED
燈滅。
• 所需硬體
Arduino板
麵包板
LED燈
按鈕
跳接線
電阻 10K歐姆
X
X
X
X
X
X
1
1
1
1
5
1
16
什麼是變數
•變數宣告語法:
資料型態 變數名稱 ;
int score ;
•變數的使用
•將資料指定給變數儲存起來
score = 90 ;
•將儲存在變數中的資料讀取出來應用
grade = score / 10 ;
17
以按鈕切換LED的狀態
•程式任務:
當使用者按下按鈕時可以切換LED的狀
態,亦即若LED目前是亮的狀態,則按
下按鈕時,LED會轉為滅的狀態,反之
,若LED目前是滅的狀態,則按下按鈕
時,LED會轉為亮的狀態。
所需硬體
同前例
18
什麼是重複結構FOR
•For重複結構的主要功能為重複執行一
定次數撰寫在{ }中的程式碼,其中包
含一個累加變數,用以累加計數次數及
終止迴圈,For迴圈的語法及運作如下
:
for (初始設定; 繼續執行的條件; 累加運算
)
{
欲重複執行的程式碼
19
重複結構FOR
變數i 設定為1(起始值)
否
i <= 5(終止值)
是
重複結構內的程式區段
( 讓LED燈閃爍的程式 )
i累加1(累加值)
重複結構後的
程式敘述
20
以FOR重複結構完成重複執行的效果
•程式任務:
讓十段LED的第一個燈重複閃爍5次。
•所需硬體
Arduino板
麵包板
十段LED燈
跳接線
X 1
X 1
X 1
X 2
21
FOR的進階應用
•程式任務:
讓十段LED的所有燈依序閃爍1次,即第
一個LED亮滅、第二個LED亮滅…。
•所需硬體
Arduino板
X 1
麵包板
X 1
十段LED燈
X 1
跳接線
X 21
22
條件式重複結構While
•所謂條件式重複結構,就是依據條件判
斷的結果是否為真(True),來決定重複
結構中的程式區塊是否繼續反覆執行。
•例:輾轉相除法
23
以while重複結構完成輾轉相除法
•程式任務:
以輾轉相除法求兩數的最大公因數,其
結果透過serial monitor顯示。
•所需硬體
Arduino板 X 1
•建構電路
無
24