# Lab1 LED
## Members:
411085031 劉又瑄
410985004 陳文彥
411085020 林漢昕
## Principle:
Use high and low signal to control a LED.
## Program:
```c=
byte n = 8;
byte LED[][]{{22, 24, 26, 28, 30, 32, 34, 36},
{23, 25, 27, 29, 31, 33, 35, 37}}
void setup() {
for (int i = 0; i < n; i++) {
pinMode(LED[i], OUTPUT);
digitalWrite(LED[i], 0);
pinMode(LED1[i], OUTPUT);
digitalWrite(LED1[i], 1);
}
}
void toDigit(int num, int indexOfLight) {
int index = 0;
while (num) {
digitalWrite(LED[indexOfLight][index++], (num + indexOfLight) & 1);
num /= 2;
}
}
void loop() {
for (int i = 0; i < 10000; i++) {
toDigit(i % 100, 0);
toDigit(i / 100, 1);
delay(5);
for (int i = 0; i < n; i++) {
digitalWrite(LED[0][i], 0);
digitalWrite(LED[1][i], 1);
}
}
}
```
## Description
### ``setup()``
Set up the output pin.
### ``toDigit(int num, int indexOfLight)``
Transform num to LED digit, use indexOfLight to select LED we want to control.
### ``loop()``
From 0 to 1, use``toDigit()``to light the LED.
## Result
### [影片連結](https://drive.google.com/drive/folders/1lTCeihTz7mRnRrKLgFJRyaz3LuA85ZoF)

