본문 바로가기

메이커 자료/ESP32 : Easy Connector

#3. ESP32 버튼으로 LED 제어하기 : 디지털 입력 - Makeitnow 메이크잇나우

2022.01.05 - [메이커 자료/ESP32 : Easy Connector] - #1. ESP32 아두이노 설치 및 세팅하기 - MakeitNow 메이크잇나우

2022.01.06 - [메이커 자료/ESP32 : Easy Connector] - #2. ESP32 LED 제어하기 - on / off - MakeitNow 메이크잇나우

 

 

 

안녕하세요.

MAKE IT NOW : 메이크잇나우 입니다.

이번에는 버튼을 활용하여 디지털 입력에 대해서 알아보도록 하겠습니다.

GPIO제어라고 하는 것은 일반적으로 디지털 출력/디지털 입력을 통하여 사물을 제어하는 것인데요.
대표적으로 LED를 제어하는 것이라고 보시면 될 것 같습니다!!

가장 기초적인 부분이기도 하구요!

그럼 한번 알아보도록 하겠습니다.


 

디지털 입력 - #1 버튼 값 읽어오기

 

STEP 1. 디지털 입력에 대한 이해

  ▶ 디지털 입력은 디지털 신호를 감지하는 것이라고 보시면 됩니다. 
  ▶ 디지털 신호는 0 또는 1의 값인데요, 신호가 들어오면 1 들어오지 않으면 0이라고 보시면 됩니다.
  ▶ 주의할점! 전압에 관계 없이 미세한 전류로도 디지털 신호를 감지 할 수 있기 때문에, 저항을 활용하여 회로적으로 작은 전류도 들어오지 않도록 해주는 것이 필요합니다.

  ▶ 디지털 입력을 위해 사용하는 함수는 digitalRead()라는 함수를 사용할 것이고, 인자로는 디지털 입력을 받은 핀번호를 넣어주면 됩니다.

digitalRead(핀번호)

 
 ▶ 그리고 핀을 입력핀으로 사용하기 위해서 pinMode()라는 함수를 사용할 것입니다.

pinMode(핀번호, 상태)

상태 = INPUT

 

 ▶ 버튼의 상태값을 읽기 위해서 Serial모니터를 활용해보도록 할것입니다. 이를 활용하기 위해서는 Serial.begin()함수와 Serial.println()이라는 함수를 사용할 것입니다.

Serial.begin(보드레이트)
Serial.println(출력할 내용)

 

STEP 2. 선 연결

  ▶ GPIO4핀에 버튼을 연결해 주세요.

 

STEP 3. 예제 코드

  ▶  코드는 간단히 아래와 같이 입력해주시고 업로드
  ▶  결과는 아래의 사진과 같이 버튼을 눌렀을 때 1로 값이 출력되면 됩니다!

void setup() {
  Serial.begin(115200);
  pinMode(4,INPUT);
}

int buttonState = 0;

void loop() {
  buttonState = digitalRead(4);
  Serial.println(buttonState);
}

 

 


 

디지털 입력 - #2 버튼과 LED를 활용하여 GPIO제어하기

 

조금더 활용하여 이번에는 버튼을 눌렀을 때 LED를 제어해보도록 하겠습니다.

 

STEP 1. 회로연

  ▶  4번 핀은 디지털 입력을 사용하고, 5번 핀에는 디지털 출력을 사용할 것입니다.

 

 

STEP 2. 코드 작성 


  ▶ 버튼이 눌렸을 때 LED를 켜고, 버튼이 눌리지 않으면 LED를 끌 것이기 때문에 if 조건문을 활용해서 버튼이 눌렷을 때에만 LED를 제어해주시면 됩니다.
  ▶ 아래 사진과 같이 버튼을 눌렀을 때 LED에 불이 들어오면 될 것 같습니다!

void setup() {
  Serial.begin(115200);
  pinMode(4,INPUT);
  pinMode(5,OUTPUT);
}

int buttonState = 0;

void loop() {
  buttonState = digitalRead(4);
  Serial.println(buttonState);
  if(buttonState == HIGH){
    digitalWrite(5,HIGH);
  }else{
    digitalWrite(5,LOW);
  }
}

 

 

 


▼▼▼ 더 자세한 부분은 아래 강의를 확인해 보세요!! ▼▼▼


MAKE IT NOW Easy Connector 보드를 활용하여 간편하게 IoT 시스템을 학습하고 만들어보세요!

 

 

[메이크잇나우] 쉽게 연결하는 Easy Connect IoT 베이직 키트 (iot 키트 교육 교구 패키지 이지커넥트

[Make it Now] 메이커 제품을 만날 수 있는 마켓입니다.

smartstore.naver.com

 

카카오톡 문의하기 !

 

MAKE IT NOW

카카오톡 채팅을 해보세요.

pf.kakao.com

 

 

 

사업자 정보 표시
메이크잇나우 | 김건욱 | (우 : 13487) 경기도 성남시 분당구 대왕판교로645번길 12 (경기창조경제혁신센터) 9층 | 사업자 등록번호 : 646-35-00394 | TEL : 070-8887-0703 | Mail : kgu0724@makeitnow.kr | 통신판매신고번호 : 2018-성남분당-0517호 | 사이버몰의 이용약관 바로가기