본문 바로가기
기타/아두이노

아두이노 여러개 LED 제어

by developerBeluga 2020. 12. 25.
728x90
반응형

준비물


Arduino Uno R3, 빨간색 LED, 초록색 LED, 220Ω 레지스터

 

회로도


 

소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
}
 
void loop()
{
    digitalWrite(13, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(13, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(12, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(12, LOW);
  delay(500); // Wait for 1000 millisecond(s)
 
  digitalWrite(11, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(11, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(10, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(10, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(9, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(9, LOW);
  delay(500); // Wait for 1000 millisecond(s)
 
}
cs

 

13,11,9와 12,10을 나누어 LED 제어하고 싶어 아래와 같이 수정

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
}
 
void loop()
{
    digitalWrite(13, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(13, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(12, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(12, LOW);
  delay(500); // Wait for 1000 millisecond(s)
 
  digitalWrite(11, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(11, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(10, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(10, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
  digitalWrite(9, HIGH);
  delay(500); // Wait for 1000 millisecond(s)
  digitalWrite(9, LOW);
  delay(500); // Wait for 1000 millisecond(s)
 
}
cs

 

결과


 

+추가

LED를 순차적으로 켜지게 제어하기

 

소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
}
 
void loop()
{
  digitalWrite(13, HIGH);
  delay(250);
  digitalWrite(12, HIGH);
  delay(250);
  digitalWrite(11, HIGH);
  delay(250);
  digitalWrite(10, HIGH);
  delay(250);
  digitalWrite(9, HIGH);
  delay(250); // Wait for 1000 millisecond(s)
  
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
  digitalWrite(11, LOW);
  digitalWrite(10, LOW);
  digitalWrite(9, LOW);
  delay(500); // Wait for 1000 millisecond(s)
  
}
cs

 

결과


728x90
반응형

댓글