ESP8266 - LED | ESP8266 - LED
이 튜토리얼은 ESP8266을 사용하여 LED를 제어하는 방법에 대해 안내합니다. 구체적으로, 우리는 다음을 배울 것입니다:
- ESP8266에 LED를 연결하는 방법
- ESP8266을 프로그래밍하여 LED를 켜거나 끄는 방법
- ESP8266을 프로그래밍하여 LED를 깜박이게 하는 방법
준비물
1 | × | ESP8266 NodeMCU | Amazon | |
1 | × | Micro USB Cable | Amazon | |
1 | × | LED | Amazon | |
1 | × | 220 ohm resistor | Amazon | |
1 | × | Breadboard | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 5V Power Adapter for ESP8266 | Amazon | |
1 | × | (Optional) Screw Terminal Expansion Board for ESP8266 | 쿠팡 | Amazon |
LED에 대하여
LED 핀배열
LED는 두 개의 핀이 있습니다:
- 음극(-) 핀: 전원 공급 장치의 음수에 연결되어야 합니다
- 양극(+) 핀: 저항기를 통해 전원 공급 장치의 양수에 연결되어야 합니다
작동 원리
아래 표는 전원이 LED의 핀에 연결되는 방식에 따른 LED 상태를 보여줍니다.
LED cathode(-) pin | LED anode(+) pin | Condition | LED state |
---|---|---|---|
GND | VCC | via a resistor | ON |
GND | PWM | via a resistor | ON, variable brightness |
GND | GND | any | OFF |
VCC | VCC | any | OFF |
VCC | GND | any | burned! cautious! |
위 표에서와 같이 LED의 양극(+)에 PWM 신호를 생성함으로써 LED의 밝기가 PWM 값에 따라 변화합니다. 이는 ESP8266 fade LED 튜토리얼에서 자세히 설명되었습니다.
※ NOTE THAT:
- 대부분의 LED의 경우 전류로부터 LED를 보호하기 위해 저항이 필요합니다. 저항을 배치하는 데에는 두 가지 옵션이 있습니다: 양극(+)과 VCC 사이, 또는 음극(-)과 GND 사이입니다. 저항의 값은 LED의 사양에 따라 달라집니다.
- 일부 종류의 LED에는 내장된 저항이 있습니다. 이 경우에는 저항이 필요하지 않습니다.
ESP8266 - LED
ESP8266의 핀이 디지털 출력으로 설정될 때, GND 또는 VCC 전압을 가질 수 있도록 프로그래밍될 수 있습니다.
ESP8266의 핀을 저항기를 통해 LED의 양극(+) 핀에 연결하세요. 이를 통해 프로그래밍을 통해 LED의 상태를 제어할 수 있습니다.
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP8266의 핀 배치 및 ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.
어떻게 프로그래밍하는가
ESP8266의 핀을 디지털 출력 모드로 설정하려면 pinMode() 함수를 사용하십시오. 예를 들어, 핀 GPIO9의 경우:
LED를 끄려면 digitalWrite() 함수를 사용하여 핀을 GND로 프로그래밍하세요:
digitalWrite() 함수를 사용하여 핀을 VCC로 프로그래밍하고 LED를 켭니다.
ESP8266을 사용한 LED 제어 코드
사용 방법
Arduino IDE에서 ESP8266을 시작하는 방법은 다음과 같습니다:
- ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정 방법 튜토리얼을 확인하세요.
- 다이어그램에 표시된 대로 구성 요소를 연결하세요.
- USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 Arduino IDE를 엽니다.
- 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266 보드에 컴파일하고 업로드하세요.
결과를 확인하세요: 내부 LED 불빛이 매초마다 정규적인 패턴으로 켜지고 꺼집니다.
코드 설명
소스 코드의 주석에 포함된 각 줄에 대한 설명을 확인하세요!
※ NOTE THAT:
위의 코드는 delay()를 사용합니다. 이 함수는 지연 기간 동안 ESP8266이 다른 작업을 수행하는 것을 방지합니다. 여러분의 프로젝트가 특정 작업을 완료해야 한다면, ESP8266이 차단되지 않도록 Arduino용 논블로킹 방법을 사용해야 합니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.
추가 지식
- 한 번에 핀은 하나의 작업만 수행할 수 있습니다. 이미 다른 작업(예: 디지털 입력, 아날로그 입력, PWM, UART 등)에 할당된 경우, LED를 제어하는 디지털 출력으로 사용해서는 안 됩니다. 예를 들어, Serial.println() 함수를 사용하는 경우, GPIO1(TX) 및 GPIO3(RX) 핀은 시리얼을 위해 예약되어 있기 때문에 다른 용도로는 사용해서는 안 됩니다.
- 이 튜토리얼은 ESP8266의 출력 핀을 사용하여 LED를 제어하는 방법을 보여줍니다. 이 코드를 사용하여 큰 기계를 포함한 모든 장치의 ON/OFF를 전환할 수 있습니다.
- 5볼트 이상의 전원 공급이 필요하고/또는 고전류 소비가 필요한 장치/기계의 경우, 출력 핀과 장치/기계 사이에 릴레이를 사용해야 합니다. 더 많은 정보는 ESP8266 - 릴레이에서 찾을 수 있습니다.