--- title: 高一五班 0414 tags: 作業 --- - 註: 請不要改名字的順序,繳交作業時請在下面找自己的名字。 ## 張嘉幃 (參考樣板 + 答案) ### 第一題 圖片再說~ ### 第二題 - 請改動程式,燈先亮中間、再亮左邊、再亮==中間== - 因為題目==沒有說是要改滾珠開關的裡面的 Code 還是改一開始預設的 Code==,但我下面會採用滾珠開關啟動後的版本 - 因為我們知道了起動時的順序是按照 `const int LEDsPinIds[] = { 3, 4, 5 };`, 所以我們只要改成 `const int LEDsPinIds[] = { 4,3,4 };` 則之後亮的順序絕對就是跟題目要求的相符。 ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 4,3,4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` ### 第三題 - 承問題一,利用問題一的 Code,將滾珠開關移動後 LED 就熄滅的功能拿掉。 - 方法很多種,我採用將第三題的 `tiltSwitchState = digitalRead(pinIdTiltSwitch);` commented 掉,換成 `tiltSwitchState = 1;` 就可以 ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 4,3,4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = 1; //modified at this line. // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` ### 問題四 - 在 "監控 2-2" 那部分下面多一行即可 ```Arduino= // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); Serial.println("我的學號是 12345678"); ``` ## 王韋翔 1.![](https://i.imgur.com/7OYRXts.jpg) 2.// 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; > 概念對了,不過題目要的是中間 > 左邊 > 中間,所以應該會有一個數字重複 :( [color=RED][name=Jiawei] // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; 3. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` 4. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910146") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 3.、4. 都差不多對了! [color=RED][name=Jiawei] ## 李旭展 1. ![](https://i.imgur.com/xrxWEim.png) 2.我程式碼沒學好 3.我程式碼沒學好 4.我程式碼沒學好(對不起啦(´・ω・`) > .....好喔,蠻可惜的 :( [color=RED][name=Jiawei] ## 李雋恩 1. 我不會抱歉啦 2. 我沒做 3. 真的抱歉 4. 對不起 > .....好喔,蠻可惜的 :( [color=RED][name=Jiawei] ## 沈修睿 問題一: ![](https://i.imgur.com/tzuNM0k.png) 問題二: ``` a = 123 void setup() { Serial.begin(9600) } if (a != 123) { Serial.println("213") } else { Serial.println("213") } ``` > 你這樣不就只是把字印在畫面上而已嗎 XD [color=RED][name=Jiawei] 問題三: ``` int a = 9487 //this can be seen //int a = 滾珠開關移動 /* led就熄滅 */ ``` > .....這我不知道該怎麼給評語XD 你可能要重新看一下 Guide 在講什麼 :( [color=RED][name=Jiawei] 問題四: ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 你的學號? [color=RED][name=Jiawei] ## 林柏志 > .....好喔,蠻可惜的 :( [color=RED][name=Jiawei] ## 林諭鴻 1. 對不起沒做成功 > 沒事啦 [color=RED][name=Jiawei] 2. digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); 順序問題? > 是的,因為程式是從上往下跑,所以交換一下就可以動。[color=RED][name=Jiawei] 3. tiltSwitchState = digitalRead(pinIdTiltSwitch); 刪除? > 這個對了 :) [color=RED][name=Jiawei] 4. 沒做成功對不起 > 不用道歉啦,盡力便是。 [color=RED][name=Jiawei] ## 張祐豪 > 你的第一個問題?[color=RED][name=Jiawei] 2. // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; > 這個部分沒寫完喔~ [color=RED][name=Jiawei] 3. ```Arduino= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > loop 內部的 `}` 數量不對。[color=RED][name=Jiawei] > 但修改的思路大方向是對的。[color=RED][name=Jiawei] 4. ```Arduino= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910145") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 這邊做對了,沒問題~[color=RED][name=Jiawei] ## 許博鈞 (已損毀) ```Arduino= // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910146") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 所以其他題呢? [color=RED][name=Jiawei] 答:被別人誤刪了 然後又要段考來不及做... ## 陳明政 ### 問題一 > ...... [color=RED][name=Jiawei] ### 問題二 ```C= // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; ``` > 大方向思路是對的。 [color=RED][name=Jiawei] ### 問題三 ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 括號沒改掉 QQ [color=RED][name=Jiawei] ### 問題四 ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910147") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > Fine :P[color=RED][name=Jiawei] ## 陳東瑞 ## 陳冠綸 ## 黃品翔 1.![](https://i.imgur.com/2MkHg3p.jpg) 2 ``` // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; ``` > lol fine.[color=RED][name=Jiawei] 3. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 錯的地方跟張祐豪同學一樣,請直接去看他的評語。 [color=RED][name=Jiawei] 4. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 錯的地方跟張祐豪同學一樣,請直接去看他的評語。 [color=RED][name=Jiawei] ## 黃柏樺 ![](https://i.imgur.com/Rav9EYU.jpg) 2. // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } > 完美。雖然我一開始的問題寫成中間 > 左邊 > 中間,但我相信你會改這個。[color=RED][name=Jiawei] > 雖然我不確定你是不是原作者 XD[color=RED][name=Jiawei] 3. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { delay(250); } ``` > 剩下第四題的地方沒寫 囧 [color=RED][name=Jiawei] ## 蔡承翰 ![](https://i.imgur.com/g5S61zV.png) 2. // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; > 評語同前一個作者。 [color=RED][name=Jiawei] 3. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println(“LED 已全亮,等待 Reset…”); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 錯的地方跟張祐豪同學一樣,請直接去看他的評語。 [color=RED][name=Jiawei] 4. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910146") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > OK. [color=RED][name=Jiawei] ## 蔡政穎 ## 鄭博安 ## 賴冠綸 ## 王姿璇 ## 吳佳臻 1.![](https://i.imgur.com/yV2frt3.png) 2.// 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; > 請直接去看黃柏樺同學的評語。 [color=RED][name=Jiawei] 3. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 4, 3}; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 這一行都沒改吧...?[color=RED][name=Jiawei] 4. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 4, 3 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 這是在賭我一行都不會看嗎 XD [color=RED][name=Jiawei] ## 吳書嫻 1.![](https://i.imgur.com/X1CiTlD.jpg) 紅色因為壞掉所以不能亮 2.// 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; > 請直接去看柏樺同學的評語。 [color=RED][name=Jiawei] 3. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 請直接去看張祐豪同學的評語。 [color=RED][name=Jiawei] 4. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910146") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 一行都沒寫我覺得不行。 [color=RED][name=Jiawei] ## 林詩綺 1.![](https://i.imgur.com/nolQvcD.jpg) 2. ```C= // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 請去看其中一個原著的評價,在上面。 [color=RED][name=Jiawei] 4. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910162") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > OK。[color=RED][name=Jiawei] ## 林穎萱 ![](https://i.imgur.com/NSPiG8u.png) ## 徐婕瑀 1.![](https://i.imgur.com/sgZsriF.jpg) 2. ```C= // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; ``` > 請直接去看柏樺同學的評語。 [color=RED][name=Jiawei] 3. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 請直接去看祐豪的評語。 [color=RED][name=Jiawei] 4. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910162") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > OK. [color=RED][name=Jiawei] ## 高佳淳 ![](https://i.imgur.com/r2ejDE9.jpg) ![](https://i.imgur.com/diseH3I.jpg) 第二題 ```C= // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; ``` > 請直接去看柏樺的評語。 [color=RED][name=Jiawei] 第三題 ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 請直接去看祐豪的評語。 [color=RED][name=Jiawei] 第四題 可能我理解能力有點障礙... > 就是在 `Serial.print` 那邊把你的學號 "播放" 在畫面上。[color=RED][name=Jiawei] ## 張倩瑜 1.![](https://i.imgur.com/ZZPp5b6.jpg) 2. // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; > 請直接去看柏樺的評語。 [color=RED][name=Jiawei] 3. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 請直接去看祐豪的評語。 [color=RED][name=Jiawei] 4. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); ``` > 一行都沒改的答案不是答案。 [color=RED][name=Jiawei] ## 陳冠妘 1.![](https://i.imgur.com/8u4nxlX.png) 2. // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; > 請直接去看柏樺的評語。 [color=RED][name=Jiawei] 3. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 一行都沒改,不給過。 [color=RED][name=Jiawei] 4. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 一行都沒改,不給過。 [color=RED][name=Jiawei] ## 陳詩樺 1.沒拍到 2..// 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 5, 3, 4 }; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; > 請直接去看柏樺的評語。 [color=RED][name=Jiawei] 3. ```C= // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 一行都沒改。 [color=RED][name=Jiawei] 4. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print( 910166); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 一行都沒改。 [color=RED][name=Jiawei] ## 黃品綺 ## 楊宛宜 1. 2.![](https://i.imgur.com/mLrsfzF.png) > LED 的順序錯了,但思路對了,直接改那邊沒有錯。 [color=RED][name=Jiawei] 3. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 請直接去看祐豪的評語。 [color=RED][name=Jiawei] 4. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910171") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > OK。 [color=RED][name=Jiawei] ## 楊晶 ## 劉于嫙 1. 2. // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } 3. // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = 1; //modified at this line. // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } > 不是複製三遍我就會當沒看到。 [color=RED][name=Jiawei] ## 蔡名妍 1. 2. // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); > 請直接去看柏樺的評語。 [color=RED][name=Jiawei] 3. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 一行都沒改。 [color=RED][name=Jiawei] 4. ``` // // Arduino Starter Kit projects // // Created by Josh Chang // Copyright © 2021 Futurenest. All rights reserved. // // 8-1 熟悉滾珠開關 // 宣告滾珠開關的引腳 const int pinIdTiltSwitch = 7; // 一個陣列來定義 LED 對應的數位 pins const int LEDsPinIds[] = { 3, 4, 5 }; // 總共 LED 的 pin 數目 const int numLEDsPinIds = 3; // 宣告變數 int tiltSwitchState = 0; // 目標要點亮的 LED,預設從 pin 3 開始,依序點亮。 int indexNextLEDToSwitchOn = 0; // 初始化 void setup() { // 設定序列埠傳輸速率 Serial.begin(9600); // 設定 LED 為輸出: 3, 4, 5 對應 G, Y, R pinMode(LEDsPinIds[0], OUTPUT); pinMode(LEDsPinIds[1], OUTPUT); pinMode(LEDsPinIds[2], OUTPUT); } // 重複執行 void loop() { // 讀取滾珠開關狀態(數位 pins,預設方向為輸入) tiltSwitchState = digitalRead(pinIdTiltSwitch); // 監控 1 Serial.print("開關狀態: "); Serial.println(tiltSwitchState); if (tiltSwitchState == 1) { if (indexNextLEDToSwitchOn < 3) { // 監控 2-1 Serial.print("點亮 LED: "); Serial.println(LEDsPinIds[indexNextLEDToSwitchOn]); digitalWrite(LEDsPinIds[indexNextLEDToSwitchOn], HIGH); indexNextLEDToSwitchOn = indexNextLEDToSwitchOn + 1; Serial.print("910171") delay(1000); } else { // 監控 2-2 Serial.println("LED 已全亮,等待 Reset..."); } } else { digitalWrite(LEDsPinIds[0], LOW); digitalWrite(LEDsPinIds[1], LOW); digitalWrite(LEDsPinIds[2], LOW); // 將下一個要點亮的 LED 重新設為 pin 3 indexNextLEDToSwitchOn = 0; } delay(250); } ``` > 這一行都沒改不太行... [color=RED][name=Jiawei] ## 盧語倢