---
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.
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.

2.我程式碼沒學好
3.我程式碼沒學好
4.我程式碼沒學好(對不起啦(´・ω・`)
> .....好喔,蠻可惜的 :( [color=RED][name=Jiawei]
## 李雋恩
1. 我不會抱歉啦
2. 我沒做
3. 真的抱歉
4. 對不起
> .....好喔,蠻可惜的 :( [color=RED][name=Jiawei]
## 沈修睿
問題一:

問題二:
```
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.
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]
## 黃柏樺

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]
## 蔡承翰

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.
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.
紅色因為壞掉所以不能亮
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.
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]
## 林穎萱

## 徐婕瑀
1.
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]
## 高佳淳


第二題
```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.
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.
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.
> 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]
## 盧語倢