Search Code

Koyarwar ESP32 7/55 - Yin Amfani da Array tare da Shirye-shiryen ESP32 Arduino-SunFounder's ESP32 IoT Learning kit

Koyarwar ESP32 7/55 - Yin Amfani da Array tare da Shirye-shiryen ESP32 Arduino-SunFounder's ESP32 IoT Learning kit

A cikin wannan koyawa, za mu bincika yadda ake amfani da arrays a cikin shirye-shiryen ESP32 Arduino. Arrays suna ba ka damar adana ƙima da yawa a cikin maɓalli ɗaya, wanda ke sauƙaƙa sarrafa bayanai, musamman lokacin da ake hulɗa da tarin abubuwa masu kama. Wannan koyawa za ta jagorance ka ta hanyar ayyana, samun dama, da gyara arrays, da kuma amfani da loops don yin hulɗa da su yadda ya kamata. Fahimtar waɗannan dabaru za ta inganta iyawarka na shirye-shirye da ESP32 sosai.

Za mu musamman rufe amfani da nau'ikan loops daban-daban, kamar for, while, da do while, don maimaita abubuwan array. Wannan zai taimaka maka sarrafa ayyuka da kuma sa shirye-shiryenka su zama masu inganci. Don ganin waɗannan dabaru a aikace, tabbatar ka duba bidiyon a 2:30 don nunin aiki.

Kayan Aiki Da Aka Bayyana

Babban kayan aikin da za mu yi amfani da shi a wannan koyawa shine microcontroller na ESP32. ESP32 ƙarami ne mai ƙarfi, mai rahusa wanda ke da damar Wi-Fi da Bluetooth, wanda ya sa ya dace da aikace-aikacen IoT da yawa. Allon na iya yin ayyuka kamar Arduino Uno yayin da yake ba da ƙarin ayyuka, kamar haɗin yanar gizo.

A cikin wannan koyawa ta musamman, za mu yi amfani da array don sarrafa fitarwa ta hanyar digital pins. Kowane pin za a iya saita shi high ko low, wanda ke ba mu damar ƙirƙirar alamu ko halaye daban-daban bisa bayanan da ke cikin array. GPIO pins na ESP32 za a saita su don fitarwa, wanda ke ba mu damar sarrafa na'urori ko abubuwan da aka haɗa.

Umarnin Haɗin Waya

ESP32-07_74HC595_walking_light_wiring

Don haɗa ESP32 ɗinka don wannan koyawa, fara da haɗa digital pins. Haɗa pin ɗin STcp (27) zuwa pin ɗin ST_CP na shift register ɗinka. Pin ɗin SHcp (26) ya kamata a haɗa shi zuwa pin ɗin SH_CP na shift register. A ƙarshe, haɗa pin ɗin DS (25) zuwa pin ɗin DS na shift register. Tabbatar cewa ƙasan ESP32 an haɗa shi da ƙasan shift register don samar da maƙasudi ɗaya.

Tabbatar da samar da wutar lantarki ga ESP32 ta amfani da ingantaccen wutar 3.3 V. Idan kana amfani da ƙarin abubuwa, tabbatar sun dace da matakan wutar ESP32. Yana da muhimmanci ka sake duba haɗin waya kafin kunna tsarin don guje wa lalacewa (a cikin bidiyo a 4:10).

Misalan Code & Bayani

A cikin ɓangaren code da aka bayar, mun ayyana array mai suna datArray wanda ke riƙe da ƙimar binary. Kowane ƙima a cikin array yana dacewa da wani alamu daban wanda za a iya fitarwa ta hanyar GPIO pins. Array an ayyana shi kamar haka:

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

Wannan array yana ƙunshe da wakilcin binary, inda kowane bit ya dace da yanayin pin (on ko off). A cikin aikin loop(), muna maimaita ta cikin array don fitar da waɗannan alamu ta amfani da for loop:

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

A cikin wannan loop, muna ci gaba da aika bayanai daga datArray zuwa shift register, yana ƙirƙirar tasirin haske mai tafiya. delay(1000) yana gabatar da ɗan dakata tsakanin kowane alamu, yana ba da damar canje-canjen su bayyana. Don cikakken code, don Allah duba ƙasa kamar yadda zai ɗora kai tsaye.

Nuni / Abin Da Za Ka Yi Tsammani

Bayan kammala haɗin waya da ɗora code, ya kamata ka ga tasirin haske mai tafiya akan na'urorin da aka haɗa. Kowane bit a cikin array zai haskaka a jere, yana ƙirƙirar alamu mai ban sha'awa. Yi hattara da haɗin da aka juyar da su saboda suna iya haifar da halaye marasa tsammani (a cikin bidiyo a 8:15).

Lokutan Bidiyo

  • 00:00 Fara
  • 1:24 Gabatarwa
  • 3:15 74HC595 Shift register chip
  • 5:25 Haɗin waya na haske mai tafiya
  • 18:56 Bayanin code na Arduino don 74HC595
  • 24:24 Nunin aikin
  • 25:49 Gyara code
  • 28:11 Haske yana motsawa baya da gaba
  • 30:28 Haske mai tafiya

Hotuna

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
Harshe: 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);
  }
}

Albarkatun da kuma shafukan da za a duba

Fayiloli📁

Babu fayiloli da ake da su.