Search Code

Tutoriel ESP32 6/55 - Utilisation de la LED RVB Projet 2.3 - Kit d'apprentissage IoT ESP32 de SunFounder

Tutoriel ESP32 6/55 - Utilisation de la LED RVB Projet 2.3 - Kit d'apprentissage IoT ESP32 de SunFounder

Na boyekoli oyo, tokoyekola ndenge ya kokamba mbwaki ya RGB na esaleli ya microcontrôleur ya ESP32. Projɛ oyo ekosalisa yo koyeba ndenge ya kokangisa mbwaki ya RGB mpe kokamba balangi na yango na esaleli ya bilembo ya PWM (Pulse Width Modulation). Na suka ya boyekoli oyo, okokoka kosala balangi nyonso na kobongola makasi ya eteni nyonso ya mbwaki. Yango ezali mombongo ya liboso mpo na kosala ba projets oyo ezali na kitoko.

Mpo na koyeba malamu mbwaki ya RGB mpe makoki na yango ya kosangisa balangi, tokotala ndenge ya kokangisa ba fils mpe kode oyo esengeli mpo na kokamba yango na ESP32. Soki osengeli na lisalisi ya miso, tala video na (na video na 03:20) mpo na ndimbola ya polele ya kokangisa ba fils mpe kode.

Esaleli ya Hardware

Biteni ya minene ya projɛ oyo ezali module ya ESP32, mbwaki ya RGB, mpe ba résistances. ESP32 ezali microcontrôleur ya makasi oyo ezali na Wi-Fi mpe Bluetooth ya kati, oyo esalaka ete ezala malamu mpo na ba applications ya IoT. Mbwaki ya RGB ezali na ba mbwaki misato ya moko-moko (motane, vert, mpe bleu) oyo ezali na kati ya emballage moko, oyo epesaka bokeseni monene ya balangi kolanda bosangani ya balangi misato yango.

Na mise en place na biso, mbwaki ya RGB ekokangama na configuration ya anode commune, epai anode pin ekokangama na tension positive, mpe cathode pin ya eteni nyonso ekokambama na ndenge ya moko. Na ndenge wana, tokoki kobongola pole ya eteni nyonso na kotinda bilembo ya PWM na nzela ya ESP32.

Bilenge ya Datasheet

MosaliSunFounder
Numero ya eteniRGB-LED-4PIN
Lolenge ya communeAnode commune
Tension ya liboso (na eteni)2.0 V (Motane), 3.2 V (Vert), 3.2 V (Bleu)
Courant ya makasi (na eteni)20 mA
Température ya mosala-25 kino 85 °C
EmballagePin 4 ya nzela ya libanga

  • Salela résistance ya 220 Ω mpo na eteni nyonso mpo na kokanga courant mpe kopekisa kobebisama.
  • Tiká ete pin ya commune ekokangama na tension oyo esengeli (3.3 V mpo na ESP32).
  • Vérifier polarité tango okokangisa mbwaki ya RGB mpo na kopekisa kobebisama ya kozongisa.
  • Salela PWM mpo na kokamba makasi ya pole, na fréquence ya 5000 Hz oyo epesameli.
  • Meka eteni nyonso na ndenge ya moko liboso ya kokangisa mise en place nyonso.

Bilenge ya Kokangisa Ba Fils

Mpo na kokangisa mbwaki ya RGB na ESP32, banda na koyeba ba pins ya mbwaki ya RGB. Pin ya molai koleka ezali anode commune, oyo ekokangama na tension ya 3.3 V na ESP32. Ba pins misato mosusu ezali mpo na motane, vert, mpe bleu. Na mise en place na biso, kokangisa pin ya motane na GPIO 27, pin ya vert na GPIO 26, mpe pin ya bleu na GPIO 25. Na moko ya ba pins oyo, ekosalama mpe résistance ya 220 Ω oyo ekokangama na yango.

Banda na kotia mbwaki ya RGB na breadboard, na kotalela ete pin ya anode commune ezali na loboko ya gauche. Kotisa pin ya motane na breadboard mpe kokangisa yango na suka moko ya résistance, mpe suka mosusu ya résistance ekokende na GPIO 27. Zongela yango mpo na ba pins ya vert mpe bleu, kokangisa pin ya vert na GPIO 26 mpe pin ya bleu na GPIO 25. Na suka, kokangisa pin ya commune na pin ya 3.3 V na ESP32 mpo na kosukisa circuit. Tika ete okokangisa mpe terre ya ESP32 na breadboard.

ESP32_RGB_LED_wiring_lesson_06

Ba Kode ya Bandakisa mpe Ndimbola

Na kode, tobandi na kopesa ba pins ya mbwaki ya RGB na esaleli ya ba constantes. Na ndakisa, const int redPin = 27; ekesenisi pin ya GPIO mpo na mbwaki ya motane. Toti mpe fréquence ya PWM mpe résolution na const int freq = 5000; mpe const int resolution = 8;. Oyo esalelaka ba paramètres oyo esengeli mpo na kokamba pole ya eteni nyonso ya mbwaki.

const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;

Na sima, tokomisonga ba canaux ya PWM mpo na eteni nyonso na fonction setup(). Fonction ledcAttach() ekangisaka pin moko na moko na canal ya PWM oyo ekokani. Mise en place oyo esalelaka ete tokoka kokamba pole ya eteni nyonso na ndenge ya moko.

void setup() {
  ledcAttach(redPin, freq, resolution);
  ledcAttach(greenPin, freq, resolution);
  ledcAttach(bluePin, freq, resolution);
}

Na fonction loop(), tosalelaka fonction setColor() mpo na kobongola balangi ya mbwaki. Ba valeurs oyo epesameli na fonction oyo ezali kopesa makasi ya motane, vert, mpe bleu. Na ndakisa, kobenga setColor(255, 0, 0); ekomisaka mbwaki na motane. Na sima ya bobongoli ya eteni nyonso, tosalelaka delay(1000); mpo na kozela seconde moko liboso ya kobongola na eteni oyo elandi.

void loop() {
  setColor(255, 0, 0); // Motane
  delay(1000);
  setColor(0, 255, 0); // Vert
  delay(1000);
}

Ndimbola / Nini Okokanela

Na sima ya kosukisa kokangisa ba fils mpe kotia kode na ESP32, okomona mbwaki ya RGB ezali koleka na balangi ndenge na ndenge: motane, vert, bleu, jaune, violet, mpe cyan. Soki mbwaki ebongwani te malamu, tala lisusu kokangisa ba fils na yo mpe tika ete anode commune ekokangama na 3.3 V. Na lisusu, soki omoni balangi oyo ozalaki kolikya te, vérifier ba connexions ya ba résistances na ba pins ya mbwaki.

Ndenge emonisami na video (na video na 10:45), kobongola ba valeurs na fonction setColor() epesaka yo makoki ya kosala balangi ndenge na ndenge. Meka na ba combinaisons ndenge na ndenge mpo na komona ndenge mbwaki ya RGB ezali koyanola.

Ba Temps ya Video

  • 00:00 - Bokambisi na RGB LED
  • 03:20 - Ndimbola ya bobongisi ya singa
  • 10:45 - Botambolisi ya kode
  • 12:30 - Emoniseli ya kosangisa ba couleurs

Images

ESP32_rgb_pin
ESP32_rgb_pin
ESP32_RGB_led_wires
ESP32_RGB_led_wires
ESP32_RGB_LED_wiring_lesson_06
ESP32_RGB_LED_wiring_lesson_06
806-ESP32 Tutorial 6/55 - Arduino code to control RGB LED with ESP32
Langue: C++
// Define RGB LED pins
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;

// Define PWM frequency and resolution
const int freq = 5000;
const int resolution = 8;

void setup() {
  // Set up PWM pins
  ledcAttach(redPin, freq, resolution);
  ledcAttach(greenPin, freq, resolution);
  ledcAttach(bluePin, freq, resolution);
}

void loop() {
  setColor(255, 0, 0); // Red
  delay(1000);
  setColor(0, 255, 0); // Green
  delay(1000);
  setColor(0, 0, 255); // Blue
  delay(1000);
  setColor(255, 255, 0); // Yellow
  delay(1000);
  setColor(80, 0, 80); // Purple
  delay(1000);
  setColor(0, 255, 255); // Cyan
  delay(1000);
}

void setColor(int red, int green, int blue) {
  ledcWrite(redPin, red);
  ledcWrite(greenPin, green);
  ledcWrite(bluePin, blue);
}

Mokili na bisika

Fichiers📁

Aucun fichier disponible.