점프하기:
ESP32 Tutorial 1/55 - Introduction to SunFounder's ESP32 IoT Learning kit Software and Arduino IDE ESP32 Tutorial 2/55 - What's ESP32, Camera Extension Board, unboxing SunFounder's ESP32 IoT kit ESP32 Tutorial 3/55 - Resistor, LED, Breadboard Project: Hello LED -ESP32 IoT Learning kit ESP32 튜토리얼 4/55 - 데이터 타입 변수 정의 Int, bool, char, 시리얼 모니터-ESP32 IoT 키트 ESP32 튜토리얼 5/55 - LED 페이드, LED 밝기 제어 - ESP32 IoT 학습 키트 ESP32 튜토리얼 6/55 - RGB LED 사용하기 프로젝트 2.3 - SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 7/55 - ESP32 Arduino 프로그래밍에서 배열 사용하기 - SunFounder의 ESP32 IoT 학습 키트 ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit ESP32 튜토리얼 9/55 - 푸시 버튼을 사용하여 LED 토글하기, 누르면 켜짐, 누르면 꺼짐 - SunFounder ESP32 IoT 키트 ESP32 튜토리얼 10/55 - 세그먼트 디스플레이 74HC595를 사용한 디지털 카운터 - ESP32 IoT 학습 키트 ESP32 튜토리얼 11/55 - ESP32와 함께 LCD1602 LCD2004 사용하기 - SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 12/55 - SunFounder의 ESP32 IoT 학습 키트를 사용한 WS2812 RGB 스트립 4 프로젝트 ESP32 튜토리얼 13/55 - 액티브 버저로 Arduino 비프음 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 14/55 - SunFounder ESP32 IoT 학습 키트를 사용하여 사용자 지정 음악 음표 재생하기 ESP32 튜토리얼 15/55 - ESP32 L293D로 DC 모터 속도 제어 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 16/55 - ESP32와 L293D를 사용한 미니 워터 펌프 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 17/55 - ESP32와 가변저항을 사용한 서보 모터 제어 - ESP32 IoT 학습 키트 ESP32 튜토리얼 18/55 - ESP32를 사용한 기울기 감지 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 19/55 - 적외선 센서를 사용한 장애물 감지 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 20/55 - 라인 트래킹 모듈 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 21/55 - PIR 모션 센서로 사람 감지하기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 22/55 - LED 아두이노로 빛 감지하기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 23/55 - ESP32를 사용하여 가변저항기의 전압 읽기 | SunFounder의 ESP32 IoT 키트 ESP32 튜토리얼 24/55 - 관개를 위한 토양 수분 측정 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 25/55 - NTC 및 LCD를 사용한 온도 측정 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 26/55 - 조이스틱을 아두이노와 함께 사용하여 동작하기 | SunFounder의 ESP32 IoT 키트 ESP32 튜토리얼 27/55 - 초음파 센서로 거리 측정하기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 28/55 - LCD가 있는 DHT11 온도 센서 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 29/55 - ESP32로 IR 리모컨 키 입력 읽기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 30/55 - Adafruit IO 서비스를 사용하여 MQTT를 통해 웹에서 서보 제어하기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 31/55 - 장애물 회피 기능이 있는 LED 스트립 프로젝트 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 32/55 - LCD와 부저를 이용한 자동차 후진 거리 경고 | SunFounder의 IoT 학습 키트 ESP32 튜토리얼 33/55 - SunFounder의 ESP32 IoT 학습 키트를 사용한 디지털 주사위 ESP32 튜토리얼 34/55 - RGB LED와 노브를 사용한 색상 그라데이션 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 35/55 - 식물 모니터, 토양, 온도 및 빛 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 36/55 - 숫자 맞추기 게임 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 37/55 - ESP32 BLE와 블루투스 앱 사용하기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 38/55 - 휴대폰에서 RGB LED 제어하기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 39/55 - ESP32를 블루투스 음악 플레이어로 사용하기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 40/55 - Micro SD 카드 읽기 및 쓰기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 41/55 - Micro SD 카드를 사용한 MP3 플레이어 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 42/55 - 카메라로 사진 촬영하여 Micro SD CAM-1에 저장하기 | SunFounder의 ESP32 키트 ESP32 튜토리얼 43/55 - IoT 인터넷 날씨 스테이션 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 44/55 - ESP32 카메라 웹 서버 WiFi를 통한 비디오 스트림 CAM-2 | SunFounder의 ESP32 키트 ESP32 튜토리얼 45/55 - LED 제어 CAM-3가 포함된 맞춤형 스트리밍 서버 l SunFounder의 ESP32 학습 키트 ESP32 튜토리얼 46/55 - HiveMQ MQTT를 사용한 원격 온도 모니터링 | SunFounder의 ESP32 키트 ESP32 튜토리얼 47/55 - 인터넷을 통한 MQTT를 사용한 WS2812 CheerLights | SunFounder의 ESP32 IoT 키트 ESP32 튜토리얼 48/55 - 원격 온도 모니터링 및 LED 제어 MQTT | SunFounder의 ESP32 IoT 키트 ESP32 튜토리얼 49/55 - Adafruit IoT를 사용하여 인터넷으로 DC 모터 제어하기 | SunFounder의 ESP32 키트 ESP32 튜토리얼 50/55 - 전 세계 어디서나 RGB LED 제어하기 | SunFounder의 ESP32 키트 ESP32 Tutorial 51/55 - Temperature and Humidity over WiFi with DHT | SunFounder's ESP32 IoT Learning Kit ESP32 튜토리얼 52/55 - WS2812 CheerLights MQTT 글로벌 동기화 및 LCD | SunFounder ESP32 IoT 키트 ESP32 튜토리얼 53/55 - LCD 인터넷 시계 만들기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 54/55 - Wifi를 통해 WS2812 LED 스트립 색상 설정하기 | SunFounder의 ESP32 IoT 학습 키트 ESP32 튜토리얼 55/55 - 12V, 24V 또는 100V DC 전압 측정 방법 | SunFounder의 ESP32 IoT 학습 키트
ESP32 튜토리얼 5/55 - LED 페이드, LED 밝기 제어 - ESP32 IoT 학습 키트
이 튜토리얼은 ESP32 마이크로컨트롤러, 특히 SunFounder ESP32 IoT 학습 키트(영상 00:04)를 사용하여 LED의 밝기를 제어하는 방법을 보여줍니다. 이 프로젝트는 펄스 폭 변조(PWM)와 광원의 강도 제어 응용에 대해 배우는 초보자에게 이상적입니다. ESP32의 내장 PWM 기능은 부드럽고 정밀한 제어를 가능하게 하여 창의적인 프로젝트에 다양한 가능성을 열어줍니다.
실용적인 응용:
밝기를 조절할 수 있는 분위기 조명 시스템 만들기.
점진적으로 어두워지는 간단한 야간 조명 만들기.
다양한 상태(예: 배터리 부족, 네트워크 연결)를 표시하는 동적 표시등 개발.
다른 센서 및 액추에이터와 통합하여 복잡한 인터랙티브 설치물 만들기.
하드웨어/부품
이 프로젝트는 SunFounder ESP32 스타터 키트(영상 00:12)를 사용하며, ESP32 마이크로컨트롤러, 확장 보드, 다양한 부품, 18650 리튬 배터리가 포함되어 있습니다. 또한 LED와 220옴 저항(영상 04:32)이 필요합니다.
배선 가이드
영상의 배선 다이어그램(영상 01:46 및 04:18)과 타임스탬프 04:40의 자세한 설명을 참조하세요. 배선은 LED의 애노드를 저항에 연결하고, 저항을 ESP32의 GPIO 26 핀에 연결하며, LED의 캐소드를 접지에 연결하는 것을 포함합니다.
LED_with_Resistor
220옴 저항과 직렬로 연결된 LED입니다. 아래는 브레드보드에서의 배선입니다.
LED_fade_ESP32
코드 설명
Arduino 코드는 펄스 폭 변조(PWM)를 사용하여 LED의 밝기를 제어합니다. 주요 구성 가능한 부분은 다음과 같습니다:
ledPin: LED에 연결된 GPIO 핀을 정의합니다(영상 09:41에서 26으로 설정). 다른 핀을 사용하는 경우 변경하세요.
fadeAmount: LED 밝기가 변경되는 속도를 제어합니다(영상 10:06). 값이 높을수록 페이딩이 빨라집니다. 코드는 밝기가 최소값(0) 또는 최대값(255)에 도달하면 자동으로 방향을 반전합니다(영상 11:44).
const int ledPin = 26; // LED용 GPIO 핀
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // 핀을 PWM 채널에 연결
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
실시간 프로젝트/데모
영상은 페이딩 LED가 작동하는 모습을 보여줍니다(영상 14:51). 강사는 fadeAmount 변수를 조정하여 페이드 속도를 제어하는 방법을 보여줍니다(영상 15:16 및 15:51). ESP32에 코드를 업로드하는 과정도 표시됩니다(영상 14:20).
챕터
[00:00] 소개 및 프로젝트 개요
[00:12] ESP32 스타터 키트 개요
[01:46] 배선 다이어그램 및 설명
[02:03] 디지털 신호 및 PWM
[04:18] LED 배선
[06:33] 코드 설명: 함수
[09:11] 코드 설명: LED 페이딩
[13:33] 코드 업로드
[14:51] 실시간 데모 및 조정
이미지
LED_fade_ESP32
LED_with_Resistor
코드
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
언어: C++
View code
const int ledPin = 26; // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttach(ledPin, 5000, 8); // Attach the LED pin
}
void loop() {
ledcWrite(ledPin, brightness); // Write the new brightness value to the PWM pin
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50); // Wait for 50 milliseconds
}