Tutorial ESP32 12/55 - Mashruuc 4 ee WS2812 RGB Srip oo leh Qalabka Barashada ESP32 IoT ee SunFounder
Cashiggan, waxaan ku baran doonaa sida loo xakameeyo xariijimta LED-ga WS2812 iyadoo la adeegsanayo kontoroolka ESP32. Mashruucani wuxuu kuu ogolaanayaa inaad abuurto midabyo kala duwan oo aad xakamayso LED kasta si gooni ah, taasoo ku siinaysa hab xiiso leh oo qurux badan oo aad ku baranayso barnaamijyada iyo elektaroonigga. Markaad dhammayso casharkan, waxaad yeelan doontaa qalab si buuxda u shaqeeya oo awood u leh inuu beddelo midabada iyo qaababka si firfircoon.
Iyadoo la adeegsanayo kontoroolka ESP32 ee SunFounder, kaas oo leh awoodaha Wi-Fi iyo Bluetooth-ka ee ku dhex dhisan, waxaan si fudud ugu xiri karnaa oo u xakameyn karnaa xariijimta LED-ga RGB ee WS2812. Dabacsanaanta xariijimtan LED-ga ah waxay u oggolaanaysaa codsiyo hal abuur leh, haddii ay tahay iftiin qurxin ah ama mashaariic waxbarasho. Si aad u fahanto tillaabooyinka ku lug leh, waxaad tixraaci kartaa fiidiyowga (fiidiyowga 00:00).
Qalabka La Sharxay
Qaybaha ugu muhiimsan ee mashruucan waxaa ka mid ah kontoroolka ESP32 iyo xariijimta LED-ga WS2812. ESP32 waa kontorool awood badan oo qaban kara hawlo la mid ah kuwa Arduino, laakiin leh fursado xiriir oo dheeri ah. Waxay leedahay astaamo hodan ah oo u oggolaanaya inay ku xidhmaato daruuraha, taasoo u oggolaanaysa xakamayn fog iyo diiwaangelin xogeed.
Xariijimta LED-ga WS2812 waxay ka kooban tahay LED-yada RGB ee si gooni ah loo cinwaan karo, taasoo la micno ah in LED kasta la xakameyn karo si uu u muujiyo midabyo kala duwan. Xariijimtu waxay ku shaqeysaa borotokool hal silig ah, taasoo u oggolaanaysa LED-yo badan inay isku xirmaan iyada oo aan lumaynin tayada signal-ka. LED kastaa wuxuu ka kooban yahay darawal ku dhex dhisan oo qaata signal-ka soo gala oo u kordhiya LED-ka xiga ee silsiladda.
Faahfaahinta Xogta
| Soo saaraha | Worldsemi |
|---|---|
| Nambarka qaybta | WS2812 |
| Danabka Logic/IO | 3.5–5.3 V |
| Danabka sahayda | 5 V |
| Qulqulka soo-saarka (kanaal kasta) | 20 mA ugu badnaan |
| Qulqulka ugu sarreeya (kanaal kasta) | 60 mA ugu badnaan |
| Hagaha soo noqnoqoshada PWM | 400 Hz |
| Heerarka xadka gelinta | 0.3 x VDD ilaa 0.7 x VDD |
| Hoos u dhaca danabka / RDS(on) / dheregsanaanta | 0.5 V ugu badnaan |
| Xadka kulaylka | -25 ilaa 80 °C |
| Baakad | 5050 |
| Qoraallo / noocyo kala duwan | Waa la isku xiri karaa xariijimo dheer |
- Hubi sahayda korantada saxda ah (5 V) si aad uga fogaato dhaawaca LED-ga.
- Isticmaal capacitor (100 µF) oo ku xiran darafyada sahayda korantada si loo simo kor u kaca danabka.
- Ka dhig siligyada xogta kuwa gaagaaban si loo yareeyo hoos u dhaca signal-ka.
- Ka digtoonow heerkulka LED-ga; hubi in si fiican loo kala bixiyo kulaylka.
- U fiirso jihooyinka saxda ah markaad ku xirayso korantada iyo dhulka.
- Isticmaal resistor-ka kor u jiidaya ee khadka xogta haddii aad isticmaalayso xariijimo dheer.
Tilmaamaha Xiritaanka

Si aad ugu xirto xariijimta LED-ga WS2812 ee ESP32, ku bilow adigoo ku xira sahayda korantada. Siligga +5V ee xariijimta LED-ga waa in lagu xiraa binka 5V ee ESP32, siligga dhulka (GND) waa in lagu xiraa mid ka mid ah binnada GND ee ESP32.
Marka xigta, ku xir siligga gelinta xogta ee xariijimta LED-ga binka 14 ee ESP32. Hubi in xiridda ay adag tahay si loo hubiyo gudbinta xogta saxda ah. Haddii aad isticmaalayso xariijimo badan ama masaafo dheer, tixgeli inaad isticmaasho level shifter si loo hubiyo tayada signal-ka. Qalabkani wuxuu kuu oggolaanayaa inaad si toos ah u xakamayso xariijimta LED-ga ee ESP32.
Tusaalooyinka Koodhka & Sharaxaadda
Koodhku wuxuu adeegsadaa maktabadda Adafruit NeoPixel si uu u xakameeyo xariijimta LED-ga WS2812. Wuxuu ku bilaabmaa adigoo bilaabaya xariijimta LED-ga oo u dhigaya midabka bilowga ah madow. Aqoonsiyada muhiimka ah ee koodhka waxaa ka mid ah LED_PIN, kaas oo qeexaya binka ku xiran khadka xogta ee xariijimta LED-ga, iyo NUM_LEDS, kaas oo qeexaya tirada LED-yada ee xariijimta.
#include // Ku dar maktabadda Adafruit NeoPixel
#define LED_PIN 14 // Xariijimta LED-ga NeoPixel
#define NUM_LEDS 8 // Tirada LED-yada
Hawsha setup-ka, xariijimta waxaa lagu bilaabaa iyadoo la adeegsanayo strip.begin(), waxaana lagu dhigaa midabka bilowga ah madow iyadoo la adeegsanayo strip.show(). Tani waxay u diyaarisa xariijimta isbeddelada midabka marka barnaamijku shaqeeyo.
void setup() {
strip.begin(); // Bilaab xariijimta NeoPixel
strip.show(); // U dhig midabka bilowga ah madow
}
Loop-ka ugu weyn ee barnaamijku wuxuu ka kooban yahay laba for loop. Loop-ka koowaad wuxuu shidi karaa LED kasta midba midka kale isagoo u dhigaya midabkiisa oo cusboonaysiinaya xariijimta. Loop-ka labaad wuxuu damiyaa LED kasta si la mid ah. Tani waxay abuurtaa animation iftiin oo fudud laakiin wax ku ool ah.
void loop() {
// Shid LED-yada midba midka kale
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 100, 45, 0); // U dhig midabka LED-ga i-aad casaan
strip.show(); // Cusboonaysii xariijimta LED-ga midabada cusub
delay(100); // Sug 100 milliseken
}
// Damii LED-yada midba midka kale
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 0, 0); // U dhig midabka LED-ga i-aad madow (dami)
strip.show(); // Cusboonaysii xariijimta LED-ga midabada cusub
delay(100); // Sug 100 milliseken
}
}
Daawashada koodhka dhammaystiran ee hoos ku qoran maqaalka si aad u hesho faahfaahin dheeri ah oo ku saabsan sida loo hirgeliyo saamaynta midabada kala duwan iyo animations-ka.
Muuujin / Waxa Lagu Filan Karaa
Marka aad dhammeysato fiilalka oo aad kor u gasho koodka, waa inaad aragtaa LEDs-ka ku yaal xariijimaha oo mid mid u iftiimaya midab go'an, ka dibna ay damiyaan isla habkaas. Tani waxay abuurtaa saameyn "nalka ordaya". Haddii LEDs-ku aysan u iftiimin sida la filayo, laba jeer hubi isku xirka fiilalka oo hubi in korontadu ku filan tahay. Sidoo kale, xaqiiji in pin-ka saxda ah lagu qeexay koodka (fiidiyowga 12:30).Waqtiyada Fiidiyowga
- 00:00 Bilow
- 1:40 Hordhac ku saabsan WS2812 LED
- 7:25 Bogga dukumeentiga mashruuca
- 9:16 RGB Midabka oo la sharaxay
- 13:16 Fiilalka oo la sharaxay
- 13:48 Arduino Code-1 oo la sharaxay
- 19:03 Doorashada guddiga ESP32 iyo Port-ka Arduino IDE
- 20:45 Code-1 Tusaale
- 22:00 Xakamaynta LED-ga gaarka ah
- 24:16 Nalka socodka LED
- 25:41 Nalka hore iyo gadaal
#include <Adafruit_NeoPixel.h> // Include the Adafruit NeoPixel library
#define LED_PIN 14 // NeoPixel LED strip
#define NUM_LEDS 8 // Number of LEDs
// Create an instance of the Adafruit_NeoPixel class
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin(); // Initialize the NeoPixel strip
strip.show(); // Set initial color to black
}
void loop() {
// Turn on LEDs one by one
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 100, 45, 0); // Set the color of the i-th LED to red
strip.show(); // Update the LED strip with the new colors
delay(100); // Wait for 100 milliseconds
}
// Turn off LEDs one by one
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 0, 0); // Set the color of the i-th LED to black (turn it off)
strip.show(); // Update the LED strip with the new colors
delay(100); // Wait for 100 milliseconds
}
}
Common Course Links
Common Course Files
Waad u baahan tahay
-
Amaazon
-
eBay
-
AliExpressPurchase WS2812 LED stripe from AliExpresss.click.aliexpress.com
-
AliExpressPurchase WS2812 LED stripe from AliExpress-2s.click.aliexpress.com
-
BanggoodPurchase WS2812 LED stripe from Banggoodbanggood.com
Kheyraadka & Tixraacyada
Wali wax kaydsan ah oo weli ma jiro.
Faylasha📁
Fayl la'aan.