ወደ ማዕከል ይወድቁ:
ESP32 ቱቶሪያል 1/55 - የ SunFounder ኢኤስፒ32 አይኦቲ መማሪያ ኪት ሶፍትዌር እና አርዱኢኖ አይዲኢ መግቢያ ESP32 ትምህርት 2/55 - ESP32 ምንድን ነው፣ የካሜራ ማስፋፊያ ሰሌዳ፣ የSunFounderን ESP32 IoT ኪት መክፈት ኢኤስፒ32 ትምህርት 3/55 - ተቃዋሚ፣ ኤልኢዲ፣ ብሬድቦርድ ፕሮጀክት፡ ሄሎ LED - ኢኤስፒ32 አይኦቲ መማሪያ ኪት ESP32 ትምህርት 4/55 - የውሂብ አይነቶች ተለዋዋጭ Int፣ bool፣ char ይግለጹ፣ Serial Monitor-ESP32 IoT ኪት ESP32 ቱቶሪያል 5/55 - LED ደብዛዝ፣ የLED ብሩህነትን መቆጣጠር -ESP32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 6/55 - RGB LED መጠቀም ፕሮጀክት 2.3 -SunFounder's ESP32 IoT መማሪያ ኪት ESP32 ትምህርት 7/55 - በESP32 Arduino ፕሮግራሚንግ ውስጥ አሬይን መጠቀም - የSunFounder የESP32 IoT መማሪያ ኪት ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit ESP32 ትምህርት 9/55 - የግፊት ቁልፍን በመጠቀም LED ን ማብራት እና ማጥፋት፣ ግፋ አብራ፣ ግፋ አጥፋ -SunFounder ESP32 IoT ኪት ESP32 ቱቶሪያል 10/55 - ዲጂታል ቆጣሪ በሰቨን ሰግመንት ዲስፕሌይ 74HC595 -ESP32 IoT መማሪያ ኪት ESP32 ትምህርት 11/55 - LCD1602 LCD2004 ከESP32 ጋር መጠቀም -SunFounder የESP32 IoT መማሪያ ኪት የESP32 ትምህርት 12/55 - WS2812 RGB ስትሪፕ 4 ፕሮጀክት ከ SunFounder የESP32 IoT መማሪያ ኪት ጋር ESP32 ትምህርት 13/55 - አርዱኢኖ ቢፕ ከአክቲቭ ቡዘር ጋር | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ቱቶሪያል 14/55 - የሱንፋውንደር ኢኤስፒ32 አይኦቲ መማሪያ ኪት በመጠቀም ብጁ ሙዚቃ ኖት መጫወት ኢኤስፒ32 ትምህርት 15/55 - የዲሲ ሞተር ፍጥነት መቆጣጠሪያ ከኢኤስፒ32 L293D ጋር | የሰንፋውንደር ኢኤስፒ32 አይኦቲ መማሪያ ኪት ኢኤስፒ32 ትምህርት 16/55 - ትንሽ የውሃ ፓምፕ በኢኤስፒ32 እና L293D በመጠቀም | SunFounder የኢኤስፒ32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 17/55 - ኢኤስፒ32 እና ፖቴንሺዮሜትር በመጠቀም ሰርቮ ሞተርን መቆጣጠር - ኢኤስፒ32 አይኦቲ መማሪያ ኪት ኢኤስፒ32 ትምህርት 18/55 - ኢኤስፒ32ን በመጠቀም ዝንባሌን መለየት | የሰንፋውንደር ኢኤስፒ32 አይኦቲ መማሪያ ኪት ESP32 ትምህርት 19/55 - ኢንፍራሬድ ዳሳሽ በመጠቀም እንቅፋትን መለየት | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 20/55 - መስመር መከታተያ ሞጁል | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 21/55 - የሰውን ልጅ በPIR እንቅስቃሴ ዳሳሽ መለየት | SunFounder's ESP32 IoT የመማሪያ ኪት ኢኤስፒ32 ትምህርት 22/55 - ብርሃን መሰማት በኤልኢዲ አርዱኖ በመጠቀም | SunFounder የኢኤስፒ32 አይኦቲ መማሪያ ኪት ESP32 ቱቶሪያል 23/55 - የፖቴንሽዮሜትር ቮልቴጅ በESP32 በመጠቀም ማንበብ | SunFounder የESP32 IoT ኪት ESP32 ትምህርት 24/55 - የአፈር እርጥበት መለካት ለመስኖ | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 25/55 - የሙቀት መጠንን በNTC እና LCD መለካት | SunFounder የኢኤስፒ32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 26/55 - ጆይስቲክን ከአርዱኖ ጋር መጠቀም እርምጃ መውሰድ | SunFounder የESP32 IoT ኪት ESP32 ትምህርት 27/55 - ርቀትን በአልትራሶኒክ ዳሳሽ መለካት | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 28/55 - DHT11 የሙቀት ዳሳሽ ከLCD ጋር | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ቱቶሪያል 29/55 - የIR ሪሞት ቁልፍ መጫንን ከESP32 ጋር ማንበብ| SunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 30/55 - ሰርቮን በድር ላይ በMQTT በመጠቀም በAdafruit IO አገልግሎት መቆጣጠር | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 31/55 - ፕሮጀክት LED ስትሪፕ ከእንቅፋት መራቅ ጋር | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 32/55 - የመኪና የኋላ ርቀት ማስጠንቀቂያ ከLCD እና buzzer ጋር | SunFounder የIoT መማሪያ ኪት የESP32 ትምህርት 33/55 - ዲጂታል ዳይስ በSunFounder የESP32 IoT መማሪያ ኪት በመጠቀም ESP32 ቱቶሪያል 34/55 - የቀለም ቅልመት ከRGB LED እና Knob ጋር | SunFounder የESP32 IoT መማሪያ ኪት የESP32 ትምህርት 35/55 - የእፅዋት መቆጣጠሪያ፣ አፈር፣ ሙቀት እና ብርሃን | የSunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 36/55 - ቁጥር መገመት ጨዋታ | SunFounder የESP32 IoT መማሪያ ኪት ESP32 ትምህርት 37/55 - የብሉቱዝ መተግበሪያን ከESP32 BLE ጋር መጠቀም | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 38/55 - አርጂቢ ኤልኢዲን ከሞባይል ስልክዎ መቆጣጠር | SunFounder የኢኤስፒ32 አይኦቲ መማሪያ ኪት ESP32 ትምህርት 39/55 - ESP32ን እንደ ብሉቱዝ ሙዚቃ ማጫወቻ መጠቀም | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 40/55 - ማይክሮ ኤስዲ ካርድ ማንበብ እና መጻፍ | የሰንፋውንደር ኢኤስፒ32 አይኦቲ የመማሪያ ኪት ESP32 ትምህርት 41/55 - ማይክሮ ኤስዲ ካርድ በመጠቀም MP3 ማጫወቻ | SunFounder የESP32 IoT መማሪያ ኪት የESP32 ትምህርት 42/55 - ካሜራ በመጠቀም ፎቶ መውሰድ እና በማይክሮ ኤስዲ CAM-1 ላይ ማስቀመጥ | SunFounder የESP32 ኪት የESP32 ትምህርት 43/55 - IoT የበይነመረብ የአየር ሁኔታ ጣቢያ | SunFounder የESP32 IoT መማሪያ ኪት ኢኤስፒ32 ትምህርት 44/55 - ኢኤስፒ32 ካሜራ ዌብ ሰርቨር ቪዲዮ ስትሪም በዋይፋይ CAM-2 | SunFounder የኢኤስፒ32 ኪት የESP32 ትምህርት 45/55 - ብጁ ዥረት አገልጋይ ከLED መቆጣጠሪያ CAM-3 ጋር l SunFounder የESP32 መማሪያ ኪት የESP32 ትምህርት 46/55 - የርቀት ሙቀት መከታተያ በHiveMQ MQTT በመጠቀም | የSunFounder የESP32 ኪት ኢኤስፒ32 ትምህርት 47/55 - WS2812 CheerLights በMQTT በኢንተርኔት በመጠቀም | SunFounder የESP32 IoT ኪት ESP32 ቱቶሪያል 48/55 - የርቀት ሙቀት መከታተያ እና የLED መቆጣጠሪያ MQTT | SunFounder የESP32 IoT ኪት ኢኤስፒ32 ትምህርት 49/55 - የዲሲ ሞተርን በኢንተርኔት በኩል አዳፍሩት IoT በመጠቀም ይቆጣጠሩ | SunFounder የኢኤስፒ32 ኪት ኢኤስፒ32 ትምህርት 50/55 - ከየትኛውም የዓለም ክፍል የRGB LED መቆጣጠር | የSunFounder ኢኤስፒ32 ኪት ESP32 Tutorial 51/55 - Temperature and Humidity over WiFi with DHT | SunFounder's ESP32 IoT Learning Kit ESP32 ትምህርት 52/55 - WS2812 CheerLights MQTT ዓለም አቀፍ ማመሳሰል ከLCD ጋር | SunFounder ESP32 IoT ኪት ESP32 ቱቶሪያል 53/55 - የLCD ኢንተርኔት ሰዓት ይገንቡ | የSunFounder ESP32 IoT መማሪያ ኪት ኢኤስፒ32 ቱቶሪያል 54/55 - የWS2812 LED ስትሪፕ ቀለም በዋይፋይ ላይ ያዘጋጁ | SunFounder የኢኤስፒ32 IoT መማሪያ ኪት የESP32 ትምህርት 55/55 - የ12V፣ 24V ወይም 100V የቀጥታ ጅረት ቮልቴጅ እንዴት እንደሚለካ | የSunFounder የESP32 IoT መማሪያ ኪት
ESP32 ትምህርት 7/55 - በESP32 Arduino ፕሮግራሚንግ ውስጥ አሬይን መጠቀም - የSunFounder የESP32 IoT መማሪያ ኪት
በዚህ መማሪያ ትምህርት፣ በESP32 Arduino ፕሮግራሚንግ ውስጥ ድርድሮችን (arrays) እንዴት መጠቀም እንደሚቻል እንመረምራለን። ድርድሮች ብዙ እሴቶችን በአንድ ተለዋዋጭ ውስጥ እንዲያከማቹ ያስችሉዎታል፣ ይህም መረጃን ለማስተዳደር ቀላል ያደርገዋል፣ በተለይም ተመሳሳይ ዓይነት ነገሮችን ስብስብ ሲይዙ። ይህ መማሪያ ትምህርት ድርድሮችን መግለጽ፣ መድረስ እና ማሻሻል እንዲሁም ከእነሱ ጋር ውጤታማ በሆነ መንገድ ለመገናኘት loops ን መጠቀምን ይመራዎታል። እነዚህን ፅንሰ-ሀሳቦች መረዳት ከESP32 ጋር የፕሮግራም አወጣጥ ችሎታዎን በእጅጉ ያሳድጋል።
በተለይ እንደ for፣ while እና 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_schematic
ESP32-07_74HC595_walking_light_wiring
ESP32-07_74HC595_walking_light_schematic
ኮድ
807-ESP32 Tutorial 7/55 - Walking Light using 74HC595 and learn array
ቋንቋ: C++
View code
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);
}
}