د ESP32 ټیوټوریل 10/55 - د اوو برخو ښودونکي 74HC595 په کارولو سره ډیجیټل شمېرونکی - ESP32 IoT د زده کړې کټ
په دې ټیوټوریل کې به موږ د اوه-برخې نندارې (seven-segment display) په کارولو سره یو ډیجیټل کاونټر جوړ کړو چې د ESP32 مایکروکنټرولر لخوا کنټرولیږي. کاونټر به له 0 څخه تر 9 پورې لوړیږي او بیا بیرته 0 ته راټیټیږي، چې د شمېرنې پروسې روښانه لید وړاندې کوي. موږ به دا هم وپلټو چې څنګه انفرادي برخې فعالې کړو او په اوه-برخې نندارې باندې توري ښکاره کړو.

دا پروژه د 74HC595 شېفټ راجسټر څخه کار اخلي ترڅو نندارې کنټرول کړي، چې موږ ته اجازه راکوي پرته له دې چې د ESP32 ډیر GPIO پنونه وکاروو، برخې په مؤثره توګه اداره کړو. د شېفټ راجسټر ته د بائنري ارزښتونو په لیږلو سره، موږ کولی شو اړونده برخې روښانه کړو ترڅو شمېرې او توري ښکاره کړو. د دې پروسې ژورې پوهې لپاره، تاسو کولی شئ ویډیو ته مراجعه وکړئ (په ویډیو کې په 03:15 کې).
هارډویر تشریح شوی
د دې پروژې اصلي برخې عبارت دي له ESP32 مایکروکنټرولر، 74HC595 شېفټ راجسټر، او اوه-برخې نندارې. ESP32 یو پیاوړی مایکروکنټرولر دی چې په کې جوړ شوي Wi-Fi او بلوتوت وړتیاوې لري، چې دا د IoT پروژو لپاره مناسب کوي. 74HC595 یو شېفټ راجسټر دی چې موږ ته اجازه راکوي یوازې د څو انپټ پنونو په کارولو سره ډیری آوټ پوټونه کنټرول کړو. دا د سیریل ډیټا په اخیستلو او په موازي آوټ پوټ بدلولو سره کار کوي، کوم چې د اوه-برخې نندارې چلولو لپاره مناسب دی.
د اوه-برخې نندارې له اوو انفرادي LEDs څخه جوړه ده چې د اتو شکل په بڼه ترتیب شوي دي. هر برخه د شېفټ راجسټر ته د مناسب بائنري ارزښت په لیږلو سره فعاله یا غیر فعاله کیدی شي. د مثال په توګه، د 0 شمېرې ښودلو لپاره، ټولې برخې پرته له منځنۍ برخې (G) څخه باید روښانه شي.
ډیټاشیټ تفصیلات
| جوړونکی | Texas Instruments |
|---|---|
| د پرزې شمېره | 74HC595 |
| منطق/IO ولټاژ | 2 V تر 6 V |
| د برېښنا ولټاژ | 2 V تر 6 V |
| د آوټ پوټ جریان (په هر چینل) | 6 mA |
| د لوړ جریان (په هر چینل) | 35 mA |
| د PWM فریکونسي لارښود | تر 1 kHz پورې |
| د انپټ منطق حدونه | 0.3 VCC تر 0.7 VCC |
| د ولټاژ کمښت / RDS(on) / سنتریشن | 0.2 V اعظمي |
| حرارتي حدونه | 125 °C |
| بسته بندي | DIP-16 |
| یادښتونه / بڼې | په مختلفو بسته بندیو کې شتون لري |
- د مناسب ولټاژ رسولو ډاډ ترلاسه کړئ (2 V تر 6 V).
- د ډیر تودوخې مخنیوي لپاره د آوټ پوټ جریان محدود کړئ.
- د غوره روښانتیا لپاره د هرې برخې لپاره جلا رزیسټرونه وکاروئ.
- د شارټ سرکټ او غلط اړیکو مخنیوي لپاره د تارونو په اړه محتاط اوسئ.
- د غلط تنظیم مخنیوي لپاره پن آوټ په دقت سره تعقیب کړئ.
د تارونو د نښلولو لارښوونې

خپل بریډبورډ په ترتیب کولو سره پیل وکړئ. د ځمکې ریل (نیلي کرښه) او د برېښنا ریل (سور کرښه) سره ونښلئ. ځمکه باید د بریډبورډ په یوه اړخ کې نیلي کرښې سره ونښلول شي، پداسې حال کې چې برېښنا باید په مخالف اړخ کې سور کرښې سره ونښلول شي. د ESP32 ځمکه د ځمکې ریل سره د نښلولو لپاره تور تار او د ESP32 د 3.3V پن د برېښنا ریل سره د نښلولو لپاره سور تار وکاروئ.
بیا، 74HC595 شېفټ راجسټر په بریډبورډ کې دننه کړئ، ډاډ ترلاسه کړئ چې ناچ په سمه توګه موقعیت لري. پن 11 (DS) د ESP32 په پن 25 سره، پن 12 (SH_CP) د پن 26 سره، او پن 14 (ST_CP) د پن 27 سره ونښلئ. د شېفټ راجسټر ځمکه (پن 8) د ځمکې ریل سره او پن 10 (MR) د فعالولو لپاره د برېښنا ریل سره ونښلئ.
د اوه-برخې نندارې لپاره، د برخو (a-g) سره اړونده پنونه د شېفټ راجسټر د آوټ پوټ پنونو سره ونښلئ. د هرې برخې لپاره د جریان محدودولو لپاره په لړۍ کې یو رزیسټر (220 ohms) وکاروئ. ډاډ ترلاسه کړئ چې د عام پن لپاره سمې اړیکې لرئ، کوم چې ستاسو د نندارې ډول پر بنسټ عام انوډ یا عام کیتوډ کیدی شي.
د کوډ مثالونه او تفصیل
په سیټ اپ فنکشن کې، موږ د شېفټ راجسټر سره تړلي پنونه د آوټ پوټ په توګه تعریف کوو. دا ډاډ ورکوي چې زموږ ESP32 کولی شي نندارې ته لیږل شوي ډیټا کنټرول کړي.
void setup ()
{
//set pins to output
pinMode(STcp,OUTPUT);
pinMode(SHcp,OUTPUT);
pinMode(DS,OUTPUT);
}
دلته، موږ STcp، SHcp، او DS د پنونو په توګه تعریف کوو چې په ترتیب سره د شېفټ راجسټر د ST_CP، SH_CP، او DS سره تړلي دي. دا پنونه د آوټ پوټ په توګه ټاکل موږ ته اجازه راکوي چې شېفټ راجسټر کنټرول کړو.
د پروګرام اصلي لوپ له 0 څخه تر 9 پورې شمېرل کیږي، د shiftOut فنکشن په کارولو سره اړونده ارزښتونه نندارې ته لیږي.
for(int num = 0; num <10; num++)
{
digitalWrite(STcp,LOW); // ST_CP ځمکې ته ورسوئ او تر هغه وخته پورې ټیټ وساتئ چې لیږد کوئ
shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
digitalWrite(STcp,HIGH); // ST_CP پورته کړئ ترڅو ډاټا خوندي شي
delay(1000);
}
دا لوپ د num متغیر زیاتوي، او هره ثانیه د datArray څخه اړوند ارزښت ښودونکي ته لیږي. د shiftOut فنکشن ډاټا شفټ راجسټر ته لیږدوي، کوم چې بیا مناسب برخې روښانه کوي.
ښودنه / څه تمه وکړو
یوځل چې تارونه بشپړ شي او کوډ پورته شي، تاسو باید وګورئ چې د اوو برخو ښودونکی له 0 څخه تر 9 پورې شمېرل کوي، لنډه وقفه کوي او بیا بیرته 0 ته راګرځي. هره شمېره به د یوې ثانیې لپاره ښودل کیږي. که تاسو غواړئ شمېرنه ګړندۍ کړئ، تاسو کولی شئ په لوپ کې ځنډ تنظیم کړئ (په ویډیو کې په 15:30 کې).
کله چې برخې په جلا توګه اداره کوئ، په یاد ولرئ چې د تورو یا ځانګړو برخو ښودلو لپاره سم بائنري ارزښتونه واستوئ. که ښودونکی ډنګر ښکاري، د هرې برخې لپاره جلا ریزسټرونه اضافه کړئ ترڅو د ښودونکي په اوږدو کې ثابت روښانتیا ډاډمنه شي.
د ویډیو وختونه
- 00:00 پیل
- 1:53 د اوو برخو پیژندنه
- 4:38 د تارونو تشریح
- 13:15 د Arduino کوډ-1
- 17:01 د COM پورټ او ESP32 بورډ انتخاب
- 18:43 ښودنه-1
- 20:13 یوازې د یوې عدد ښودل
- 21:38 پورته او ښکته شمېرونکی
- 23:07 د هرې برخې فعال/غیرفعال کول
- 24:53 د A، B، C، D، E او 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
سرچینې او حوالې
-
اسنادESP32 Tutorial 10/55 - SunFounder page for Seven Segmentdocs.sunfounder.com
فایلونه📁
هیڅ فایل شتون نلري.