Search Code

ESP32 ትምህርት 7/55 - በESP32 Arduino ፕሮግራሚንግ ውስጥ አሬይን መጠቀም - የSunFounder የESP32 IoT መማሪያ ኪት

ESP32 ትምህርት 7/55 - በESP32 Arduino ፕሮግራሚንግ ውስጥ አሬይን መጠቀም - የSunFounder የESP32 IoT መማሪያ ኪት

በዚህ መማሪያ ትምህርት፣ በESP32 Arduino ፕሮግራሚንግ ውስጥ ድርድሮችን (arrays) እንዴት መጠቀም እንደሚቻል እንመረምራለን። ድርድሮች ብዙ እሴቶችን በአንድ ተለዋዋጭ ውስጥ እንዲያከማቹ ያስችሉዎታል፣ ይህም መረጃን ለማስተዳደር ቀላል ያደርገዋል፣ በተለይም ተመሳሳይ ዓይነት ነገሮችን ስብስብ ሲይዙ። ይህ መማሪያ ትምህርት ድርድሮችን መግለጽ፣ መድረስ እና ማሻሻል እንዲሁም ከእነሱ ጋር ውጤታማ በሆነ መንገድ ለመገናኘት loops ን መጠቀምን ይመራዎታል። እነዚህን ፅንሰ-ሀሳቦች መረዳት ከESP32 ጋር የፕሮግራም አወጣጥ ችሎታዎን በእጅጉ ያሳድጋል።

በተለይ እንደ forwhile እና do while ያሉ የተለያዩ የ loops ዓይነቶችን በመጠቀም በድርድር አካላት ውስጥ መዞርን እንሸፍናለን። ይህ ተግባራትን በራስ-ሰር ለማከናወን እና ፕሮግራሞችዎን የበለጠ ቀልጣፋ ለማድረግ ይረዳዎታል። እነዚህን ፅንሰ-ሀሳቦች በተግባር ለማየት፣ ተግባራዊ ማሳያ ለማግኘት ቪዲዮውን በ2:30 መመልከትዎን ያረጋግጡ።

ሃርድዌር ተብራርቷል

በዚህ መማሪያ ትምህርት ውስጥ የምንጠቀምበት ዋናው የሃርድዌር ክፍል ESP32 ማይክሮ መቆጣጠሪያ ነው። ESP32 ሁለቱንም Wi-Fi እና ብሉቱዝ ችሎታዎች ያሉት ኃይለኛ፣ አነስተኛ ዋጋ ያለው ማይክሮ መቆጣጠሪያ ነው፣ ይህም ለብዙ የIoT መተግበሪያዎች ተስማሚ ያደርገዋል። ቦርዱ እንደ Arduino Uno ተመሳሳይ ተግባራትን መስራት ይችላል እንዲሁም እንደ ክላውድ ግንኙነት ያሉ ተጨማሪ ተግባራትን ይሰጣል።

በዚህ ልዩ መማሪያ ትምህርት ውስጥ፣ በዲጂታል ፒኖች በኩል ውጤቶችን ለመቆጣጠር ድርድርን እንጠቀማለን። እያንዳንዱ ፒን ወደ ከፍተኛ ወይም ዝቅተኛ ሊዋቀር ይችላል፣ ይህም በድርድሩ ውስጥ በተከማቸው መረጃ ላይ በመመስረት የተለያዩ ቅጦችን ወይም ባህሪያትን እንድንፈጥር ያስችለናል። የESP32 GPIO ፒኖች ለውጤት ይዋቀራሉ፣ ይህም የተገናኙ መሳሪያዎችን ወይም ክፍሎችን እንድንቆጣጠር ያስችለናል።

የሽቦ መገጣጠም መመሪያዎች

ESP32-07_74HC595_walking_light_wiring

ESP32ዎን ለዚህ መማሪያ ትምህርት ለማገናኘት፣ በዲጂታል ፒኖች በማገናኘት ይጀምሩ። የSTcp ፒን (27) ከ shift registerዎ ST_CP ፒን ጋር ያገናኙ። የSHcp ፒን (26) ከ shift registerዎ SH_CP ፒን ጋር መገናኘት አለበት። በመጨረሻም፣ የDS ፒን (25) ከ shift registerዎ DS ፒን ጋር ያገናኙ። የESP32 መሬት ከ shift registerዎ መሬት ጋር መገናኘቱን ያረጋግጡ የጋራ ማመሳከሪያ ለማቅረብ።

ESP32ን የተረጋጋ የ3.3 ቪ አቅርቦት በመጠቀም ማብራትዎን ያረጋግጡ። ተጨማሪ ክፍሎችን እየተጠቀሙ ከሆነ፣ እነሱም ከESP32 የቮልቴጅ ደረጃዎች ጋር ተኳሃኝ መሆናቸውን ያረጋግጡ። ስርዓቱን ከማብራትዎ በፊት ግንኙነቶችዎን እንደገና መፈተሽ አስፈላጊ ነው ሊከሰት የሚችለውን ጉዳት ለማስቀረት (በቪዲዮ 4:10)።

የኮድ ምሳሌዎች እና ጉዞ

በተሰጠው የኮድ ቁራጭ ውስጥ፣ datArray የሚባል ሁለትዮሽ እሴቶችን የሚይዝ ድርድር እንገልጻለን። በድርድሩ ውስጥ ያለው እያንዳንዱ እሴት በGPIO ፒኖች በኩል ሊወጣ ከሚችለው የተለየ ቅጥ ጋር ይዛመዳል። ድርድሩ እንደሚከተለው ይገለጻል፦

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

ይህ ድርድር ሁለትዮሽ ውክልናዎችን ይዟል፣ እያንዳንዱ ቢት ከፒን ሁኔታ (በርቷል ወይም ጠፍቷል) ጋር ይዛመዳል። በloop() ተግባር ውስጥ፣ እነዚህን ቅጦች ለማውጣት በድርድሩ ውስጥ በfor loop እንዞራለን፦

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

በዚህ loop ውስጥ፣ መረጃን ከdatArray ወደ shift registerው በቀጣይነት እንልካለን፣ ይህም የመራመድ ብርሃን ውጤት ይፈጥራል። delay(1000) በእያንዳንዱ ቅጥ መካከል እረፍት ያስተዋውቃል፣ ለውጦቹ እንዲታዩ ያስችላል። ለሙሉ ኮድ፣ እባክዎን ከታች ይመልከቱ በተለዋዋጭ ሁኔታ ይጫናልና።

ማሳያ / ምን እንደሚጠበቅ

ሽቦውን ከጨረሱ እና ኮዱን ከጫኑ በኋላ፣ በተገናኙ መሳሪያዎች ላይ የመራመድ ብርሃን ውጤት ማየት አለብዎት። በድርድሩ ውስጥ ያለው እያንዳንዱ ቢት በቅደም ተከተል ይበራል፣ ይህም በእይታ የሚስብ ቅጥ ይፈጥራል። የተገላቢጦሽ ግንኙነቶች ያልተጠበቁ ባህሪያትን ሊያስከትሉ ስለሚችሉ ይጠንቀቁ (በቪዲዮ 8:15)።

የቪዲዮ ጊዜ ምልክቶች

  • 00:00 መጀመሪያ
  • 1:24 መግቢያ
  • 3:15 74HC595 Shift register ቺፕ
  • 5:25 የመራመድ ብርሃን ሽቦ
  • 18:56 ለ74HC595 የArduino ኮድ ተብራርቷል
  • 24:24 የፕሮጀክቱ ማሳያ
  • 25:49 ኮዱን ማስተካከል
  • 28:11 ብርሃን ወደ ኋላ እና ወደ ፊት ይንቀሳቀሳል
  • 30:28 የመራመድ ብርሃን

ምስሎች

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

ምንጮች እና ምንጮች

ፋይሎች📁

አንድ ፋይል የለም።