LED 제어 코드 작성 - 바로 실행해보면서 배우는 아두이노
learn
Practice
learn
02 2 강 - LED 제어하기
LED 제어 코드 작성

오른쪽 에디터의 주어진 코드가 의미하는 것은 13번 LED를 1초 간격으로 켜고, 끄고를 반복하는 코드입니다.

위 코드에 대해서 하나하나 살펴보도록 합니다.

먼저 setup 함수를 보면 pinMode 라는 함수가 쓰인 것을 볼 수 있습니다. pinMode 함수는 핀 번호와 모드를 정해줌으로써, 특정 핀의 입력과 출력을 설정할 수 있습니다. 이번 예제의 경우에는 13 번 핀을 이용하고 출력이기 때문에 13, OUTPUT이라는 값을 넘겨주었습니다.

그리고 다음은 loop 함수입니다. 가장 먼저 digitalWrite 함수가 보입니다. digitalWrite 함수의 경우에는 해당 핀에 출력을 주는 것으로, 전류를 공급한다는 생각으로 접근하셔도 좋습니다. HIGH(= 5V 전류)와 LOW( = 0 V 전류 차단) 두 가지 상태를 출력할 수 있습니다.

코드에서는 digitalWrite(13, HIGH); 로 전류를 주어 LED를 켜고 digitalWrite(13, LOW); 로 전류를 차단하여 LED를 끕니다.

이제 마지막으로 남은 건 delay 함수입니다. delay 함수는 단어 그대로 지연을 주는 역할을 합니다. 주어진 코드에서는 LED를 켜고 끌 때 1초 지연을 주고 있습니다.

여기서 delay 함수에 쓰이는 단위는 ms 로 1ms 는 0.001초이고 1000ms 라면 1초가 됩니다.

함수들에 대해서 정리하자면 다음과 같습니다.

  • pinMode(pin, mode);

   - 기능 : 특정 디지털 입출력 핀을 입력 또는 출력으로 설정

   - 매개변수 : pin -> 디지털 핀 번호, mode -> INPUT or OUTPUT

  • digitalWrite(pin, mode);

   - 기능 : 디지털 핀에 HIGH or LOW를 쓴다.

   - 매개변수 : pin -> 디지털 핀 번호, mode -> HIGH or LOW

  • delay(ms)

   - 기능 : 디지털 핀에 지연 시간

   - 매개변수 : ms -> 1 당 0.001 초


Practice

주어진 코드는 1초 동안 LED를 켜고 1초 동안 LED를 끄는 코드입니다.

3초 동안 LED를 켜고, 0.5초 동안 LED를 끄는 코드로 수정해보세요!

learn
Practice
Q & A
Q&A forum that anyone can ask and answer.
Share your questions and answers with other students and grow together!
Registered Questions(0)