Traffic sign control with Arduino UNO
int redPin = 2; //2번 포트를 redPin으로 지정
int yellowPin = 3; //3번포트
int greenPin = 4;
int buttonPin = 5;
int state = 0; //상태변수 state를 0으로 default(=초기화)시킴
void setLights(int red, int yellow, int green) //메소드::함수를 새로 만드는 코드
//문법:: 변수명(내부변수, 내부변수, 내부변수)
{
digitalWrite(redPin, red);
digitalWrite(yellowPin, yellow);
digitalWrite(greenPin, green);
}
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(greenPin, OUTPUT); //LED를 출력으로 지정
pinMode(buttonPin, INPUT); //버튼은 입력으로 지정
}
void loop()
{
if (digitalRead(buttonPin))
//만약 버튼핀의 Digital값을 읽었을때 이 값이 True인가? (입력이 되었는가? /False는 앞에 !를 붙인다.)
//풀업 풀다운 그림 링크
{
if (state == 0) //초기상태
{
setLights(HIGH, LOW, LOW);
state = 1; //현재상태 (이런 변수를 보통 Flag bit라고 부른다.)
}
else if (state == 1)
{
setLights(HIGH, HIGH, LOW);
state = 2; //현재상태의 Flag bit는 2
}
else if (state == 2)
{
setLights(LOW, LOW, HIGH);
state = 3;
}
else if (state == 3)
{
setLights(LOW, HIGH, LOW);
state = 0;
delay(3000);
}
delay(1000);
}
}
'아두이노' 카테고리의 다른 글
LCD온도표시 (0) | 2016.07.27 |
---|---|
포토센서 (0) | 2016.07.27 |
코드밴더 (0) | 2016.07.27 |
아두이노 블루투스 LED, 모터제어 (0) | 2016.07.20 |
아두이노 블루투스 연결기초 (0) | 2016.07.20 |