본문 바로가기

아두이노

버튼으로 LED 제어하기: 버튼 입력을 받아 LED 켜고 끄기.

반응형

1. 이론 소개

  • 디지털 입력과 출력: 아두이노에서 버튼과 같은 디지털 입력 장치를 사용하여 LED와 같은 출력 장치를 제어하는 방법.
  • 조건문: 특정 조건을 만족할 때만 특정 동작을 수행하도록 하는 프로그래밍 구조.

 

2. 준비물

  • 아두이노 보드
  • 버튼
  • LED
  • 저항: LED와 버튼을 보호하기 위해 사용.
  • 브레드보드
  • 점퍼 와이어

 

3. 회로 구성

  • 버튼 연결: 버튼 한 쪽을 아두이노의 디지털 입력 핀에, 다른 쪽을 GND에 연결.
  • LED 연결: LED의 양극을 디지털 출력 핀에, 음극을 저항을 거쳐 GND에 연결.

 

4. 코딩 내용

const int buttonPin = 2; // 버튼 연결 핀
const int ledPin =  13;  // LED 연결 핀

int buttonState = 0;     // 버튼 상태를 저장할 변수

void setup() {
  pinMode(ledPin, OUTPUT);    // LED 핀을 출력으로 설정
  pinMode(buttonPin, INPUT);  // 버튼 핀을 입력으로 설정
}

void loop() {
  buttonState = digitalRead(buttonPin); // 버튼 상태 읽기

  if (buttonState == HIGH) {   // 버튼이 눌렸을 때
    digitalWrite(ledPin, HIGH);  // LED 켜기
  } else {
    digitalWrite(ledPin, LOW);   // 그렇지 않으면 LED 끄기
  }
}

 

5. 코드 업로드 및 테스트

  • 코드 업로드: 아두이노 IDE를 통해 아두이노 보드에 코드 업로드.
  • 기능 테스트: 버튼을 눌렀을 때 LED가 켜지고, 누르지 않았을 때 꺼지는지 확인.

 

6. 토론 및 응용

  • 작동 원리: 버튼 입력과 LED 출력 간의 상호작용 이해.
  • 응용 프로젝트: 다양한 패턴의 LED 제어, 여러 버튼을 사용한 복잡한 제어 등.

 

7. 추가 자료 및 과제

  • 온라인 자료: 아두이노 공식 사이트, 관련 포럼 및 튜토리얼.
  • 과제: 버튼 입력에 따라 LED의 깜박임 패턴을 다르게 하는 프로그램 작성.

 

전문 용어 설명

  1. 디지털 신호: 0(LOW) 또는 1(HIGH)의 값으로 표현되는 전자 신호.
  2. 디지털 입력: 버튼과 같이 ON/OFF 상태를 나타내는 신호를 받는 것.
  3. 디지털 출력: LED와 같은 장치를 제어하기 위해 신호를 보내는 것.
  4. 조건문 (Conditional Statement): 특정 조건을 만족할 때만 실행되는 프로그래밍 명령어.
  5. 상수 (Constant): 값이 변하지 않는 변수.
  6. 변수 (Variable): 값이 변할 수 있는 데이터 저장소.
  7. pinMode(): 아두이노 핀의 모드(입력 또는 출력)를 설정하는 함수.
  8. digitalRead(): 디지털 핀의 현재 상태를 읽는 함수.
  9. digitalWrite(): 디지털 핀에 특정 값(LOW 또는 HIGH)을 출력하는 함수.
  10. GND (Ground): 전기적 접지를 의미하는 핀.
반응형