Search Code

Mafunzo ya ESP32 7/55 - Kutumia Array na Programu ya ESP32 Arduino-SunFounder's ESP32 IoT Learning kit

Mafunzo ya ESP32 7/55 - Kutumia Array na Programu ya ESP32 Arduino-SunFounder's ESP32 IoT Learning kit

Katika mafunzo haya, tutachunguza jinsi ya kutumia arrays katika programu ya ESP32 Arduino. Arrays hukuruhusu kuhifadhi thamani nyingi katika kigezo kimoja, na kurahisisha usimamizi wa data, hasa unaposhughulika na makusanyo ya vitu vinavyofanana. Mafunzo haya yatakuongoza katika kufafanua, kufikia, na kubadilisha arrays, pamoja na kutumia loops kuingiliana nazo kwa ufanisi. Kuelewa dhana hizi kutaimarisha sana uwezo wako wa kupanga programu na ESP32.

Hasa tutashughulikia matumizi ya aina tofauti za loops, kama vile for, while, na do while, kurudia kupitia vipengele vya array. Hii itakusaidia kubinafsisha kazi na kufanya programu zako ziwe na ufanisi zaidi. Ili kuona dhana hizi zikifanya kazi, hakikisha umeangalia video saa 2:30 kwa maonyesho ya vitendo.

Vifaa Vilivyoelezwa

Kipengele kikuu cha vifaa tutakachotumia katika mafunzo haya ni microcontroller ya ESP32. ESP32 ni microcontroller yenye nguvu na gharama nafuu ambayo ina uwezo wa Wi-Fi na Bluetooth, na kuifanya kufaa kwa matumizi mbalimbali ya IoT. Bodi hii inaweza kufanya kazi sawa na Arduino Uno huku ikitoa utendaji wa ziada, kama vile muunganisho wa wingu.

Katika mafunzo haya mahususi, tutatumia array kudhibiti matokeo kupitia digital pins. Kila pin inaweza kuwekwa kuwa high au low, ikituruhusu kuunda mifumo au tabia mbalimbali kulingana na data iliyohifadhiwa kwenye array. GPIO pins za ESP32 zitatengenezwa kwa ajili ya matokeo, ikituruhusu kudhibiti vifaa au vipengele vilivyounganishwa.

Maagizo ya Uunganishaji

ESP32-07_74HC595_walking_light_wiring

Ili kuunganisha ESP32 yako kwa mafunzo haya, anza kwa kuunganisha digital pins. Unganisha pin ya STcp (27) kwenye pin ya ST_CP ya shift register yako. Pin ya SHcp (26) inapaswa kuunganishwa kwenye pin ya SH_CP ya shift register. Hatimaye, unganisha pin ya DS (25) kwenye pin ya DS ya shift register. Hakikisha kwamba ground ya ESP32 imeunganishwa kwenye ground ya shift register ili kutoa rejea ya pamoja.

Hakikisha unatoa nguvu kwa ESP32 kwa kutumia usambazaji thabiti wa 3.3 V. Ikiwa unatumia vipengele vya ziada, hakikisha vinaendana na viwango vya voltage vya ESP32. Ni muhimu kuangalia mara mbili miunganisho yako kabla ya kuwasha mfumo ili kuepuka uharibifu wowote (katika video saa 4:10).

Mifano ya Kanuni na Mwongozo

Katika kipande cha kanuni kilichotolewa, tunafafanua array inayoitwa datArray ambayo inashikilia thamani za binary. Kila thamani kwenye array inalingana na mfumo tofauti ambao unaweza kutolewa kupitia GPIO pins. Array inafafanuliwa kama ifuatavyo:

int datArray[] = {B00000000, B00000001, B00000011, B00000111, B00001111, B00011111, B00111111, B01111111, B11111111};

Array hii ina uwakilishi wa binary, ambapo kila bit inalingana na hali ya pin (washa au zima). Katika kazi ya loop(), tunarudia kupitia array ili kutoa mifumo hii kwa kutumia for loop:

for(int num = 0; num < 10; num++) {
    digitalWrite(STcp, LOW); 
    shiftOut(DS, SHcp, MSBFIRST, datArray[num]);
    digitalWrite(STcp, HIGH); 
    delay(1000);
}

Katika loop hii, tunaendelea kutuma data kutoka kwenye datArray hadi kwenye shift register, na kuunda athari ya mwanga unaotembea. delay(1000) huanzisha pause kati ya kila mfumo, ikiruhusu mabadiliko yaonekane. Kwa kanuni kamili, tafadhali rejea hapa chini kwani itapakia kwa njia ya nguvu.

Maonyesho / Nini cha Kutarajia

Baada ya kukamilisha uunganishaji na kupakia kanuni, unapaswa kuona athari ya mwanga unaotembea kwenye vifaa vilivyounganishwa. Kila bit kwenye array itawaka kwa mfuatano, na kuunda mfumo wa kuvutia wa kuona. Kuwa makini na miunganisho iliyogeuzwa kwani inaweza kusababisha tabia zisizotarajiwa (katika video saa 8:15).

Vidokezo vya Muda wa Video

  • 00:00 Anza
  • 1:24 Utangulizi
  • 3:15 Chip ya shift register 74HC595
  • 5:25 Uunganishaji wa mwanga unaotembea
  • 18:56 Kanuni ya Arduino kwa 74HC595 imeelezwa
  • 24:24 Maonyesho ya mradi
  • 25:49 Kurekebisha kanuni
  • 28:11 Mwanga unasonga mbele na nyuma
  • 30:28 Mwanga unaotembea

Bilder

ESP32-07_74HC595_walking_light_wiring
ESP32-07_74HC595_walking_light_wiring
ESP32-07_74HC595_walking_light_schematic
ESP32-07_74HC595_walking_light_schematic
807-ESP32 Tutorial 7/55 - Walking Light using 74HC595 and learn array
Språk: C++
const int STcp = 27;//ST_CP
const int SHcp = 26;//SH_CP 
const int DS = 25; //DS 

int datArray[] = {B00000000, B00000001, B00000011, B00000111, B00001111, B00011111, B00111111, B01111111, B11111111};

void setup ()
{
  //set pins to output
  pinMode(STcp,OUTPUT);
  pinMode(SHcp,OUTPUT);
  pinMode(DS,OUTPUT);
}
void loop()
{
  for(int num = 0; num <10; num++)
  {
    digitalWrite(STcp,LOW); //ground ST_CP and hold low for as long as you are transmitting
    shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
    digitalWrite(STcp,HIGH); //pull the ST_CPST_CP to save the data
    delay(1000);
  }
}

Resurser och referenser

Filer📁

Inga filer tillgängliga.