오디오 쿠키는 작고 재미있는 오디오 툴들을 제작합니다

    EW4SM 목차
  1. LED Level Meter
  2. 기초 회로 실습
  3. Arduino
    1. 프로그래밍 기초
    2. 연산자와 IF문
    3. PAN Knob 구현
    4. FOR Loop, 레벨 표시
    5. Serial로 값 표시
    6. DO-WHILE 문법
    7. FUNCTION 사용
  4. Mini Powered Speaker
  5. Fader Box
    1. Passive Volume
    2. Transformer
    3. Digital UP/DOWN
    4. Digital Volume I
    5. Digital Volume II
    6. Fader ADC
    7. Balanced Output
    8. D.Volume & Balanced
    9. Flying Fader
  6. USB AudioBox (DAC)
    1. AudioBox
  7. MIDI Controller 만들기
    1. Hardware Setup
    2. MIDI Spec.
    3. MIDI Software Programming

Basic Sketch | 아두이노 프로그래밍 시작하기

1. 준비물

  • Arduino Board 1개
  • 컴퓨터
  • USB 케이블
  • LED 8개
  • 220ohm 저항 8개
  • 브레드보드와 점퍼선

2. 하드웨어 세팅

2.1 BreadBoard에 세팅하기

  • LED 방향에 주의해서 연결한다.
  • 저항쪽이 LED의 캐소드(-쪽)
  • 저항은 극성이 없다. 반대로 돌려 꽂아도 상관 없다.
  • 브레드 보드와 아두이노 보드 사이에 접지 연결이 없다.

2.2 프로그램 작성 준비

  • 아두이노 프로그램을 실행하고 [File-Samples-1.Basic-Blink] 파일을 연다.
  • 아두이노에서는 프로그램 파일을 스케치라고 부릅니다. 그림을 그리듯 프로그램을 작성한다는 개념이다.
  • 이 스케치를 수정해 새로운 프로그램으로 작성할 것이므로 일단 다른이름으로 저장한다.
  • 일반적인 프로그램에서 처럼 [File-SaveAs...] 하는 방식
  • 보기 편한 규칙으로, 나중에 다시 찾아보기 좋은 장소에 저장한다.

3. 프로그램 작성하기

3.1 프로그램 작성하기

  • 위 그림과 같이 코딩한다.

3.2 설명문 작성하기

  • [/*] 부터 [*/] 사이의 내용은 모두 설명문
  • 한줄로 쓸 수도 있고 여러 줄에 걸쳐 쓸 수도 있다.
  • 위의 내용에서는 "선택한 LED ON/OFF를 연습한다” 라는 내용이 설명문
  • 아래쪽에 보면 문장 뒤쪽에 //기호가 보이는데, [//] 기호는 이 기호부터 줄이 마칠 때 까지 모두 설명문 이라는 뜻이다.
  • 한줄 한줄 설명할 때는 [//] 기호가 편하다.
  • 지금 당장은 설명문이 귀찮을 수도 있다.
  • 나중에 다시 볼 때는, 설명문이 없으면 무슨 내용인지 알아보기 힘들다.
  • 모든 문장에 설명문을 달 필요는 없다.
  • 나중에 알아볼 수 있을 정도로, 다른 사람이 보더라도 알아 볼 수 있도록 도움말을 쓰는 차원에서 설명문을 넣는 것이 좋다.

3.3 #define 문장

  • #define LED 13이라는 내용이 추가되었다.
  • 이 문장 다음부터 "LED"은 모두 "13"으로 인식한다.
  • 반대로 말하면, 프로그램 내에 있는 "13"을 "LED7"로 써도 상관 없다는 뜻.
  • 지금 상태로 컴파일(Sketch-Verify/Compile)하고 업로드(File-Upload)하면 LED13에 연결된(아두이노 기판에 기본으로 있는 LED가 깜빡인다.
  • #define LED 뒤 13을 12로 바꾸면 12번에 연결된 LED가 깜빡인다.
  • 만약 define 문장을 쓰지 않았다면 프로그램 안에 들어 있는 모든 13을 찾아서 12로 바꿔줘야한다.
  • 지금처럼 프로그램이 몇줄 되지 않을때는 쉽지만, 프로그램 덩치가 커지면 바꾸기가 쉽지 않다.

3.4 #define 문장 응용하기

  • 브레드보드에 LED를 8개 세팅했으니 원하는 LED를 하나씩 켜 보자.
  • #define 문장을 8개 사용해 각각 LED에 이름을 붙인다.
  • delay(300); 문장을 사용하여 4개씩 교차로 켜지는 프로그램을 작성해 보자.
  • delay(300); 문장을 사용하여 순차로 켜지는 프로그램을 작성해 보자.
최종수정 2014.02.18 16:35:26