1. LED On/Off 프로그래밍 코드(스케치)
void setup() {
pinMode(D5, OUTPUT);
}
void loop() {
digitalWrite(D5, HIGH);
delay(1000);
digitalWrite(D5, LOW);
delay(1000);
}
함수에 관한 정리는
setup() { } |
중괄호 안에 있는 코드는 한 번만 실행됨. pinMode()함수와 같이 한 번만 사용하는 함수를 주로 넣음. |
loop() { } |
중괄호 안의 코드는 아두이노의 전원이 꺼질 때까지 실행됨. 괄호의 끝에 도달하면 다시 처음으로 되돌아감. |
pinMode([핀번호], [모드]); |
아두이노의 입출력 핀의 역할을 정함. 모드로는 주로 OUTPUT, INPUT을 사용. |
digitalWrite([핀번호], [상태]); |
출력핀에 디지털 신호를 보냄. 상태는 HIGH, LOW이며 HIGH는 5V, LOW는 0V가 출력됨. |
delay([시간]); |
설정한 시간만큼 잠시 프로그램을 정지함. ms단위이며 가급적이면 사용하지 않는 것이 좋음. |
http://naver.varofla.com/221275685537 링크를 참고
실습 1 1초에 한번씩 깜빡거린다.
pinMode 과 digitalWrite 에서 LED_BUILTIN를 OUTPUT을 D5로 수정해준다. 반복되는 코드에서는 digitalWrite(D5,HIGH); 로 불이 들어온 상태로 만들고 delay(1000); 코드를 통해서 1초간 딜레이를 시켜준다. digitalWrite(D5,LOW); 로 불이 커진 상태로 만들어 주고 다시 1초간 딜레이를 시켜주면 1초주기로 꺼지고 켜지고를 반복한다.
실습결과 : https://www.youtube.com/watch?v=BIf0OQK7OGk
실습2
위의 실습과 달라진 점은 for문을 추가해서 i의 값에 따라서 불이 켜지고 꺼지는 주기에 대한 수정을 추가해준 실습이다.
void setup() {
pinMode(D5, OUTPUT);
}
void loop() {
for (int i = 0; i < 10; ++i)
{
digitalWrite(D5, HIGH);
delay(20 * i);
digitalWrite(D5, LOW);
delay(20 * i);
}
}
실습결과 : https://www.youtube.com/watch?v=gSZtDA4XFBc
밝기를 어떻게 조절할 수 있나요?
void setup() {
pinMode(D5, OUTPUT);
}
void loop() {
for (int i = 0; i < 256; ++i)
{
analogWrite(D5, i);
delay(20 * i);
}
}
LED에 대한 밝기는 digitalWrite(D5,HIGH); 대신에 analogWrite(D5,밝기값); 을 넣어서 밝기를 바꾸는 방법을 찾았습니다. 여기서 밝기 값 0 ~ 255 사이의 값을 가지게 됩니다. High -> 255 Low -> 0