Search Code

Mashruuca LED Matrix-ka RGB ee ESP32-S3 1- Dhibic Aasaasi ah

Mashruuca LED Matrix-ka RGB ee ESP32-S3 1- Dhibic Aasaasi ah

Mashruuc 1 – Dhibic Socota iyo Animation Qalbi ah oo ku yaal ESP32-S3 RGB LED Matrix

Mashruucan waxaan ku bilaabaynaa animation-ka ugu fudud ee suurtogalka ah ee ESP32-S3 RGB LED Matrix: dhibic keliya oo ku socota 8×8 RGB display-ka. Intaa waxaa dheer, waxaan ku daraynaa animation yar oo qalbi ah si aad ugu beddesho board-ka qalab qurxin oo yar marka uu shidan yahay. Tani waa tillaabada koowaad ee fiican si aad ugu barato xakamaynta pixels-ka shaqsiyeed, midabada, iyo xawaaraha animation-ka ee matrix-ka.

Dhammaan lixda mashruuc ee taxanahan waxaa lagu muujiyay oo lagu sharaxay hal fiidiyoow. Isla fiidiyoowga ayaa ku lifaaqan boggan, si aad u daawato sharaxaadda buuxda ee tallaabo-tallaabo ah iyo muujinta tooska ah ee dhibicda socota iyo animation-ka qalbiga. Koodhka dhammaystiran ee mashruucan waxaa si toos ah loogu shubay hoosta maqaalka, waxaadna ka iibsan kartaa qalabka ESP32-S3 RGB LED Matrix ee dukaamada la xidhiidha ee ku qoran qaybta koodhka.

Haddii aad dhalinyar tahay oo aad bilaabayso board-kan, mashruucan waa hab fiican oo aad ku:

  • Xaqiijiso in board-kaaga ESP32-S3 iyo xidhiidhka USB ay shaqeynayaan.
  • Xaqiijiso in 8×8 RGB matrix-ka uu ku xiran yahay pin-ka saxda ah.
  • Tijaabiso waqtiga animation-ka aasaasiga ah, midabka, iyo iftiinka.

Guudmar Guud ee Qalabka ESP32-S3 RGB LED Matrix

Board-ka loo isticmaalay mashruucan wuxuu ku salaysan yahay microcontroller-ka ESP32-S3, oo lagu daray 8×8 RGB LED matrix (64 RGB LED oo si shaqsiyeed loo xakameyn karo), sensor-ka dhaqdhaqaaqa QMI8658C oo dhabarka ku yaal, iyo deked USB ah oo loogu talagalay koronto iyo barnaamijyada.:contentReference[oaicite:0]{index=0}

Sifooyinka muhiimka ah ee qalabkan:

  • ESP32-S3 microcontroller laba-xudun ah oo leh taageerada Wi-Fi iyo Bluetooth.
  • 8×8 RGB LED matrix (64 RGB LED) oo hortiisa board-ka ku yaal, oo ku habboon astaamaha, qoraalka, iyo ciyaaraha yaryar.
  • QMI8658C accelerometer / sensor-ka dhaqdhaqaaqa oo dhabarka ku yaal, si aad u ogaan karto leexashada, dhaqdhaqaaqa, iyo jihada mashruucyada is-dhexgalka ah.
  • Deked USB oo loogu talagalay barnaamijyada iyo korontada labadaba.
  • Pins-ka la heli karo oo hareeraha ku yaal, si board-ka loo isticmaali karo sida ESP32 caadi ah oo kale mashruucyada IO kale.
  • Badhamada boot iyo reset si aad u gasho qaabka barnaamijyada iyo dib u bilaabista sketch-kaaga.

Mashruucan koowaad waxaan kaliya u isticmaalaynaa qaybta LED matrix-ka ee board-ka, laakiin isla qalabkan ayaa awood u leh inuu muujiyo qoraalada, fariimaha lagu xakameeyo web-ka, ciyaaraha lagu xakameeyo dhaqdhaqaaqa, iyo waxyaabo kale oo badan — kuwaas oo lagu daboolay mashruucyada kale ee taxanahan.

Mashruucyada Lagu Daboolay Fiidiyoowga (Waqtiyada)

Dhammaan lixda mashruuc waxay wadaagaan isla fiidiyoowga YouTube-ka. Waqtiyada qiyaas ahaan waa:

  • 00:00 – Hordhac
  • 02:01 – Rakibidda board-yada ESP32
  • 03:32 – Rakibidda maktabadaha
  • 05:32 – Mashruuc 1: Dhibic Socota (iyo dejinta midabka / xawaaraha aasaasiga ah)
  • 11:11 – Mashruuc 2: Qoraal Gurguuran
  • 12:59 – Mashruuc 3: Qoraal HTTP
  • 16:41 – Mashruuc 4: Dhibic Leexsan
  • 18:55 – Mashruuc 5: Fallaro Kor u ah
  • 20:02 – Mashruuc 6: Ciyaarta Bartilmaameedka

Si aad u fahanto sida ugu fiican, waxaa lagugula talinayaa inaad daawato fiidiyoowga adigoo raacaya maqaalkan. Fiidiyoowgu wuxuu muujinayaa dhaqanka tooska ah ee dhibicda iyo qalbiga ee matrix-ka, iyo dhammaan tillaabooyinka ku dhex jira Arduino IDE-ga.

Rakibidda Board-yada ESP32 ee Arduino IDE

Ka hor intaadan soo gelin koodh kasta oo ku yaal ESP32-S3, waa inaad rakibtaa xirmada taageerada board-ka ESP32 ee Arduino IDE-ga. Fiidiyoowga, tan waxaa lagu muujiyay qaybta “rakibidda board-yada”.

Tallaabooyinka guud:

  1. Fur Arduino IDE-ga oo aad File > Preferences.
  2. Gudaha goobta “Additional Boards Manager URLs”, ku dar URL-ka rasmiga ah ee board-yada ESP32.
  3. Fur Tools > Board > Boards Manager…, raadi ESP32, oo rakib xirmada board-yada ESP32.
  4. Ka dib rakibidda, aad Tools > Board oo dooro gelitaanka board-ka saxda ah ee qalabkaaga ESP32-S3 RGB Matrix.
  5. Ku xidh board-ka USB-ga oo dooro serial port-kiisa hoos yimaada Tools > Port.

Haddii board-ka iyo port-ka saxda ah aan la dooran, sketch-kaagu ma soo geli doono, xitaa haddii koodhkaagu sax yahay.

Rakibidda NeoMatrix iyo Maktabadaha Loo Baahan Yahay

LED matrix-ku wuxuu gudaha u isticmaalaa darawalka Adafruit NeoPixel, si fudud oo 2D ahna waxaan u isticmaalnaa maktabadda Adafruit NeoMatrix. Rakibidda NeoMatrix waxay si toos ah u soo jiidi doontaa kuwa ay ku xiran yihiin.

NeoMatrix iyo Kuwa Ay Ku Xiran Yihiin

Rakib kuwa soo socda ee ka yimaada Library Manager-ka:

  • Adafruit NeoMatrix
  • Adafruit NeoPixel
  • Adafruit GFX Library

Gudaha Library Manager-ka:

  1. Fur Sketch > Include Library > Manage Libraries….
  2. Raadi Adafruit NeoMatrix oo guji Install.
  3. U oggolow IDE-ga inuu rakibo dhammaan kuwa la soo jeediyay ee ay ku xiran yihiin (Adafruit GFX iyo Adafruit NeoPixel).

Maktabadda Sensor-ka Dhaqdhaqaaqa QMI8658C (Mashruucyada Dambe)

Mashruuca 1 ma isticmaalo accelerometer-ka si toos ah, laakiin waa fikrad fiican inaad hadda rakibto maktabadda sensor-ka dhaqdhaqaaqa maxaa yeelay waxaa loo baahan doonaa Mashruucyada 4, 5, iyo 6.

Ka yimaada Library Manager-ka:

  1. Raadi maktabadda QMI8658 magaca qoraaga.
  2. Rakib maktabadda si ay uga soo baxdo hoos yimaada File > Examples si aad si degdeg ah u tijaabiso.

Mashruuc 1 – Dejinta Koodhka (Dhibic Socota iyo Qalbi)

Qoraalka buuxa ee socodsiiya Mashruuca 1 ayaa si toos ah hoos loogu shubay maqaalkan shabakadda. Halkan waxaan diiradda saareynaa oo kaliya goobaha muhiimka ah ee aad u badan tahay inaad beddesho: biinka, tirada pixels-ka, iftiinka, midabka, iyo xawaaraha animation-ka. Wixii animation-ka wadnaha waxaan sidoo kale muujineynaa sida loo xakameeyo midabka iyo in wadnuhu yahay mid adag ama qaab dulmar ah.

Biinka LED-ka iyo Tirada Pixels-ka

Qaybtan, matrix-ka RGB ee 8×8 wuxuu ku xiran yahay GPIO 14 ee ESP32-S3. Tirada guud ee pixels-ka waa 64 (8 × 8). Koodhkaaga, waa inaad aragtaa wax la mid ah:

 
// Biinka ku xiran matrix-ka RGB ee 8×8 
const int MATRIX_PIN = 14;
 // waa inuu ahaadaa 14 qaybtan 
// Tirada guud ee LED-yada (matrix 8 × 8) 
const int NUMPIXELS = 64; // beddel kaliya haddii aad isticmaasho cabbir matrix oo kala duwan 

Haddii aad si kadis ah uga tagto NUMPIXELS 16 (oo ka yimid tusaalaha asalka ah ee NeoPixel), kaliya rubuc matrix-ka ayaa la isticmaali doonaa animation-kuna ma buuxin doono shaashadda 8×8 oo dhan.

Nidaamka Midabka iyo Nooca LED-ka

Xariijimaha LED-ka iyo matrix-yada kala duwan waxay isticmaali karaan nidaamyo midab oo kala duwan (tusaale, GRB halkii RGB). Matrix-ka ku yaal guddigan wuxuu filayaa nidaamka RGB. Marka la dhisayo NeoPixel ama NeoMatrix, hubi in nooca midabka si sax ah loo dejiyay:


 // Tusaale shayga NeoPixel: 
Adafruit_NeoPixel pixels( NUMPIXELS, MATRIX_PIN, NEO_RGB + NEO_KHZ800 // hubi in tani ay u dhigmaan nidaamka midabka matrix-ka ); 

Haddii aad ogaato in casaanka iyo cagaarku isweydaarsan yihiin shaashadda, marka hore hubi sadarkan oo sax nidaamka midabka.

Xawaaraha Animation-ka (Dib u dhigma inta u dhaxaysa tillaabooyinka)

Xawaaraha dhibcaha socda waxaa badanaa lagu xakameeyaa qiime dib u dhigma oo fudud oo milliseken ah. Dib u dhigma yar waxaa loola jeedaa dhaqaaq degdeg ah; dib u dhigma weyn waxaa loola jeedaa dhaqaaq gaabis ah. Raadi doorsoome la mid ah:

 
// Dib u dhigma inta u dhaxaysa dhaqaaqyada dhibcaha (milliseken)
 int dotDelayMs = 50; // 50 ms waa mid si fiican u degdeg badan 

Hagaajinta caadiga ah:

  • Deji dotDelayMs = 20; dhibic aad u degdeg badan.
  • Deji dotDelayMs = 100; ama ka sareeya animation gaabis ah, oo deggan.

Farsamada loop(), qiimahan waxaa badanaa lagu gudbiyaa delay(dotDelayMs); ka dib cusboonaysiinta qaab kasta.

Midabka Dhibcaha iyo Iftiinka

Midabka RGB ee dhibcaha socda waxaa lagu xakameeyaa saddex qiime oo u dhexeeya 0–255 (casaan, cagaar, buluug). Tusaale ahaan:

 
// Midabka dhibcaha (R, G, B) laga bilaabo 0–255 uint8_t dotRed = 255; // casaan buuxa 
uint8_t dotGreen = 0; // cagaar ma leh 
uint8_t dotBlue = 0; // buluug ma leh 

Tani waxay soo saari doontaa dhibic casaan dhalaalaya. Isku darka waxtarka leh:

  • Casaan saafi ah: (255, 0, 0)
  • Cagaar saafi ah: (0, 255, 0)
  • Buluug saafi ah: (0, 0, 255)
  • Jaalle: (255, 255, 0)
  • Cad: (255, 255, 255)

Iftiinka guud waxaa badanaa lagu xakameeyaa farsamo iftiin oo gooni ah:

 
// Iftiinka guud ee matrix-ka (0–255) 
uint8_t matrixBrightness = 40; // hoos u dhig si aad uga fogaato iftiin xad dhaaf ah // In setup(): matrix.setBrightness(matrixBrightness); 

Qiime ku dhow 30–60 badanaa waa mid raaxo leh gudaha.

Goobaha Qaabka Wadnaha

Marka lagu daro dhibcaha socda, waxaad sidoo kale soo bandhigi kartaa wadne yar matrix-ka marka guddigu marka hore shido. Koodhka tusaalaha maqaalka (hoos lagu shubay) wuxuu ku darayaa goobo la mid ah:

 
// Midabka wadnaha (wadne adag) 
uint8_t heartRed = 255; 
uint8_t heartGreen = 0; 
uint8_t heartBlue = 0; 
// Ikhtiyaar: qaabab qaanso-roobaad ama dulmar 
bool showOutlinedHeart = false; 
// run = dulmar kaliya 
bool useRainbowHeart = false; 
// run = wareeji midabada waqti ka dib 

Isticmaalka caadiga ah:

  • Deji showOutlinedHeart = false; iyo useRainbowHeart = false; wadne casaan adag.
  • Deji showOutlinedHeart = true; si aad u muujiso kaliya dulmarka wadnaha.
  • Deji useRainbowHeart = true; si aad si joogto ah ugu wareejiso midabka wadnaha qaab qaanso-roobaad.

Wadnaha waxaa lagu sawiraa iyadoo la isticmaalayo farsamooyinka isku-duwayaasha NeoMatrix gudaha koodhka hoose ee maqaalka. Kaliya waxaad u baahan tahay inaad beddesho doorsoomayaasha kor ku xusan si aad u habeysato muuqaalkiisa.

Soo Koobid

Mashruuca 1 wuxuu ku siinayaa bilow fudud laakiin awood leh oo leh ESP32-S3 RGB LED Matrix: waxaad barataa sida loo wajaho dhammaan 64 pixels-ka, loo xakameeyo midabka, loo hagaajiyo iftiinka, iyo loo dejiyo xawaaraha animation-ka. Waxaad sidoo kale aragtaa sida ay u fudud tahay inaad u beddesho dhibic socda ilaa wadne taagan ama animated isla qalabka.

Hubi inaad daawato fiidiyowga buuxa ee ku dhegan boggan si aad u hesho muujin buuxda, tillaabo-tallaabo ah oo ku saabsan dhibcaha socda iyo animation-ka wadnaha, iyo sidoo kale shanta mashruuc ee hadhay. Koodhka isha oo dhamaystiran ayaa ka heli karaa hoosta maqaalkan, waxaadna taageeri kartaa mashruucyada mustaqbalka adoo iibsada qaybta iyada oo loo marayo xiriiriyeyaasha affiliate ee hoos ku qoran qaybta koodhka.

Sawirro

ESP32 S3 Matrix  pin out
ESP32 S3 Matrix pin out
ESP32 S3 Matrix displaying green heart
ESP32 S3 Matrix displaying green heart
ESP32 S3 Matrix displaying rainbow heart
ESP32 S3 Matrix displaying rainbow heart
ESP32-S3 RGB Matrix- Mobile Phone Text
ESP32-S3 RGB Matrix- Mobile Phone Text
ESP32-S3-Mtrix - Alway Up
ESP32-S3-Mtrix - Alway Up
799-ESP32-S3 RGB LED Matrix Project 1 - Dot
Luqadda: C++
/* 
  Project 1: the Dot – ESP32-S3 RGB LED Matrix (Waveshare)

  dialysis a dot on scree and moves it
  
  ▶️ Video Tutorial:
  https://youtu.be/JKLuYrRcLMI

  📚⬇️ Resources & Code Page:
  https://robojax.com/RJT829

  QMI8658_RGB_2
*/

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
 #include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif

// Which pin on the Arduino is connected to the NeoPixels?
#define PIN        14 // On Trinket or Gemma, suggest changing this to 1

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 64 // Popular NeoPixel ring size

// When setting up the NeoPixel library, we tell it how many pixels,
// and which pin to use to send signals. Note that for older NeoPixel
// strips you might need to change the third parameter -- see the
// strandtest example for more information on possible values.
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800);

#define DELAYVAL 50 // Time (in milliseconds) to pause between pixels

void setup() {
  // These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
  // Any other board, you can remove this part (but no harm leaving it):
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  clock_prescale_set(clock_div_1);
#endif
  // END of Trinket-specific code.

  pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}

void loop() {
  pixels.clear(); // Set all pixel colors to 'off'

  // The first NeoPixel in a strand is #0, second is 1, all the way up
  // to the count of pixels minus one.
  for(int i=0; i<NUMPIXELS; i++) { // For each pixel...

    // pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
    // Here we're using a moderately bright green color:
    pixels.setPixelColor(i, pixels.Color(255, 255, 0));

    pixels.show();   // Send the updated pixel colors to the hardware.

    delay(DELAYVAL); // Pause before next pass through loop
    pixels.clear();
  }



}

Waad u baahan tahay

Kheyraadka & Tixraacyada

Faylasha📁

Faylka Fritzing