소스코드1
아래는 소스코드1번입니다. 아두이노 IDE에 붙여넣기 하여 컴파일하고 업로드해봅니다.
// 아두이노 6개 LED 점등실험1
// LED에 연결된 디지털IO핀 설정
int Led1 = 1;
int Led2 = 2;
int Led3 = 3;
int Led4 = 4;
int Led5 = 5;
int Led6 = 6;
//led 점등패턴1번 서브루틴
void style_1(void)
{
unsigned char j;
for(j=1;j<=6;j++)
digitalWrite(j,HIGH);
delay(200);
for(j=6;j>=1;j--)
{
digitalWrite(j,LOW);
delay(200);
}
}
void setup()
{
unsigned char i;
for(i=1;i<=6;i++)//디지털IO 1~6번까지 출력모드로 설정합니다.
pinMode(i,OUTPUT);// i번째 핀을 출력모드로 설정합니다.
}
void loop()
{
style_1();//서브루틴 호출
}
소스코드2
아래는 소스코드2입니다. 아두이노 IDE에 붙여넣기 하여 컴파일하고 업로드합니다.
// 아두이노 6개 LED 점등실험2
// LED에 연결된 디지털IO핀 설정
int Led1 = 1;
int Led2 = 2;
int Led3 = 3;
int Led4 = 4;
int Led5 = 5;
int Led6 = 6;
//led 점등패턴1번 서브루틴
void style_1(void)
{
unsigned char j;
for(j=1;j<=6;j++)//200ms(0.2초) 마다 1번부터 6번까지의 LED를 점등합니다.
{
digitalWrite(j,HIGH);//j핀에 연결된 LED를 점등
delay(200);//200ms 딜레이
}
for(j=6;j>=1;j--)//200ms(0.2초) 마다 6번부터 1번까지의 LED를 소등합니다.
{
digitalWrite(j,LOW);//j핀에 연결된 LED를 소등
delay(200);//200ms 딜레이
}
}
//LED 점멸 서브루틴
void flash(void)
{
unsigned char j,k;
for(k=0;k<=1;k++)//두번 점멸
{
for(j=1;j<=6;j++)//1번부터 6번까지의 LED를 점등합니다.
digitalWrite(j,HIGH);//j핀에 연결된 LED를 점등
delay(200);//200ms 딜레이
for(j=1;j<=6;j++)//1번부터 6번까지의 LED를 소등합니다.
digitalWrite(j,LOW);//j핀에 연결된 LED를 소등
delay(200);//200ms 딜레이
}
}
//led 점등패턴2번 서브루틴
void style_2(void)
{
unsigned char j,k;
k=1;//k변수를 1로 초기화합니다.
for(j=3;j>=1;j--)
{
digitalWrite(j,HIGH);//LED 점등
digitalWrite(j+k,HIGH);//LED 점등
delay(400);//400ms 딜레이
k +=2;//k값에 2를 더합니다.
}
k=5;//k변수를 5로 초기화합니다.
for(j=1;j<=3;j++)
{
digitalWrite(j,LOW);//LED 소등
digitalWrite(j+k,LOW);//LED 소등
delay(400);//400ms 딜레이
k -=2;//k값에 2를 뺍니다.
}
}
//led 점등패턴3번 서브루틴
void style_3(void)
{
unsigned char j,k;// j와 k 변수를 선언합니다.
k=5;//k변수를 5로 초기화합니다.
for(j=1;j<=3;j++)
{
digitalWrite(j,HIGH);//LED 점등
digitalWrite(j+k,HIGH);//LED 점등
delay(400);//400ms 딜레이
digitalWrite(j,LOW);//LED 소등
digitalWrite(j+k,LOW);//LED 소등
k -=2;//k값에 2를 더합니다.
}
k=3;//k변수를 3으로 초기화합니다.
for(j=2;j>=1;j--)
{
digitalWrite(j,HIGH);//LED 점등
digitalWrite(j+k,HIGH);//LED 점등
delay(400);//400ms 딜레이
digitalWrite(j,LOW);//LED 소등
digitalWrite(j+k,LOW);//LED 소등
k +=2;//k값에 2를 뺍니다.
}
}
void setup()
{
unsigned char i;
for(i=1;i<=6;i++)//디지털IO 1~6번까지 출력모드로 설정합니다.
pinMode(i,OUTPUT);//i번째 핀을 출력모드로 설정합니다.
}
void loop()
{
style_1();//led 점등패턴1번
flash();//점멸
style_2();//led 점등패턴2번
flash();//점멸
style_3();//led 점등패턴3번
flash();//점멸
}
아래는 소스코드2 실행한 모습입니다.