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
'메이커 자료 > ESP32 : Easy Connector' 카테고리의 다른 글
#6. ESP32 근접센서 활용 주차장 차량감지기 - MAKEITNOW 메이크잇나우 (0) | 2022.01.22 |
---|---|
#5. ESP32 온습도센서 활용, DHT11 - Makeitnow 메이크잇나우 (0) | 2022.01.18 |
#4. ESP32 조도센서 읽어오기 [아날로그 입력] - Makeitnow 메이크잇나우 (0) | 2022.01.17 |
#2. ESP32 LED 제어하기 - on / off - MakeitNow 메이크잇나우 (0) | 2022.01.06 |
#1. ESP32 아두이노 설치 및 세팅하기 - MakeitNow 메이크잇나우 (0) | 2022.01.05 |