ESP8266 - 포텐쇼미터 LED | ESP8266 - Potentiometer LED
이전 튜토리얼에서, 우리는 포텐시오미터의 출력 값에 따라 LED의 밝기를 변경하는 방법을 배웠습니다.
이 튜토리얼은 ESP8266과 포텐쇼미터를 사용하여 LED를 제어하는 방법을 안내합니다. 자세히:
- 팟메터의 아날로그 값이 임계값보다 클 경우, ESP8266은 LED를 켭니다.
- 팟메터의 아날로그 값이 임계값보다 작을 경우, ESP8266은 LED를 끕니다.
- 팟메터의 출력 전압이 임계값보다 클 경우, ESP8266은 LED를 켭니다.
- 팟메터의 출력 전압이 임계값보다 작을 경우, ESP8266은 LED를 끕니다.
준비물
1 | × | ESP8266 NodeMCU | Amazon | |
1 | × | Micro USB Cable | Amazon | |
1 | × | Potentiometer | 쿠팡 | 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와 가변저항(핀 배치, 기능성, 프로그래밍 등)에 익숙하지 않다면, 다음 튜토리얼들이 더 많은 정보를 제공할 수 있습니다:
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP8266의 핀 배치 및 ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.
ESP8266 코드 - 아날로그 임계값
/*
* 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다
* 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/esp8266/esp8266-potentiometer-led
*/
const int POTENTIOMETER_PIN = A0; // ESP8266 핀이 저항기 핀에 연결됨
const int LED_PIN = D8; // ESP8266 핀이 LED의 핀에 연결됨
// 설정 함수는 재설정 또는 전원 켤 때 한 번 실행됩니다.
void setup() {
// 시리얼 모니터와 통신하기 위해 시리얼을 초기화합니다.
Serial.begin(9600);
// LED 핀을 출력으로 선언합니다.
pinMode(LED_PIN, OUTPUT);
}
// 루프 함수는 무한히 반복됩니다.
void loop() {
// 아날로그 핀 A0에서 입력을 읽습니다 (값은 0에서 1023 사이)
int analog_value = analogRead(POTENTIOMETER_PIN);
// 그것을 밝기로 스케일링합니다 (값은 0에서 255 사이)
int brightness = map(analog_value, 0, 1023, 0, 255);
// 3번 핀에 연결된 LED의 밝기를 설정합니다.
analogWrite(LED_PIN, brightness);
// 값 출력
Serial.print("Analog: ");
Serial.print(analog_value);
Serial.print(", Brightness: ");
Serial.println(brightness);
delay(100);
}
사용 방법
ESP8266을 Arduino IDE에서 시작하려면 다음 단계를 따르세요:
- ESP8266을 처음 사용하는 경우 Arduino IDE에서 ESP8266 환경 설정 방법 튜토리얼을 확인하세요.
- 다이어그램에 표시된대로 구성 요소를 연결하세요.
- USB 케이블을 사용하여 ESP8266 보드를 컴퓨터에 연결하세요.
- 컴퓨터에서 Arduino IDE를 엽니다.
- 올바른 ESP8266 보드(예: NodeMCU 1.0 (ESP-12E Module))와 해당 COM 포트를 선택하세요.
- USB 케이블을 ESP8266과 PC에 연결하세요.
- Arduino IDE를 실행하여 올바른 보드와 포트를 선택하세요.
- 코드를 복사하고 Arduino IDE에서 엽니다.
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 ESP8266에 컴파일 및 업로드하세요.
- 포텐쇼미터를 돌리세요
- LED 상태의 변화를 확인하세요
코드 설명
소스 코드의 주석에 포함된 줄별 설명을 확인하세요!
ESP8266 코드 - 전압 임계값
포텐쇼미터의 아날로그 값이 전압 값으로 변환됩니다. 이 전압 값은 전압 임계값과 비교되며, 이로 인해 LED가 작동하게 됩니다.
/*
* 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다
* 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다.
* 상세한 지침 및 연결도에 대해서는 다음을 방문하세요:
* https://newbiely.kr/tutorials/esp8266/esp8266-potentiometer-led
*/
#define POTENTIOMETER_PIN A0 // ESP8266 핀이 연결된 포텐시오미터 핀
#define LED_PIN D8 // ESP8266 핀이 연결된 LED의 핀
#define VOLTAGE_THRESHOLD 2.5 // 전압
void setup() {
pinMode(LED_PIN, OUTPUT); // ESP8266 핀을 출력 모드로 설정
}
void loop() {
int analog_value = analogRead(POTENTIOMETER_PIN); // 아날로그 핀에서 입력을 읽음
float voltage = floatMap(analog_value, 0, 1023, 0, 5); // 포텐시오미터의 전압으로 재조정
if (voltage > VOLTAGE_THRESHOLD)
digitalWrite(LED_PIN, HIGH); // LED 켜짐
else
digitalWrite(LED_PIN, LOW); // LED 꺼짐
}
float floatMap(float x, float in_min, float in_max, float out_min, float out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.