Ikẹkọ yii ṣe afihan bi a ṣe le ṣakoso imọlẹ LED kan nipa lilo microcontroller ESP32, ni pataki SunFounder ESP32 IoT Learning Kit (ninu fidio ni 00:04). Iṣẹ akanṣe yii dara fun awọn olubere ti n kọ ẹkọ nipa pulse width modulation (PWM) ati awọn lilo rẹ ni ṣiṣakoso agbara awọn orisun imọlẹ. Awọn agbara PWM ti o wa ninu ESP32 ngbanilaaye iṣakoso didan, deede, ṣiṣi awọn aye pupọ fun awọn iṣẹ akanṣe ẹda.
Awọn Lilo Ilowo:
Ṣiṣẹda awọn eto imọlẹ agbegbe pẹlu imọlẹ ti o ṣe atunṣe.
Kọ́ imọlẹ alẹ́ ti o rọrun pẹlu didin diẹdiẹ.
Idagbasoke imọlẹ itọkasi ti o ni agbara fun awọn ipo oriṣiriṣi (fun apẹẹrẹ, batiri kekere, asopọ nẹtiwọki).
Iṣọpọ pẹlu awọn sensosi miiran ati awọn ẹrọ lati ṣẹda awọn fifi sori ẹrọ ibaraenisepo eka.
Ohun elo/Awọn ẹya
Iṣẹ akanṣe yii lo SunFounder ESP32 Starter Kit (ninu fidio ni 00:12), eyiti o pẹlu microcontroller ESP32, igbimọ ifaagun, awọn ẹya oriṣiriṣi, ati batiri litiumu 18650. Iwọ yoo tun nilo LED kan ati resistor 220-ohm (ninu fidio ni 04:32).
Itọsọna Asopọ
Tọka si aworan asopọ ninu fidio (ninu fidio ni 01:46 ati 04:18) ati alaye alaye ni aago 04:40. Asopọ naa pẹlu sisopọ anode LED si resistor, resistor si pin GPIO 26 ti ESP32, ati cathode LED si ilẹ.
LED_pẹlu_Resistor
LED ni ọna ṣiṣan pẹlu resistor 220 ohm. Ni isalẹ ni asopọ lori breadboard.
LED_fade_ESP32
Alaye Koodu
Koodu Arduino lo Pulse Width Modulation (PWM) lati ṣakoso imọlẹ LED. Awọn ẹya pataki ti o ṣe atunto ni:
ledPin: Ṣalaye pin GPIO ti o sopọ si LED (ninu fidio ni 09:41, ṣeto si 26). Yi eyi pada ti o ba lo pin ti o yatọ.
fadeAmount: Ṣakoso iwọn ti imọlẹ LED ṣe yipada (ninu fidio ni 10:06). Iye ti o ga julọ yorisi didin yiyara. Koodu naa laifọwọyi yi itọsọna pada nigbati imọlẹ ba de iye ti o kere julọ (0) tabi ti o pọ julọ (255) (ninu fidio ni 11:44).
const int ledPin = 26; // Pin GPIO fun LED
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // So pin si ikanni PWM
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
Iṣẹ akanṣe Ifiwe/Ifihan
Fidio naa ṣe afihan LED ti n didin ni iṣe (ninu fidio ni 14:51). Olukọni naa ṣe afihan bi a ṣe le ṣatunṣe oniyipada fadeAmount lati ṣakoso iyara ti didin (ninu fidio ni 15:16 ati 15:51). Ilana ti gbigbe koodu si ESP32 tun han (ninu fidio ni 14:20).
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
Ede: C++
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
}
Ifihan: Gẹ́gẹ́ bíi ọmọ ẹgbẹ́ Amazon, a ń rí owó láti inú rira tó yẹ. Èyí túmọ̀ sí i pé a lè gba owó kékèké tí o bá tẹ̀ sí ìjápọ̀ kan kí o sì ra nkan kan láìsí owó míràn fún ọ.