Tutorial ESP32 10/55 - Kiiro tiroobixinta dhijitaalka ah iyadoo la isticmaalayo Seven Segment Display 74HC595 - Qalabka Barashada ESP32 IoT
Cashigarkani, waxaan ku samayn doonnaa tiriyaha dhijitaalka ah iyadoo la adeegsanayo shaashadda toddobo-qaybood oo ay xakameyso microcontroller-ka ESP32. Tiriyuhu wuxuu kordhin doonaa 0 ilaa 9 ka dibna wuxuu hoos ugu noqon doonaa 0, isagoo siinaya muuqaal cad oo ah habka tirinta. Sidoo kale waxaan sahamin doonnaa sida loo shido qaybaha shaqsiga ah iyo in shaashadda toddobo-qaybood lagu muujiyo xarfaha.

Mashruucani wuxuu adeegsadaa kaydiyaha wareega ee 74HC595 si loo xakameeyo shaashadda, taasoo noo ogolaanaysa in si hufan u maareyno qaybaha iyada oo aan loo baahnayn in badan oo ka mid ah GPIO-ga ESP32. Adigoo u soo diraya qiyamka binary-ga kaydiyaha wareega, waxaan shidi karnaa qaybaha u dhigma si aan u matallo tirooyinka iyo xarfaha. Si aad u fahanto habka si qoto dheer, waxaad tixraaci kartaa fiidiyowga (fiidiyowga 03:15).
Qalabka La Sharaxay
Qaybaha ugu muhiimsan ee mashruucan waxaa ka mid ah microcontroller-ka ESP32, kaydiyaha wareega ee 74HC595, iyo shaashadda toddobo-qaybood. ESP32 waa microcontroller awood badan oo leh awoodaha Wi-Fi iyo Bluetooth ee ku dhex dhisan, taasoo ka dhigaysa mid ku habboon mashruucyada IoT. 74HC595 waa kaydiye wareega oo noo ogolaanaya in aan xakameyno wax soo saar badan iyadoo la adeegsanayo dhawr pin oo keliya. Wuxuu u shaqeeyaa adigoo qaadaya xogta taxanaha ah oo u beddelaya wax soo saar barbar socda, taasoo ku habboon wadista shaashadda toddobo-qaybood.
Shaashadda toddobo-qaybood waxay ka kooban tahay toddobo LED oo shaqsi ah oo loo habeeyey qaab siddeedle. Qayb kasta waa la shidi karaa ama la damin karaa adigoo u soo diraya qiimaha binary-ga ee ku habboon kaydiyaha wareega. Tusaale ahaan, si loo muujiyo lambarka 0, dhammaan qaybaha marka laga reebo kan dhexe (G) waa in la shidaa.
Faahfaahinta Xogta
| Soo saaraha | Texas Instruments |
|---|---|
| Nambarka qaybta | 74HC595 |
| Danabka Logic/IO | 2 V ilaa 6 V |
| Danabka sahayda | 2 V ilaa 6 V |
| Wax soo saarka hadda (kanaal kasta) | 6 mA |
| Hadda ugu sarreeya (kanaal kasta) | 35 mA |
| Hagaha soo noqnoqoshada PWM | Ilaa 1 kHz |
| Heerarka caqabadaha gelinta | 0.3 VCC ilaa 0.7 VCC |
| Hoos u dhaca danabka / RDS(on) / dheregsanaanta | 0.2 V ugu badnaan |
| Xadka kulaylka | 125 °C |
| Baakad | DIP-16 |
| Qoraallo / noocyo kale | Wuxuu ku yimaadaa baakado kala duwan |
- Hubi in danabka sahaydu ku habboon yahay (2 V ilaa 6 V).
- Xaddid wax soo saarka hadda si looga hortago kulaylka xad dhaafka ah.
- U isticmaal resistors gooni ah qayb kasta si aad u hesho iftiin fiican.
- Ka digtoonow fiilooyinka si aad uga hortagto gaabiska iyo isku xirnaanshaha khaldan.
- Raac pinout-ka si taxadir leh si aad uga hortagto qaabaynta khaldan.
Tilmaamaha Fiilooyinka

Bilow adigoo diyaarinaya breadboard-kaaga. Ku xir jidka dhulka (xariiqda buluugga ah) iyo jidka korontada (xariiqda casaanka ah). Dhulku waa inuu ku xirmaa xariiqda buluugga ah ee dhinaca kale ee breadboard-ka, halka korontadu ay ku xirnaato xariiqda casaanka ah ee dhinaca ka soo horjeeda. U isticmaal fiilo madow si aad ugu xirto dhulka ESP32 jidka dhulka iyo fiilo cas si aad ugu xirto pin-ka 3.3V ee ESP32 jidka korontada.
Marka xigta, geli kaydiyaha wareega ee 74HC595 breadboard-ka, adigoo hubinaya in jeexdu si sax ah u jihaysan yahay. Ku xir pin 11 (DS) pin 25 ee ESP32, pin 12 (SH_CP) pin 26, iyo pin 14 (ST_CP) pin 27. Ku xir dhulka (pin 8) ee kaydiyaha wareega jidka dhulka iyo pin 10 (MR) jidka korontada si loo hawlgeliyo.
Shaashadda toddobo-qaybood, ku xir biinanka u dhigma qaybaha (a-g) biinanka wax soo saarka ee kaydiyaha wareega. U isticmaal resistor (220 ohm) oo taxan ah qayb kasta si aad u xaddiddo hadda. Hubi inaad haysato isku xirnaansho sax ah oo loogu talagalay pin-ka guud, kaasoo noqon kara anod guud ama cathode guud iyadoo ku xiran nooca shaashaddaada.
Tusaalooyinka Koodhka & Sharaxaadda
Hawsha setup-ka, waxaan ku bilaabaynaa adigoo ku qeexaya biinanka ku xiran kaydiyaha wareega inay yihiin wax soo saar. Tani waxay hubinaysaa in ESP32-gaagu xakameyn karo xogta loo dirayo shaashadda.
void setup ()
{
//set pins to output
pinMode(STcp,OUTPUT);
pinMode(SHcp,OUTPUT);
pinMode(DS,OUTPUT);
}
Halkan, waxaan ku qeexaynaa STcp, SHcp, iyo DS inay yihiin biinanka ku xiran ST_CP, SH_CP, iyo DS ee kaydiyaha wareega, siday u kala horreeyaan. Ku dejinista biinankan wax soo saar ahaan waxay noo ogolaanaysaa in aan xakameyno kaydiyaha wareega.
Loop-ka ugu weyn ee barnaamijku wuxuu ka tiriyaa 0 ilaa 9, isagoo u soo diraya qiyamka u dhigma shaashadda iyadoo la adeegsanayo hawsha shiftOut.
for(int num = 0; num <10; num++)
{
digitalWrite(STcp,LOW); //dhig ST_CP oo hoogi hoos u hayso inta aad gudbinayso
shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
digitalWrite(STcp,HIGH); //jiid ST_CPST_CP si aad u keydiso xogta
delay(1000);
}
Loop-kani wuxuu kordhiyaa doorsoomaha num, isagoo u dira qiimaha u dhigma ee datArray shaashadda hal ilbiriqsi kasta. Shaqada shiftOut waxay u gudbisaa xogta register-ka wareega, kaas oo markaas shidiya qaybaha ku habboon.
Muuujin / Waxa Lagu Filan Karaa
Marka fiilada la dhammeeyo oo koodhka la soo geliyo, waa inaad aragtaa shaashadda toddobo-qaybood oo ka tirinaysa 0 ilaa 9, iyadoo si kooban u hakaneysa ka hor inta aanay dib ugu tirin 0. Lambar kasta waxaa la soo bandhigi doonaa hal ilbiriqsi. Haddii aad rabto inaad dedejiso tirinta, waxaad hagaajin kartaa daahista ku jirta loop-ka (fiidiyowga 15:30).
Markaad si gooni ah u maamuleyso qaybaha, xusuusnow inaad soo dirto qiimayaasha binary-ga ee saxda ah si aad u muujiso xarfaha ama qaybaha gaarka ah. Haddii shaashaddu u muuqato mid hoosaysa, tixgeli inaad ku darto resistors-ka gaarka ah qayb kasta si aad u hubiso iftiin joogto ah oo shaashadda oo dhan ah.
Waqtiyada Fiidiyowga
- 00:00 Bilow
- 1:53 Hordhac toddobo-qaybood
- 4:38 Fiilada la sharaxay
- 13:15 Arduino Koodh-1
- 17:01 Doorashada COM port iyo guddiga ESP32
- 18:43 Muujin-1
- 20:13 Muujinta hal lambar oo kaliya
- 21:38 Tiriyaha kor iyo hoos
- 23:07 Qayb kasta ON/OFF ka dhigid
- 24:53 Muujinta A, B, C, D, E iyo F
const int STcp = 27;//ST_CP
const int SHcp = 26;//SH_CP
const int DS = 25; //DS
int datArray[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
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);
}
}
Common Course Links
Common Course Files
Kheyraadka & Tixraacyada
-
DukumentiESP32 Tutorial 10/55 - SunFounder page for Seven Segmentdocs.sunfounder.com
Faylasha📁
Fayl la'aan.