Orodha ya maudhui:

Kidogo Saa ya Kuonyesha Matrix ya LED: Hatua 8
Kidogo Saa ya Kuonyesha Matrix ya LED: Hatua 8

Video: Kidogo Saa ya Kuonyesha Matrix ya LED: Hatua 8

Video: Kidogo Saa ya Kuonyesha Matrix ya LED: Hatua 8
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Julai
Anonim
Image
Image
Kidogo Saa ya Kuonyesha Matrix ya LED
Kidogo Saa ya Kuonyesha Matrix ya LED
Kidogo Saa ya Kuonyesha Matrix ya LED
Kidogo Saa ya Kuonyesha Matrix ya LED
Kidogo Saa ya Kuonyesha Matrix ya LED
Kidogo Saa ya Kuonyesha Matrix ya LED

Nimekuwa nikitaka kuwa na saa ya zamani ya desktop, ambayo inaonekana kama kitu kutoka kwa sinema za miaka ya 90, na utendaji mzuri wa unyenyekevu: saa ya wakati halisi, tarehe, kubadilisha taa ya nyuma, beeper na chaguo la kengele. Kwa hivyo, nimekuja na wazo la kujenga moja: Kifaa cha dijiti, kulingana na microcontroller na huduma zote nilizozitaja hapo juu, na inayotumiwa na USB - iwe PC au chaja yoyote ya rununu ya USB. Kwa kuwa nilitaka kuifanya iweze kupangwa, na menyu na marekebisho ya mipangilio, uwekaji wa MCU haukuepukika katika mradi huu. ATMEGA328P IC (Kwamba kila bodi ya Arduino Uno ina) ilichaguliwa kuwa "ubongo" wa mzunguko (Ukizungumzia ambayo, nilikuwa na mengi tu). Kuchanganya sehemu zingine za elektroniki kama RGB LED, chipu ya kutunza wakati wa kushtaki na vifungo vya kushinikiza, kuwezesha kuzaliwa kwa mradi mzima - Saa ndogo ya dawati ya mwonekano wa LED ndogo.

Kwa hivyo, baada ya kufunikwa na mradi, wacha tuijenge

Hatua ya 1: Wazo

Wazo
Wazo

Kama ilivyotajwa hapo awali, kifaa chetu kina maonyesho mazuri ya matriki ya LED, ubadilishaji wa rangi wa RGB LED backlight, chip ya kutunza wakati wa malipo, kitengo rahisi cha usambazaji wa umeme wa USB, na eneo la ukubwa mdogo.

Wacha tueleze mchoro wa kizuizi cha operesheni ya kifaa na sehemu:

1. Kitengo cha Ugavi wa Umeme:

Kwa kuwa kifaa kinafanya kazi kwa Volts DC 5, sehemu ya usambazaji wa umeme ina mizunguko miwili tofauti:

  • Uingizaji wa Micro-USB - Kwa usambazaji wa umeme wa Chaja moja kwa moja PC.
  • Mzunguko wa mdhibiti wa voltage ya 5V kulingana na LM7805 IC.

Mzunguko wa LM7805 IC ni wa hiari, isipokuwa unapendelea kutekeleza upatikanaji wa pembejeo tofauti za usambazaji wa umeme. Katika kifaa chetu, Micro-USB PSU hutumiwa.

2. Kitengo cha Udhibiti Mdogo:

Microcontroller ATMEGA328P, hufanya kama "ubongo" wa kifaa chote. Kusudi lake ni kuwasiliana na mizunguko yote ya pembeni, kutoa data inayohitajika na kudhibiti kiolesura cha kifaa. Kwa kuwa mdhibiti mdogo aliyechaguliwa ni ATMEGA328P, tutahitaji Atmel Studio na maarifa ya msingi ya C (Schematics na mpangilio wa programu umeelezewa katika hatua zaidi).

3. Mzunguko wa Saa ya Wakati wa Kweli:

Mzunguko wa pili muhimu zaidi kwenye kifaa. Kusudi lake ni kutoa data ya tarehe na saa, na hitaji la kuihifadhi, bila kutegemea unganisho la nguvu ya pembejeo, i.e. data ya wakati inafurahishwa katika hali ya wakati halisi. Ili kufanya kipengee cha RTC kiweze kuendelea kubadilisha data ya wakati, betri ya seli ya 3V imeongezwa kwenye mzunguko. IC ni DS1302, utendaji wake umeelezewa kwa hatua zaidi.

Kiingilio cha Ingizo - Swichi za Kitufe cha Push:

Input PB swichi hutoa pembejeo interface kwa mtumiaji. Swichi hizi zinasindika katika mpango wa MCU na kifaa kilichodhibitiwa.

5. Kuonyesha Matrix ya LED

Uonyesho wa kifaa unajumuisha IC mbili zilizofungwa HCMS-2902 Alphanumeric LED matrices, kila IC ina herufi 4 za 5x7 tumbo ndogo za LED. Maonyesho haya ni rahisi kutumia, mawasiliano ya waya 3 yanaungwa mkono na saizi ndogo - kila kitu tunachohitaji katika mradi huu.

6. Mwangaza wa RGB:

Rangi inayobadilisha mwangaza wa taa inategemea RGB LED ya nje, inayodhibitiwa na ishara za PWM zinazotoka kwa MCU. Katika mradi huu, RGB LED ina jumla ya pini 4: R, G, B na kawaida, ambapo R, G, B rangi ya rangi inadhibitiwa kupitia PWM na MCU.

7. Buzzer:

Mzunguko wa Buzzer hutumiwa kama pato la sauti, haswa kwa madhumuni ya kengele. Kubadilisha BJT hutumiwa kutoa sasa ya kutosha kwa sehemu ya buzzer, kwa hivyo sauti itakuwa kubwa ya kutosha kuamsha mtu aliye hai.

Hatua ya 2: Sehemu na Vyombo

Sehemu na Vyombo
Sehemu na Vyombo

I. Elektroniki:

A. Viunganishi vilivyojumuishwa na vyenye kazi:

  • 1 x ATMEGA328P - MCU
  • 2 x HCMS2902 - Maonyesho ya AVAGO
  • 1 x DS1302 - RTC
  • 1 x 2N2222A - BJT (NPN)

B. Vipengele vya kupita:

  • Kizuizi:

    • 5 x 10K
    • 1 x 180R
    • 2 x 100R
  • Capacitors:

    • 3 x 0.1uF
    • 1 x 0.47uF
    • 1 x 100uF
    • 2 x 22pF
  • 1 x 4-pini RGB LED
  • 1 x Buzzer
  • 1 x 32.768KHz Kioo

C. Viunganishi:

  • 1 x kiunganishi cha Micro-USB
  • 2 x 6-pini kiwango cha lami (100mil) kontakt.
  • 2 x 4-pini kiwango cha lami (100mil) kontakt.
  • 1 x Kesi ya betri ya sarafu ya sarafu.

D. Mbadala:

  • 3 x SPST Push-Button swichi
  • 1 x 3V Betri ya seli ya sarafu.

E. PSU ya hiari:

  • 1 x LM7805 - Mdhibiti wa Linear
  • 2 x 0.1uF Sura
  • 2 x 100uF Sura

II. Mitambo:

  • 1 x Ukumbi wa Plastiki
  • 4 x Viambatisho vya Mpira
  • 1 x bodi ya kuuza
  • Kichwa cha 1 x MCU (Katika kesi ya kutofaulu kwa microcontroller)
  • 2 x Bolts ndogo za 8mm
  • 2 x 8mm Washers

III. Vyombo na Vifaa:

  • Waya za kulehemu
  • Mirija ya kupungua
  • Bati ya kulehemu
  • Chuma cha kulehemu
  • Mkataji
  • Plier
  • Kibano
  • Piga Bits
  • Faili ya ukubwa mdogo
  • Screwdrivers anuwai
  • Caliper
  • Multimeter
  • Bodi ya mkate (Hiari)
  • Cable ndogo ya USB
  • Faili ya ukubwa wa kati
  • Moto Gundi Bunduki
  • Programu ya AVR ISP

IV. Programu:

  • Studio ya Atmel 6.3 au 7.0.
  • ProgISP au AVRDude
  • Microsoft Excel (Kwa uundaji wa tabia ya kuonyesha)

Hatua ya 3: Maelezo ya Schematics

Maelezo ya skematiki
Maelezo ya skematiki

Ili kurahisisha kuelewa utendaji wa mzunguko, hatua ya skimu imegawanywa katika vikundi saba vidogo. Unapaswa kugundua, kwamba majina ya wavu yamefafanuliwa katika ukurasa wa skimu pia hufafanua unganisho kati ya nyaya ndogo tofauti za kifaa.

A. Bodi kuu ya vifaa:

Kama ilivyotajwa hapo awali, mizunguko ndogo inayofaa tunataka kuwa "ndani" ya kifaa, imewekwa kwenye bodi moja ya mfano. Wacha tuendelee kwa ufafanuzi wa operesheni kuu ya bodi zilizowekwa za bodi:

1. Mzunguko wa Microcontroller:

MCU ambayo hutumiwa katika mradi huu ni ATMEGA328P. Inatumiwa na usambazaji wa nje wa 5V, katika kesi hii - kontakt USB ndogo. Pini zote zinazofaa za I / O zimeunganishwa kulingana na mahitaji ya muundo. Ramani ya I / O ya bandari ni rahisi kuelewa, kwani majina yote ya wavu yamefafanuliwa haswa kama itakavyotumika katika hatua ya programu. MCU ina mzunguko rahisi wa kuweka tena RC, ambayo hutumiwa ama kwenye mlolongo wa programu na uanzishaji wa nguvu.

Sehemu muhimu ya MCU ni mzunguko wa programu. Kuna kontakt ya programu ya pini 6 - J5, hakikisha kuwa vyandarua vya VCC, GND na RESET ni kawaida kwa programu ya ISP ya nje na bodi kuu ya vifaa.

2. Mzunguko wa Saa halisi:

Mzunguko unaofuata, ni sehemu kuu ya pembeni katika mradi huo. DS1302 ni utunzaji wa muda wa malipo wa IC, ambao hutoa viwango vya wakati na tarehe kusindika kwa kitengo chetu cha usindikaji. DS1302 inawasiliana na MCU kupitia kiunganishi cha waya-3, sawa na mawasiliano ya waya wa 3-waya, kwenye mistari ifuatayo:

  • RTC_SCK (Pato): Inafanya kuendesha gari na sampuli ya data ambayo inasambazwa kwenye laini ya SDO.
  • RTC_SDO (I / O): Njia ya kuendesha data. Hutenda kama pembejeo kwa MCU wakati data ya wakati / tarehe inapokelewa na kama matokeo wakati data inapelekwa (Tazama hatua muhimu ya Programu kwa ufafanuzi zaidi).
  • RTC_CE: (Pato): Usafirishaji wa data unawezesha laini. Wakati imewekwa juu na MCU, data iko tayari kupitishwa / kupokelewa.

DS1302 inahitaji oscillator ya nje ya 32.768KHz kwa tabia ya mzunguko wa kutosha. Ili kuepusha utelezaji mkubwa kwenye mfumo wa kuhesabu mzunguko (hali za Drift haziepukiki katika aina hizi za mizunguko iliyojumuishwa), kuna haja ya kuweka capacitors mbili za kusawazisha kwenye kila pini ya kioo (Tazama sehemu X1, C8 na C9 katika skimu). 22pF ilikuwa maadili bora baada ya majaribio mengi na hatua za kutunza wakati katika mradi huu, kwa hivyo, wakati unakaribia kugeuza mzunguko kabisa, hakikisha kuwa kuna fursa ya kubadilisha capacitors hizi na zile zilizo na maadili mengine. Lakini 22pF kwa bodi ya ukubwa mdogo ilifanya kazi vizuri kwa utelezaji mdogo sana (Sekunde 7 kwa mwezi).

Sehemu ya mwisho kabisa katika mzunguko huu - betri ya sarafu ya 3V inapaswa kuwekwa ubaoni ili kusambaza nishati ya kutosha kwa DS1302 IC ili iendelee na kazi yake ya kuhesabu wakati.

4. Wahusika 8 Matrix ya LED:

Uonyesho wa kifaa unategemea wahusika 2 x 4 wa Matrix ya kuonyesha IC ya Matrix, iliyosanidiwa kupitia kiunga cha waya-3, sawa na DS1302 ya mzunguko wa RTC, na tofauti moja, kwamba data inayotoa laini (SDI) inafafanuliwa kama pato la MCU (Isipokuwa unataka kuongeza uwezo wa kuangalia hali kwa mzunguko wako wa kuonyesha). Maonyesho yamejumuishwa katika safu ya upanuzi wa waya-3, kwa hivyo IC zote hufanya kama kifaa kimoja cha kuonyesha, ambapo kuna uwezo wa kuipanga kwa ufafanuzi wote wa wahusika wa kuonyesha (Tazama mchanganyiko wa safu ya SPI). Majina yote ya wavu wa mzunguko, yanalinganisha unganisho linalofaa la MCU - kumbuka kuwa kuna nyavu za kawaida, ambazo zinaanzisha mawasiliano kati ya maonyesho, na thefe haina haja ya kuunganisha viunga vyote viwili vya ujasusi na MCU. Utaratibu na uundaji wa tabia hufafanuliwa katika hatua zaidi. Mzunguko wa Kiolesura cha Mtumiaji:

Kiolesura cha mtumiaji kimegawanywa katika vikundi viwili vidogo - Mfumo wa kuingiza na kutoa: Mfumo wa Kuingiza: Kifaa yenyewe kimetoa pembejeo kama ufunguo wa vitufe vitatu vya SPST, na vipingaji vya ziada vya kuvuta, ili kuendesha mantiki iliyoainishwa kuwa ya juu au ya chini MCU. Swichi hizi hutoa mfumo wa kudhibiti kwa algorithm nzima iliyowekwa, kwani kuna haja ya kurekebisha maadili ya wakati / tarehe, udhibiti wa menyu, na kadhalika.

6. Mfumo wa Pato:

A. Mzunguko wa Buzzer hutoa pato la sauti katika majimbo yote mawili, orodha inabadilisha kutambua sauti na algorithm ya kengele. Transistor ya NPN hutumiwa kama swichi, ikitoa sasa ya kutosha kwa buzzer, na kuifanya iwe kwa sauti inayofaa. Buzzer inadhibitiwa moja kwa moja na programu ya MCU. RGB LED hutumiwa kama sehemu ya taa ya nyuma ya kifaa. Inadhibitiwa moja kwa moja na MCU, na chaguzi nne za chaguo la mwangaza: RED, GREEN, BLUE, PWM au OFF modes. Kumbuka kwamba vipinga ambavyo vimeunganishwa katika safu na pini za R, G na B vina maadili tofauti, kwani kila rangi ina nguvu tofauti juu ya mkondo wa mara kwa mara. Kwa LEDS kijani na bluu kuna sifa sawa, wakati nyekundu ina nguvu kubwa kidogo. Kwa hivyo LED nyekundu imeunganishwa na thamani kubwa ya upingaji - katika kesi hii: 180Ohm (Tazama Ufafanuzi wa RGB LED).7. Viunganishi:

Viunganishi vimewekwa kwenye ubao kuu ili kuwezesha mawasiliano kati ya vifaa vya kiunga vya nje kama vile: Onyesha, RGB LED, Uingizaji wa nguvu na swichi za kitufe cha kushinikiza, na bodi kuu. Kila kontakt imejitolea kwa mzunguko tofauti, kwa hivyo ugumu wa kusanyiko la kifaa hupungua sana. Kama unavyoona katika skimu, kila agizo la nyavu za kiunganishi ni la hiari na linaweza kubadilishwa, ikiwa inafanya mchakato wa wiring kuwa rahisi zaidi. Baada ya kushughulikia dhana zote za skimu, wacha tuendelee na hatua inayofuata.

Hatua ya 4: Kufunga

Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha

Labda kwa wengine wetu ni hatua ngumu zaidi katika mradi wote. Ili kurahisisha kufanya kifaa kufanya kazi haraka iwezekanavyo, mchakato wa kutengenezea unapaswa kukamilika kwa mlolongo ufuatao:

1. Hakikisha kifaa kinaweza kusanidiwa na kuwashwa. Inashauriwa kuweka stika ya maelezo ya pini kwenye kontakt ya programu (Tazama picha ya tatu).

2. Mzunguko wa RTC: baada ya kutengeneza sehemu zote zinazohitajika, hakikisha kuwa capacitors za kusawazisha ni rahisi kubadilishwa. Ikiwa unataka kutumia kesi ya betri ya sarafu ya 3V - hakikisha inalingana na vipimo vya kiambatisho cha kifaa.

3. Onyesho: Maonyesho mawili ya IC yanapaswa kuuzwa kwenye bodi tofauti ya ukubwa mdogo (Picha. 1). Baada ya kuziunganisha nyavu zote zinazohitajika, kuna haja ya kuandaa waya za nje ya bodi (Picha 4): waya hizi zinapaswa kuuzwa na kuendeshwa kando ya bodi ya maonyesho, kumbuka, kwamba mvutano na mafadhaiko ya mitambo yanayotumika kwa waya hayangeweza kuathiri viungo vya solder kwenye ubao wa kuonyesha.

4. Kwenye waya kutoka hatua ya awali, stika za lebo zinapaswa kuwekwa - ambayo itafanya mchakato wa mkutano uwe rahisi zaidi katika hatua zaidi. Hatua ya hiari: ongeza kiunganishi cha pini moja kwa kila waya (mtindo wa Arduino).

5. Viunganishi vilivyobaki vya Solder kwenye bodi kuu, pamoja na vifaa vya pembeni. Mara nyingine tena, inashauriwa kuweka stika na maelezo ya pini kwa kila kiunganishi.

6. Mzunguko wa Buzzer: buzzer iko ndani ya kifaa, kwa hivyo inapaswa kuuzwa kwenye bodi kuu, hakuna haja ya kiunganishi cha kuunganisha.

7. RGB LED: Ili kuokoa nafasi kuu ya bodi, nimeuza vipinga mfululizo kwenye pini za LED, ambapo kila kontena inalingana na rangi yake inayolingana na pini inayofaa ya MCU (Picha. 5).

Hatua ya 5: Kukusanyika

Kukusanyika
Kukusanyika
Kukusanyika
Kukusanyika
Kukusanyika
Kukusanyika

Hatua hii inafafanua kuonekana kwa mradi - umeme na mitambo. Ikiwa maelezo yote yaliyopendekezwa yalizingatiwa, mchakato wa mkutano unakuwa rahisi sana kutekeleza. Mlolongo ufuatao wa hatua kwa hatua hutoa habari kamili ya mchakato:

Sehemu ya A: Ufungaji

1. Piga mashimo matatu, kulingana na kipenyo cha kitufe cha kushinikiza (3mm katika kesi hii).2. Piga shimo moja la kujitolea kwa buzzer kando ya ua. Kipenyo chochote cha taka cha kuchimba kinaweza kutumika. Piga shimo ndogo kama msingi wa kusaga kulingana na kontakt USB ambayo unapaswa kutumia (Micro USB katika kesi hii). Baada ya hapo, fanya kusaga na faili ya ukubwa mdogo, ili kulinganisha vipimo vya kiunganishi. Piga shimo kubwa kama msingi wa kusaga. Fanya kusaga na faili ya ukubwa wa kati, kulingana na vipimo vya kuonyesha. Hakikisha kuwa IC zinaonyeshwa kwenye upande wa nje wa eneo. Piga shimo la ukubwa wa kati chini ya kifaa, kulingana na kipenyo cha RGB LED. Sehemu ya B - Viambatisho:

1. Solder waya mbili kwa kila moja ya vifungo vitatu vya kushinikiza (GND na ishara). Stika za lebo na viunganisho vya pini moja kwenye waya vinapendekezwa. Ambatisha waya nne zilizoandaliwa kwenye pini za RGB za LED. Weka stika za lebo na zilizopo zinazopungua kwenye viungo vya solder. Ambatisha miguu minne ya mpira chini ya kifaa Sehemu ya C - Kuunganisha Sehemu:

1. Weka RGB LED chini ya zizi, unganisha na kontakt kujitolea kwenye ubao kuu. Ambatanisha na gundi moto.2. Weka swichi tatu za kitufe cha kushinikiza, unganisha kwenye kiunganishi kilichojitolea kwenye ubao kuu, ambatisha na gundi ya moto. Weka kontakt USB, unganisha kwenye pini za usambazaji wa kontakt umeme (VCC na GND). Hakikisha kuwa polarity ya laini za usambazaji wa umeme inalingana na sehemu zilizouzwa. Ambatanisha na gundi ya moto. 4. Weka ubao wa kuonyesha, unganisha kwenye kiunganishi kilichojitolea. Ambatanisha na gundi ya moto.

1. Inashauriwa kuongeza jozi za bolt-nut kwenye kifuniko kuu cha bodi na kifuniko cha juu (Kama inavyoonyeshwa katika kesi hii).2. Ili kuzuia kufeli kwa waya zilizovunjika, ambatisha na muonekano wao ndani ya ua huo unazingatiwa.

Hatua ya 6: Utangulizi wa Programu fupi

Utangulizi mfupi wa Programu
Utangulizi mfupi wa Programu
Utangulizi mfupi wa Programu
Utangulizi mfupi wa Programu
Utangulizi mfupi wa Programu
Utangulizi mfupi wa Programu

Baada ya sehemu zote kuuzwa, inashauriwa kufanya upimaji wa kifaa cha kwanza kabla ya kuendelea na hatua ya mkutano wa mwisho. Nambari ya MCU imeandikwa katika C, na ATMEGA328P imewekwa kupitia Programu yoyote ya ISP (Kuna aina anuwai ya vifaa vya programu ya Atmel: AVR MKII, Joka la AVR n.k - Nimetumia programu rahisi ya USB ISP kutoka eBay, ambayo inadhibitiwa na ProgISP au programu ya AVRDude). Mazingira ya programu lazima yawe Atmel Studio 4 na zaidi (Ninapendekeza sana matoleo mapya ya programu). Ikiwa programu ya asili isiyo ya Atmel Studio inatumiwa, kuna haja ya kutoa. Hakikisha kwamba kabla ya kuendelea na hatua ya kusanyiko, kifaa kinaweza kusanidiwa, na mradi wowote wa msingi wa mradi wa kujitolea wa AVR na mchakato wa kukusanya unategemea ATMEGA328P microcontroller (Tazama mafunzo ya Atmel Studio).

Hatua ya 7: Maelezo ya Kanuni

Maelezo ya Kanuni
Maelezo ya Kanuni
Maelezo ya Kanuni
Maelezo ya Kanuni

Algorithm ya nambari ya uamuzi imewekwa katika tabaka mbili tofauti: 1. Safu ya msingi: Mawasiliano na mizunguko ya pembeni, ufafanuzi wa shughuli za kifaa, uanzishaji na matamko ya sehemu. Safu ya kiolesura: Mwingiliano wa kifaa na mtumiaji, utendaji wa menyu, saa / buzzer / rangi / marekebisho ya kengele. Mlolongo wa programu umeelezewa kwenye Picha. 1, ambapo kila block inalingana na hali ya MCU. Programu iliyoelezwa hufanya kama "mfumo wa uendeshaji" wa msingi ambao hutoa interface kati ya vifaa na ulimwengu wa nje. Maelezo yafuatayo yanaelezea utendaji muhimu wa programu na sehemu: Sehemu ya A: Tabaka la Msingi:

1. Uanzishaji wa MCU I / O: Kwanza kabisa, kuna haja ya kuanzisha vifaa vya vifaa: - Viambatanisho vilivyotumiwa na Nambari. - Bandari I / O - Muunganisho.- Matangazo ya mawasiliano ya pembeni.

Kazi za Msingi za Jumla: Kazi zingine hutumiwa na vizuizi tofauti vya kificho, ufafanuzi wa shughuli kwenye pini zinazodhibitiwa na programu: - Wezesha / Lemaza RTC na onyesha mawasiliano ya bodi. juu / kazi za saa.- Onyesha kazi za uundaji wa wahusika. Uanzishaji wa pembeni: Baada ya bandari za I / O kusanidiwa, mawasiliano kati ya ufafanuzi wa kazi za mizunguko hufanyika. Baada ya kumaliza - MCU huanza uanzishaji wa RTC na onyesha mizunguko kutumia kazi ambazo zilifafanuliwa hapo juu.

4. Ufafanuzi wa kazi kuu: Katika hatua hii, kifaa kimewekwa na iko tayari kufanya mawasiliano na mizunguko fulani ya pembeni. Kazi hizi hufafanua: - Badilisha badiliko la kudhibiti -Uendeshaji wa LED wa RGB (Hasa PWM) - Buzzer mraba wimbi jenereta

5. Kazi za Kuonyesha: Sikupata mengi kwenye mtandao kuhusu HSMS ICs ambazo nimetumia, kwa hivyo niliandika maktaba yake na mimi mwenyewe. Kazi za kuonyesha hutoa utendaji kamili wa kuonyesha tabia, pamoja na onyesho la herufi za ASCII na nambari yoyote. Kazi zimeandikwa kwa njia ya jumla, kwa hivyo ikiwa kuna haja ya kuita kazi za kuonyesha kutoka kwa sehemu yoyote ya nambari, ni rahisi kuzitumia kwani zina jumla na operesheni (Kwa mfano: Uonyesho wa kamba, onyesho la herufi moja n.k.).

6. Kazi za operesheni ya RTC: Kazi zote za RTC zimeandikwa kwa njia ya jumla (Sawa na kazi za Kuonyesha zilizowekwa) kulingana na operesheni ya DS1302 IC. Nambari inategemea maktaba iliyoandikwa, ambayo inapatikana kwa tofauti nyingi kwenye gitHub. Kama utakavyoona katika nambari ya mwisho, kazi za kuonyesha na RTC zimejumuishwa kwenye faili tofauti za.c na.h Sehemu ya B - Tabaka la kiolesura:

1. Kazi kuu: katika sehemu ya batili kuu (), kuna tamko la kazi zote za msingi za uanzishaji. Mara tu baada ya kuanza kwa vifaa vyote, MCU inaingia kitanzi kisicho na kipimo, ambapo utendaji wa kifaa unadhibitiwa na mtumiaji.

2. Swichi za wakati halisi, Mwangaza wa nyuma na Udhibiti wa Kuonyesha: Wakati wa kukimbia kwa kitanzi kisicho na mwisho, MCU hufanya kuburudisha kwa kila sehemu ya kifaa. Inachagua data gani ya kuonyesha, ni kitufe gani kilichobanwa na ni hali gani ya taa iliyochaguliwa.

3. Kazi za menyu ya mtumiaji: Kazi hizi zina fomu kama mti (Tazama Picha. X), ambapo mfumo wa menyu na safu ya uongozi hufafanuliwa kama mashine ya serikali. Kila mashine ya serikali inayodhibitiwa na pembejeo ya kitufe cha mtumiaji - kitufe cha kushinikiza, kwa hivyo wakati kifungo sahihi cha kushinikiza kilibonyezwa - mashine ya serikali itabadilisha thamani yake. Imeundwa kwa njia ambayo mabadiliko yoyote kwenye kifaa kilichofanywa kwenye menyu, hubadilishwa mara moja.

4. Kubadilisha Menyu ya Mtumiaji: wakati pembejeo ya mtumiaji inapotolewa, hali ya menyu inapaswa kubadilisha hali yake. Kwa hivyo, kazi hizi hutoa udhibiti unaotegemea mtumiaji juu ya mashine ya serikali. Katika kesi hii: inayofuata, ya awali na sawa.

Hatua ya 8: Msimbo wa Mwisho na Faili Zilizofaa

Na ndio hivyo! Katika hatua hii, unaweza kupata faili zote ambazo unaweza kuhitaji: - Skimu za Umeme- Msimbo kamili wa Chanzo- Onyesha Tabia ya Kuunda Tabia ya Hiari: Kuna wahusika anuwai ambao wanapatikana kuonyeshwa kwenye maktaba ya ICs ya kuonyesha, lakini zingine hazijumuishwa. Ikiwa unataka kujenga wahusika na wewe mwenyewe, ongeza hali ya hali na rejeleo la ASCII katika kazi ya Print_Character ('') (Tazama kazi za kuonyesha.c). Natumahi utapata hii Inayoweza kufundishwa muhimu:) Asante kwa kusoma!

Ilipendekeza: