Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chang Chi-Chung 國立大里高級中學

Similar presentations


Presentation on theme: "Chang Chi-Chung 國立大里高級中學"— Presentation transcript:

1 Chang Chi-Chung 國立大里高級中學
Arduino 程式設計教學 Chang Chi-Chung 國立大里高級中學

2 設計理念 教學活動採取「數位邏輯實驗」課程的概 念設計。 以「實驗單元」組織,共設計 10 個實驗單 元。 評量方式 學習單或者實驗報告
實驗成果評分

3 學生依據教師說明進行實驗程式設計,並觀察實驗結果
教學策略 說明實驗目標 教師說明實驗目標 實驗成果檢視 學生撰寫實驗單 教師檢視練習成果 實驗電路說明示範 教師說明實驗電路的安排布局 學生進行程式設計 學生依據教師說明進行實驗程式設計,並觀察實驗結果 學生進行電路組合 學生依據教師說明進行實驗電路組合 程式設計教學 教師進行實驗電路的程式觀念講解

4 實驗教學工具 Arduino 實驗套件 Arduino 程式設計軟體 電子電路圖繪製軟體 http://arduino.cc/
Fritzing

5 示範教學目標 熟悉10段 LED 的使用 了解 for 迴圈的運用 了解鍵盤控制的方式

6 實驗目標及時間 主目標 (2 小時) 進階目標 (1 小時) 學生挑戰 (1 小時)
利用 Arduino 及 10段 LED 設計一個霓虹燈 10 段 LED 的燈號,可以依序亮燈,反覆播放 進階目標 (1 小時) 利用鍵盤控制燈號 學生挑戰 (1 小時) 改變霓虹燈形式,例如:隨意亮燈、閃爍等 改變鍵盤控制方式

7 實驗電路圖

8 程式設計教學(1) void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT);
} for (int i = 2; i < 12; i++) { pinMode(i, OUTPUT); }

9 重點概念解說 A B C D for (int i = 2; i < 12; i++) { pinMode(i, OUTPUT); }

10 程式設計教學(2) 請同學改寫成 for 迴圈喔!
void loop() { digitalWrite(2, HIGH); delay(1000); digitalWrite(3, HIGH); delay(1000); digitalWrite(4, HIGH); delay(1000); digitalWrite(5, HIGH); delay(1000); digitalWrite(6, HIGH); delay(1000); digitalWrite(7, HIGH); delay(1000); digitalWrite(8, HIGH); delay(1000); digitalWrite(9, HIGH); delay(1000); digitalWrite(10, HIGH); delay(1000); digitalWrite(11, HIGH); delay(1000); } 請同學改寫成 for 迴圈喔!

11 挑戰 程式設計教學(2) 目前只能夠依序亮燈,請加入依序熄燈功能。
void loop() { for (int i=2; i< 12; i++) digitalWrite(i, HIGH); delay(1000); } 挑戰 目前只能夠依序亮燈,請加入依序熄燈功能。

12 作法不只一種喔!想想看,利用 if 敘述如何完成?
程式設計教學(2) void loop() { for (int i=2; i< 12; i++) digitalWrite(i, HIGH); delay(1000); } digitalWrite(i, LOW); 作法不只一種喔!想想看,利用 if 敘述如何完成?

13 學生概念難點 利用鍵盤控制燈號開關(1) 布林型別是學生首次接觸,有些學生無法理解。 boolean pinState[10];
void setup() {  Serial.begin(9600); for (int i = 2; i < 12; i++) { pinMode(i, OUTPUT); pinState[i-2] = false; } } 學生概念難點 布林型別是學生首次接觸,有些學生無法理解。

14 學生概念難點 利用鍵盤控制燈號開關(2) 字元編碼運算,涉及數位化概念,學生不易理解。
void loop() { if (Serial.available()) { int inByte = Serial.read(); int pin –= 46; if (pinState[pin]) { digitalWrite(i, LOW); pinState[pin] = false; } else { digitalWrite(i, HIGH); pinState[pin] = true; } } } 學生概念難點 字元編碼運算,涉及數位化概念,學生不易理解。

15 重要概念 變數 布林變數 全域變數 陣列 字元編碼 ASCII 編碼轉數字

16 學生挑戰題 製作各種形式的霓虹燈效果! 隨意亮燈 randomSeed random 閃爍


Download ppt "Chang Chi-Chung 國立大里高級中學"

Similar presentations


Ads by Google