Search Code

Koyarwar ESP32 10/55 - Ƙididdigar dijital ta amfani da Nuni na Siffofi Bakwai 74HC595 - Kayan Koyon IoT na ESP32

Koyarwar ESP32 10/55 - Ƙididdigar dijital ta amfani da Nuni na Siffofi Bakwai 74HC595 - Kayan Koyon IoT na ESP32

A cikin wannan koyawa, za mu ƙirƙiri ma'aunin lambobi na dijital ta amfani da nunin sassauki guda bakwai wanda ESP32 microcontroller ke sarrafa shi. Ma'aunin zai ƙaru daga 0 zuwa 9 sannan ya koma baya zuwa 0, yana ba da bayyanannen gani na tsarin ƙidaya. Za mu kuma bincika yadda ake kunna sassauki guda ɗaya da nuna haruffa akan nunin sassauki guda bakwai.

ESP32_Animte7Segment-segments

Wannan aikin yana amfani da 74HC595 shift register don sarrafa nunin, yana ba mu damar sarrafa sassauki yadda ya kamata ba tare da amfani da GPIO pins da yawa akan ESP32 ba. Ta hanyar aika ƙimar binary zuwa shift register, za mu iya kunna sassauki masu dacewa don wakiltar lambobi da haruffa. Don ƙarin fahimtar tsarin, kuna iya koma ga bidiyon (a cikin bidiyo a 03:15).

ESP32_Animte7Segment-letters

Kayan Aiki Da Aka Bayyana

Babban abubuwan wannan aikin sun haɗa da ESP32 microcontroller, 74HC595 shift register, da nunin sassauki guda bakwai. ESP32 microcontroller ne mai ƙarfi tare da Wi-Fi da Bluetooth da aka gina a ciki, yana sa ya dace da ayyukan IoT. 74HC595 shift register ne wanda ke ba mu damar sarrafa abubuwan fitarwa da yawa ta amfani da ƴan pins na shigarwa kaɗan. Yana aiki ta hanyar ɗaukar bayanan serial da canza su zuwa fitarwa ta layi daya, wanda ya dace don tuka nunin sassauki guda bakwai.

Nunin sassauki guda bakwai ya ƙunshi LEDs guda bakwai guda ɗaya da aka tsara a cikin tsarin adadi takwas. Kowane sassauki ana iya kunna shi ko kashe shi ta hanyar aika ƙimar binary da ta dace zuwa shift register. Misali, don nuna lambar 0, duk sassauki banda na tsakiya (G) suna buƙatar a kunna su.

ESP32_Animte7Segment-counter-up-down
ESP32_Animte7Segment-counter-1

Bayanan Datasheet

Mai Ƙirƙira Texas Instruments
Lambar sashi 74HC595
Ƙarfin Logic/IO 2 V zuwa 6 V
Ƙarfin samarwa 2 V zuwa 6 V
Ƙarfin fitarwa (kowane tashar) 6 mA
Ƙarfin kololuwa (kowane tashar) 35 mA
Jagorar mitar PWM Har zuwa 1 kHz
Ƙofofin ƙididdigar shigarwa 0.3 VCC zuwa 0.7 VCC
Ragewar ƙarfi / RDS(on) / saturation 0.2 V max
Iyakokin zafi 125 °C
Kunshin DIP-16
Bayanan kula / bambance-bambance Akwai a cikin kunshi daban-daban

 

  • Tabbatar da samar da ƙarfin da ya dace (2 V zuwa 6 V).
  • Ƙayyade ƙarfin fitarwa don hana zafi mai yawa.
  • Yi amfani da resistors daban-daban don kowane sassauki don ingantaccen haske.
  • Yi hattara da wayoyi don guje wa gajerun hanyoyi da haɗin da ba daidai ba.
  • Bi tsarin pinout a hankali don guje wa kuskuren tsari.

Umarnin Haɗin Waya

ESP32-10-seven-segment-wiring

Fara da saita breadboard ɗinka. Haɗa layin ƙasa (layin shuɗi) da layin wutar lantarki (layin ja). Ƙasa ya kamata ya haɗa zuwa layin shuɗi a gefe ɗaya na breadboard, yayin da wutar lantarki ya kamata ya haɗa zuwa layin ja a gefe na gaba. Yi amfani da waya baƙar fata don haɗa ƙasa na ESP32 zuwa layin ƙasa da waya ja don haɗa pin 3.3V na ESP32 zuwa layin wutar lantarki.

Na gaba, saka 74HC595 shift register a cikin breadboard, tabbatar da cewa an daidaita ƙarar daidai. Haɗa pin 11 (DS) zuwa pin 25 akan ESP32, pin 12 (SH_CP) zuwa pin 26, da pin 14 (ST_CP) zuwa pin 27. Haɗa ƙasa (pin 8) na shift register zuwa layin ƙasa da pin 10 (MR) zuwa layin wutar lantarki don kunnawa.

Don nunin sassauki guda bakwai, haɗa pins masu dacewa da sassauki (a-g) zuwa pins na fitarwa na shift register. Yi amfani da resistor (220 ohm) a jeri don kowane sassauki don ƙayyade ƙarfin. Tabbatar da cewa kuna da haɗin da ya dace don pin na gama gari, wanda zai iya zama ko dai anode na gama gari ko cathode dangane da nau'in nunin ku.

Misalan Lamba & Bayanin Tafiya

A cikin aikin saitin, muna fara da ayyana pins da aka haɗa zuwa shift register a matsayin abubuwan fitarwa. Wannan yana tabbatar da cewa ESP32 ɗinmu zai iya sarrafa bayanan da ake aikawa zuwa nunin.

void setup ()
{
  //saita pins zuwa fitarwa
  pinMode(STcp,OUTPUT);
  pinMode(SHcp,OUTPUT);
  pinMode(DS,OUTPUT);
}

A nan, muna ayyana STcp, SHcp, da DS a matsayin pins da aka haɗa zuwa ST_CP, SH_CP, da DS na shift register, bi da bi. Saita waɗannan pins a matsayin abubuwan fitarwa yana ba mu damar sarrafa shift register.

Babban madauki na shirin yana ƙidaya daga 0 zuwa 9, yana aika ƙimar da ta dace zuwa nunin ta amfani da aikin shiftOut.

for(int num = 0; num <10; num++)
{
    digitalWrite(STcp,LOW); //sanya ST_CP ƙasa ka riƙe shi ƙasa muddin kana aikawa
    shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
    digitalWrite(STcp,HIGH); //ja ST_CPST_CP sama don adana bayanan
    delay(1000);
}

Wannan madauki yana ƙara maɓallin num, yana aika ƙimar da ta dace daga datArray zuwa nuni kowane daƙiƙa. Aikin shiftOut yana aika bayanan zuwa rijistar motsi, wanda sai ya kunna sassan da suka dace.

Nuni / Abin da za ka Yi Tsammani

Da zarar an gama haɗin wayoyi kuma an ɗora lambar, ya kamata ka ga nuni mai kashi bakwai yana ƙidaya daga 0 zuwa 9, yana ɗan tsayawa kafin ya sake ƙidaya zuwa ƙasa zuwa 0. Kowane lamba za a nuna shi na daƙiƙa ɗaya. Idan kana son hanzarta ƙidayar, za ka iya daidaita jinkirin a cikin madauki (a cikin bidiyo a 15:30).

Lokacin sarrafa sassan ɗaya ɗaya, ka tuna aika ƙimar binary da suka dace don nuna haruffa ko takamaiman sassan. Idan nuni ya yi duhu, ka yi la'akari da ƙara resistors guda ɗaya ga kowane sashi don tabbatar da daidaiton haske a duk faɗin nuni.

Lokutan Bidiyo

  • 00:00 Fara
  • 1:53 Gabatarwa ga kashi bakwai
  • 4:38 An bayyana haɗin wayoyi
  • 13:15 Arduino Code-1
  • 17:01 Zaɓin tashar COM da allon ESP32
  • 18:43 Nuni-1
  • 20:13 Nuna lamba ɗaya kawai
  • 21:38 Ƙidaya sama da ƙasa
  • 23:07 Kunna/kashe kowane sashi
  • 24:53 Nuna A, B, C, D, E da F

Hotuna

ESP32_Animte7Segment-counter-1
ESP32_Animte7Segment-counter-1
ESP32_Animte7Segment-counter-up-down
ESP32_Animte7Segment-counter-up-down
ESP32_Animte7Segment-letters
ESP32_Animte7Segment-letters
ESP32_Animte7Segment-segments
ESP32_Animte7Segment-segments
ESP32-10-seven-segment-schematic
ESP32-10-seven-segment-schematic
ESP32-10-seven-segment-wiring
ESP32-10-seven-segment-wiring
809-ESP32 Tutorial 10/55 - Arduino code for 2.5 7 segment
Harshe: C++
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);
  }
}

Albarkatun da kuma shafukan da za a duba

Fayiloli📁

Babu fayiloli da ake da su.