한 눈에 끝내는 아두이노 기초
    • 01
      1 강 - Hello, Arduino
    • 아두이노(Arduino)란?
      아두이노 연결 & 작동 확인
      부품 설명 기초
      부품 설명 - 브레드 보드
      아두이노 동작 방식
    • 02
      2 강 - LED 제어하기
    • LED 회로 구성하기
      LED 제어 코드 작성
      LED 제어 응용 1 - 반복문
      LED 2개 회로 구성하기
      LED 제어 응용 2 - 조건문
      삼색 LED 회로 구성하기
      삼색 LED 제어 코드 작성
    • 03
      3 강 - 버튼 스위치 사용하기
    • 버튼 스위치와 시리얼 통신
      스위치 신호 확인하기
      스위치로 LED 제어하기
    • 04
      4 강 - 청기 / 적기 게임 만들기
    • 청기 / 적기 게임 소개
      회로 구성하기
      삼색 LED 청색 / 적색 켜기
      스위치로 청색 / 적색 맞추기
    • 05
      5 강 - 능동 부저 사용하기
    • 능동 부저 소개
      회로 구성하기
      코드로 소리내기
      스위치 클릭하면 소리내기
      다양한 소리 함수로 만들기
    • 06
      6 강 - 숫자판(디지털 튜브) 사용하기
    • 7 segment 소개
      7 segment 에 숫자 표시하기
      4개로 이루어진 7 segment 소개
      7 Segment 4 Digit Module 로 숫자 표시하기
    LED 제어 코드 작성
    배우기
    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 초


    default
    실습 내용

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

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

    질문하기