Turinys:

Mažas LED matricos ekrano laikrodis: 8 žingsniai
Mažas LED matricos ekrano laikrodis: 8 žingsniai

Video: Mažas LED matricos ekrano laikrodis: 8 žingsniai

Video: Mažas LED matricos ekrano laikrodis: 8 žingsniai
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Liepa
Anonim
Image
Image
Mažas LED matricos ekrano laikrodis
Mažas LED matricos ekrano laikrodis
Mažas LED matricos ekrano laikrodis
Mažas LED matricos ekrano laikrodis
Mažas LED matricos ekrano laikrodis
Mažas LED matricos ekrano laikrodis

Aš visada norėjau turėti senamadišką stalinį laikrodį, kuris atrodo kaip kažkas iš 90-ųjų filmų, su gana kukliomis funkcijomis: laikrodis realiuoju laiku, data, besikeičianti foninė šviesa, pyptelėjimas ir žadintuvo parinktis. Taigi, aš sugalvojau sukurti vieną: skaitmeninį įrenginį, pagrįstą mikrovaldikliu su visomis aukščiau paminėtomis funkcijomis ir maitinamą USB - arba kompiuteriu, arba bet kokiu mobiliuoju USB įkrovikliu. Kadangi norėjau padaryti jį programuojamą, pritaikius meniu ir nustatymus, šiame projekte MCU išdėstymas buvo neišvengiamas. ATMEGA328P IC (iš kurios susideda kiekviena „Arduino Uno“plokštė) buvo pasirinktas grandinės „smegenimis“(kalbant apie tai, aš jų tiesiog turėjau daug). Sujungus kai kurias elektronines dalis, tokias kaip RGB LED, mažo įkrovimo laiko lustas ir mygtukai, atsirado visas projektas-programuojamas mažo dydžio LED ekrano stalinis laikrodis.

Taigi, apžvelgę projekto esmę, kurkime jį

1 žingsnis: idėja

Idėja
Idėja

Kaip minėta anksčiau, mūsų įrenginyje yra keletas gerai atrodančių LED matricos ekranų, spalvą keičiantis RGB šviesos diodų apšvietimas, mažo įkrovimo laiko lustas, patogus USB maitinimo blokas ir nedidelio dydžio korpusas.

Apibūdinkime įrenginio veikimo blokinę schemą dalimis:

1. Maitinimo blokas:

Kadangi prietaisas veikia 5 voltų nuolatine srove, maitinimo šaltinį sudaro dvi atskiros grandinės:

  • „Micro -USB“įvestis - skirta tiesioginiam įkrovikliui / PC maitinti.
  • 5V linijinės įtampos reguliatoriaus grandinė, pagrįsta LM7805 IC.

LM7805 IC grandinė yra neprivaloma, nebent norite naudoti skirtingą maitinimo šaltinio prieinamumą. Mūsų įrenginyje naudojamas „Micro-USB“maitinimo blokas.

2. Mikrovaldiklio blokas:

Mikrovaldiklis ATMEGA328P veikia kaip viso prietaiso „smegenys“. Jo tikslas yra bendrauti su visomis periferinėmis grandinėmis, pateikti reikiamus duomenis ir valdyti įrenginio vartotojo sąsają. Kadangi pasirinktas mikrovaldiklis yra ATMEGA328P, mums reikės „Atmel Studio“ir pagrindinių C žinių (schemos ir programavimo sekos aprašytos tolesniuose žingsniuose).

3. Realaus laiko laikrodžio grandinė:

Antra pagal svarbą įrenginio grandinė. Jo tikslas yra pateikti datos ir laiko duomenis, reikalaujant juos saugoti, nepriklausomai nuo įvesties maitinimo jungties, ty laiko duomenys atnaujinami realaus laiko režimu. Kad RTC komponentas galėtų toliau keisti laiko ir datos duomenis, prie grandinės pridedama 3 V monetų elementų baterija. IC yra DS1302, jo veikimas aprašytas tolesniuose žingsniuose.

4. Įvesties sąsaja - mygtukiniai jungikliai:

Įvesties PB jungikliai suteikia vartotojui įvesties sąsają. Šie jungikliai apdorojami MCU ir valdymo įrenginio programoje.

5. LED matricos ekranas

Prietaiso ekraną sudaro dvi IC apvyniotos HCMS-2902 raidinės ir skaitmeninės LED matricos, kiekvienoje IC yra 4 simboliai iš 5x7 mažos LED matricos. Šiuos ekranus paprasta naudoti, palaikomas 3 laidų ryšys ir jie yra maži-viskas, ko mums reikia šiame projekte.

6. RGB apšvietimas:

Spalvą keičiantis foninis apšvietimas pagrįstas išoriniu RGB šviesos diodu, valdomu PWM signalais iš MCU. Šiame projekte RGB LED iš viso yra 4 kaiščiai: R, G, B ir bendri, kai R, G, B spalvų paletę valdo MCU per PWM.

7. Garsinis signalas:

Signalinė grandinė naudojama kaip garso išvestis, daugiausia signalizacijos tikslais. BJT jungiklis naudojamas tiekti pakankamai garso signalo komponentui, todėl jo garsas bus pakankamai garsus, kad pažadintų gyvą žmogų.

2 žingsnis: dalys ir prietaisai

Dalys ir instrumentai
Dalys ir instrumentai

I. Elektronika:

A. Integruoti ir aktyvūs komponentai:

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

B. Pasyvūs komponentai:

  • Rezistoriai:

    • 5 x 10 tūkst
    • 1 x 180R
    • 2 x 100R
  • Kondensatoriai:

    • 3 x 0,1 uF
    • 1 x 0.47uF
    • 1 x 100uF
    • 2 x 22 pF
  • 1 x 4 kontaktų RGB šviesos diodas
  • 1 x garsinis signalas
  • 1 x 32.768KHz krištolas

C. Jungtys:

  • 1 x Micro-USB jungtis
  • 2 x 6 kontaktų standartinio žingsnio (100 ml) jungtis.
  • 2 x 4 kontaktų standartinio žingsnio (100 ml) jungtis.
  • 1 x monetos elementų baterijos dėklas.

D. Įvairūs:

  • 3 x SPST mygtukiniai jungikliai
  • 1 x 3 V monetų elementų baterija.

E. Neprivalomas maitinimo blokas:

  • 1 x LM7805 - linijinis reguliatorius
  • 2 x 0.1uF dangtelis
  • 2 x 100uF dangtelis

II. Mechaninis:

  • 1 x plastikinis gaubtas
  • 4 x guminiai priedai
  • 1 x lituoklio prototipas
  • 1 x MCU antraštė (sugedus mikrovaldikliui)
  • 2 x maži 8 mm varžtai
  • 2 x 8 mm poveržlės

III. Įrankiai ir medžiagos:

  • Litavimo laidai
  • Susitraukiantys vamzdeliai
  • Litavimo skarda
  • Lituoklis
  • Kateris
  • Žnyplės
  • Pincetai
  • Grąžtai
  • Mažo dydžio failas
  • Įvairūs atsuktuvai
  • Apkaba
  • Multimetras
  • Duonos lenta (neprivaloma)
  • Mikro USB kabelis
  • Vidutinio dydžio failas
  • Karšto klijų pistoletas
  • AVR ISP programuotojas

IV. Programavimas:

  • „Atmel Studio“6.3 arba 7.0.
  • ProgISP arba AVRDude
  • „Microsoft Excel“(rodomiems simboliams kurti)

3 žingsnis: schemos aprašymas

Schemos aprašymas
Schemos aprašymas

Kad būtų lengviau suprasti grandinės veikimą, schemos žingsnis yra suskirstytas į septynis pogrupius. Turėtumėte pastebėti, kad scheminiame puslapyje apibrėžti tinklų pavadinimai taip pat apibrėžia ryšius tarp atskirų įrenginio poskyrių.

A. Pagrindinių komponentų lenta:

Kaip jau buvo minėta anksčiau, visos atitinkamos grandinės, kuriomis norime būti „įrenginio viduje“, dedamos ant vieno pjūvio prototipo plokštės. Pereikime prie pagrindinės plokštės grandinių veikimo paaiškinimo:

1. Mikrovaldiklio grandinė:

Šiame projekte naudojamas MCU yra ATMEGA328P. Jį maitina išorinis 5 V maitinimo šaltinis, šiuo atveju - mikro USB jungtis. Visi atitinkami įvesties/išvesties kaiščiai yra prijungti pagal projektavimo reikalavimus. Prievadų įvesties/išvesties susiejimas yra lengvai suprantamas, nes visi tinklo pavadinimai yra apibrėžti tiksliai taip, kaip jie bus naudojami programavimo etape. MCU turi paprastą RC atstatymo grandinę, kuri naudojama programavimo sekai ir galios inicijavimui.

Svarbi MCU dalis yra programavimo schema. Yra 6 kontaktų programavimo jungtis - J5, įsitikinkite, kad VCC, GND ir RESET tinklai yra bendri išorinio ISP programuotojo ir pagrindinių komponentų plokštėje.

2. Realaus laiko laikrodžio grandinė:

Kita grandinė yra pagrindinė projekto dalis. DS1302 yra mažo įkrovimo laiko laiko IC, kuris mūsų apdorojimo įrenginiui pateikia apdoroto laiko ir datos vertes. DS1302 palaiko ryšį su MCU per 3 laidų sąsają, panašią į 3 laidų SPI komunikaciją, šiomis linijomis:

  • RTC_SCK (išvestis): atlieka vairavimą ir duomenų, kurie siunčiami SDO linija, atranką.
  • RTC_SDO (I/O): duomenų perdavimo linija. Veikia kaip įvestis į MCU, kai gaunami laiko/datos duomenys, ir kaip išvestis perduodant duomenis (išsamesnį paaiškinimą žr. „Programavimo pagrindų“veiksmas).
  • RTC_CE: (Išvestis): duomenų perdavimo įgalinimo linija. Kai MCU nustato HIGH, duomenys yra paruošti perduoti/priimti.

Norint tinkamai veikti grandinėje, DS1302 reikalingas išorinis 32,768 KHz kristalų osciliatorius. Siekiant išvengti didelių grandinių skaičiavimo sistemos nukrypimų (dreifo reiškiniai yra tiesiog neišvengiami tokio tipo integriniuose grandynuose), ant kiekvieno kristalinio kaiščio reikia įdėti du kalibravimo kondensatorius (žr. Schemų X1, C8 ir C9 dalis). 22pF buvo optimali vertė po daugybės eksperimentų su laiko palaikymo priemonėmis šiame projekte, todėl, kai ketinate visiškai lituoti grandinę, įsitikinkite, kad yra galimybė šiuos kondensatorius pakeisti kitomis vertėmis. Tačiau 22pF mažoms plokštėms puikiai veikė labai mažam dreifui (7 sekundės per mėnesį).

Paskutinis, bet ne mažiau svarbus šios grandinės komponentas-3 V monetų elementų baterija turėtų būti dedama ant plokštės, kad DS1302 IC tiektų pakankamai energijos, kad ji tęstų laiko skaičiavimo operaciją.

4. 8 simbolių LED matrica:

Įrenginio ekranas sudarytas iš 2 x 4 simbolių LED matricos ekrano IC, užprogramuotų per 3 laidų sąsają, panašią į RTC grandinės DS1302, su vienu skirtumu, kad duomenų teikimo linija (SDI) apibrėžiama kaip MCU išvestis (nebent norite pridėti būsenos tikrinimo galimybė jūsų ekrano grandinėje). Ekranai yra sujungti į 3 laidų serijos plėtinį, todėl abu IC veikia kaip vienas ekrano įrenginys, kuriame yra galimybė jį užprogramuoti visam ekrano simbolių apibrėžimui (žr. SPI serijos derinį). Visi tinklo grandinės pavadinimai atitinka atitinkamus MCU ryšius - atkreipkite dėmesį, kad yra bendrų tinklų, kurie užmezga ryšį tarp ekranų, ir nereikia jungti abiejų ekranų mokymosi sąsajų prie MCU. Programavimas ir charakterio kūrimo seka apibrėžiami tolesniuose etapuose.5. Vartotojo sąsajos grandinė:

Vartotojo sąsaja yra padalinta į dvi pogrupius-Įvesties ir išvesties sistemos: Įvesties sistema: Pats įrenginys turi vartotojo pateiktą įvestį, apibrėžtą kaip trys SPST mygtukiniai jungikliai su papildomais traukiamaisiais rezistoriais, kad būtų galima valdyti apibrėžtą logiką HIGH arba LOW MCU. Šie jungikliai užtikrina viso užprogramuoto algoritmo valdymo sistemą, nes reikia koreguoti laiko/datos reikšmes, meniu valdymą ir pan.

6. Išvesties sistema:

A. Buzzer grandinė suteikia garso išvestį abiejose būsenose, meniu perjungimas patvirtina garsą ir aliarmo algoritmą. NPN tranzistorius naudojamas kaip jungiklis, tiekiantis signalui pakankamai srovės, todėl jis skamba atitinkamai. „Buzzer“tiesiogiai valdo MCU programinė įranga. B. RGB šviesos diodas naudojamas kaip prietaiso apšvietimo dalis. Jį tiesiogiai valdo MCU, ir yra keturios foninio apšvietimo parinktys: RED, GREEN, BLUE, PWM arba OFF. Atkreipkite dėmesį, kad rezistoriai, nuosekliai prijungti prie LED R, G ir B kaiščių, turi skirtingas vertes, nes kiekviena spalva turi skirtingą intensyvumą esant pastoviai srovei. Žalia ir mėlyna šviesos diodai turi tas pačias charakteristikas, kai raudonos spalvos intensyvumas yra šiek tiek didesnis. Taigi raudonas šviesos diodas yra prijungtas prie didesnės atsparumo vertės - šiuo atveju: 180 omų (žr. RGB LED paaiškinimą). Jungtys:

Jungtys dedamos į pagrindinę plokštę, kad būtų užtikrintas ryšys tarp išorinių sąsajos komponentų, tokių kaip: ekranas, RGB šviesos diodas, maitinimo įvesties ir mygtuko jungikliai bei pagrindinė plokštė. Kiekviena jungtis skirta skirtingai grandinei, todėl prietaiso surinkimo sudėtingumas smarkiai sumažėja. Kaip matote schemose, kiekvienas jungiamųjų tinklų užsakymas yra neprivalomas ir gali būti keičiamas, jei tai žymiai supaprastina laidų prijungimo procesą. Išnagrinėję visas schemų sąvokas, pereikime prie kito žingsnio.

4 žingsnis: litavimas

Litavimas
Litavimas
Litavimas
Litavimas
Litavimas
Litavimas

Tikriausiai kai kuriems iš mūsų tai yra sunkiausias žingsnis visame projekte. Norint, kad prietaisas kuo greičiau veiktų, litavimo procesas turėtų būti baigtas tokia seka:

1. MCU ir programavimo jungtis: rekomenduojama t lituoti 28 kontaktų antraštę, o ne patį MCU, kad gedimo atveju būtų galima pakeisti MCU IC. Įsitikinkite, kad įrenginį galima užprogramuoti ir įjungti. Rekomenduojama ant programavimo jungties uždėti kaiščio aprašymo lipduką (žr. Trečią paveikslėlį).

2. RTC grandinė: lituodami visas reikalingas dalis įsitikinkite, kad kalibravimo kondensatorius lengva pakeisti. Jei norite naudoti 3 V monetinių elementų baterijos dėklą - įsitikinkite, kad jis atitinka prietaiso korpuso matmenis.

3. Ekranas: Du ekrano IC turėtų būti lituojami ant atskiros mažos plokštės (1 pav.). Lituodami visus reikalingus tinklus, turite paruošti ne laidinius laidus (4 pav.): Šie laidai turi būti lituojami ir vedami ekrano plokštės šone, atkreipkite dėmesį, kad laidams taikoma įtampa ir mechaninis įtempis paveikti litavimo jungtis ekrano plokštėje.

4. Ant ankstesnio žingsnio laidų reikia uždėti etikečių lipdukus - tai palengvins surinkimo procesą tolesniame etape. Pasirenkamas žingsnis: prie kiekvieno laido pridėkite vieno kontaktų kištuką („Arduino“stilius).

5. Lituokite likusias pagrindinės plokštės jungtis, įskaitant periferinius komponentus. Dar kartą rekomenduojama klijuoti lipdukus su kiekvienos jungties kaiščio aprašymu.

6. Garsinio signalo grandinė: garsinis signalas yra įrenginio viduje, todėl jis turėtų būti lituojamas pagrindinėje plokštėje, nereikia jungiamosios jungties.

7. RGB šviesos diodas: norėdamas sutaupyti vietos pagrindinėje plokštėje, serijinius rezistorius lituodavau ant LED kaiščių, kur kiekvienas rezistorius atitinka savo spalvą ir atitinkamą MCU kaištį (5 pav.).

5 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Šis žingsnis apibrėžia projekto išvaizdą - elektrinę ir mechaninę. Jei buvo atsižvelgta į visas rekomenduojamas pastabas, surinkimo procesas tampa labai lengvas. Toliau pateikiama išsami proceso informacija:

A dalis: gaubtas

1. Išgręžkite tris skyles pagal mygtuko rankenėlės skersmenį (šiuo atveju 3 mm).2. Gręžkite vieną garsiakalbiui skirtą skylę gaubto šone. Galima naudoti bet kokį norimą grąžto skersmenį.3. Gręžkite mažą skylę kaip pagrindą šlifavimui pagal naudojamą USB jungtį (šiuo atveju „Micro USB“). Po to šlifuokite naudodami mažo dydžio dildę, kad atitiktų jungties matmenis. Gręžkite palyginti didelę skylę kaip šlifavimo pagrindą. Šlifuokite naudodami vidutinio dydžio dildę pagal ekrano matmenis. Įsitikinkite, kad ekrano IC yra išorinėje gaubto pusėje. Įrenginio apačioje gręžkite vidutinio dydžio skylę pagal RGB šviesos diodų skersmenį. B dalis. Priedai:

1. Lituokite du laidus prie kiekvieno iš trijų mygtukų (GND ir signalas). Rekomenduojami etikečių lipdukai ir vieno kaiščio jungtys ant laidų.2. Pritvirtinkite keturis paruoštus laidus prie RGB LED kaiščių. Ant litavimo siūlių uždėkite etikečių lipdukus ir susitraukiančius vamzdelius.3. Prie prietaiso apačios pritvirtinkite keturias gumines kojeles. C dalis. Dalių sujungimas:

1. Padėkite RGB šviesos diodą ant korpuso apačios, prijunkite jį prie pagrindinės plokštės specialios jungties. Pritvirtinkite jį karštais klijais.2. Įdėkite tris mygtukinius jungiklius, prijunkite juos prie pagrindinės plokštės specialios jungties, pritvirtinkite karštais klijais. Įdėkite USB jungtį, prijunkite ją prie programavimo jungties maitinimo kaiščių (VCC ir GND). Įsitikinkite, kad maitinimo linijų poliškumas atitinka lituotas dalis. Pritvirtinkite jį karštais klijais.4. Įdėkite ekrano plokštę, prijunkite ją prie tam skirtos jungties. Pritvirtinkite jį karštais klijais. Pastabos:

1. Rekomenduojama varžtų-veržlių poras pridėti prie pagrindinės plokštės gaubto ir viršutinio dangčio (kaip parodyta šiuo atveju).2. Siekiant išvengti nutrūkusių laidų gedimo, atsižvelgiama į jų išvaizdą korpuso viduje.

6 žingsnis: Įvadas į trumpą programavimą

Įvadas į trumpą programavimą
Įvadas į trumpą programavimą
Įvadas į trumpą programavimą
Įvadas į trumpą programavimą
Įvadas į trumpą programavimą
Įvadas į trumpą programavimą

Po to, kai visos dalys yra prilituotos, prieš atliekant paskutinį surinkimo etapą rekomenduojama atlikti pradinį įrenginio bandymą. MCU kodas rašomas C, o ATMEGA328P užprogramuojamas per bet kurį IPT programuotoją (yra įvairių tipų „Atmel“programavimo įrenginių: AVR MKII, AVR DRAGON ir kt. - Aš naudoju pigų USB ISP programuotoją iš „eBay“, kurį valdo „ProgISP“arba „AVRDude“programinė įranga). Programavimo aplinka turi būti „Atmel Studio 4“ir naujesnė (primygtinai rekomenduoju naujausias programinės įrangos versijas). Jei naudojamas išorinis, ne „Atmel Studio“būdingas programuotojas, programavimo programinei įrangai reikia nurodyti.hex failo kelią (paprastai jis yra projekto aplanke Debug arba Release). Prieš pradėdami surinkimo veiksmą įsitikinkite, kad įrenginį galima užprogramuoti, o bet koks pagrindinis AVR skirtas projekto kūrimo ir kompiliavimo procesas yra pagrįstas ATMEGA328P mikrovaldikliu (žr. „Atmel Studio“vadovėlį).

7 žingsnis: kodo aprašymas

Kodo aprašymas
Kodo aprašymas
Kodo aprašymas
Kodo aprašymas

Decice kodo algoritmas suskirstytas į du pusiau atskirus sluoksnius: 1. Pagrindinis sluoksnis: Ryšys su periferinėmis grandinėmis, įrenginio operacijų apibrėžimas, inicijavimas ir komponentų deklaravimas. Sąsajos sluoksnis: vartotojo ir įrenginio sąveika, meniu funkcijos, laikrodžio/garsinio signalo/spalvų/aliarmo reguliavimas. Programos seka aprašyta paveikslėlyje. 1, kur kiekvienas blokas atitinka MCU būseną. Aprašyta programa veikia kaip pagrindinė „operacinė sistema“, užtikrinanti sąsają tarp aparatūros ir išorinio pasaulio. Šiame paaiškinime aprašomas esminis programos veikimas dalimis: A dalis. Pagrindinis sluoksnis:

1. MCU įvesties/išvesties inicijavimas: Pirmiausia reikia inicijuoti aparatūros komponentus:- kodo naudojamas konstantas.- prievadų įvestis/išvestis- sąsają.- periferinės komunikacijos deklaracijas.

2. Pagrindinės bendrosios funkcijos: kai kurias funkcijas naudoja atskiri kodo blokai, programinės įrangos valdomų kaiščių operacijos:- įjungti/išjungti RTC ir ekrano plokštės ryšį.- garsinio signalo įjungimas/išjungimas.- 3 laidų laikrodis aukštyn/laikrodžio nustatymo funkcijos.- Rodyti simbolių kūrimo funkcijas. Periferinis inicijavimas: sukonfigūravus įvesties/išvesties prievadus, vyksta ryšys tarp grandinių funkcijų. Kai baigsite - MCU pradeda RTC ir ekrano grandinių inicijavimą, naudodamas aukščiau apibrėžtas funkcijas.

4. Pagrindinių funkcijų apibrėžimas: Šiame etape prietaisas yra nustatytas ir paruoštas atlikti ryšius su kai kuriomis periferinėmis grandinėmis. Šios funkcijos apibrėžia:- jungiklio valdymą;- RGB šviesos diodų veikimą (ypač PWM);

5. Rodymo funkcijos: Internete neradau daug informacijos apie naudojamus HSMS IC, todėl parašiau jos biblioteką pati. Ekrano funkcijos suteikia visas simbolių rodymo funkcijas, įskaitant ASCII simbolių ir visų sveikųjų skaičių rodymą. Funkcijos yra parašytos apibendrintai, taigi, jei reikia iškviesti ekrano funkcijas iš bet kurios kodo dalies, jas lengva naudoti, nes jos apibendrinamos operacija (Pavyzdžiui: eilutės rodymas, vieno simbolio rodymas ir pan.).

6. RTC veikimo funkcijos: Visos RTC funkcijos yra parašytos apibendrintai (panašiai kaip nustatyta ekrano funkcija) pagal DS1302 IC veikimą. Kodas pagrįstas rašytine biblioteka, kurią galima rasti daugybe „gitHub“variantų. Kaip matysite galutiniame kode, ekrano ir RTC funkcijų rinkinys yra įtrauktas į atskirus.c ir.h failus. B dalis - sąsajos sluoksnis:

1. Pagrindinė funkcija: skyriuje void main () pateikiamos visos pagrindinės inicijavimo funkcijos. Iš karto po visų komponentų inicijavimo MCU patenka į begalinę kilpą, kur įrenginio funkcionalumą kontroliuoja vartotojas.

2. Realaus laiko jungikliai, foninis apšvietimas ir ekrano valdymas: Veikdamas begaline kilpa, MCU atnaujina kiekvieną įrenginio dalį. Jis pasirenka, kokius duomenis rodyti, kuris mygtukas buvo paspaustas ir koks apšvietimo režimas buvo pasirinktas.

3. Vartotojo meniu funkcijos: Šios funkcijos yra medžio formos (žr. X pav.), Kur meniu sistema ir hierarchija apibrėžiamos kaip būsenos mašina. Kiekviena būsenos mašina, valdoma vartotojo įvesties - mygtukas perjungiamas, todėl paspaudus atitinkamą mygtuką, būsenos mašina pakeis savo vertę. Jis sukurtas taip, kad bet koks prietaiso pakeitimas, atliktas meniu, būtų akimirksniu pakeistas.

4. Vartotojo meniu perjungimas: kai yra vartotojo įvestis, meniu būsena turi pakeisti savo būseną. Taigi, šios funkcijos suteikia nuo vartotojo priklausomą būsenos mašinos valdymą. Šiuo konkrečiu atveju: kitas, ankstesnis ir gerai.

8 veiksmas: galutinis kodas ir naudingi failai

Štai ir viskas! Šiame etape galite rasti visus failus, kurių jums gali prireikti:- Elektros schema- Pilnas šaltinio kodas- Rodyti simbolių kūrimo priemonę Neprivaloma funkcija: Yra įvairių simbolių, kuriuos galima rodyti ekrano IC bibliotekoje, tačiau kai kurie iš jų neįtraukti. Jei norite patys kurti simbolius, pridėkite raidės būseną su ASCII nuoroda funkcijoje Print_Character ('') (žr. Display.c funkcijas). Tikimės, kad ši instrukcija jums bus naudinga:) Dėkojame, kad perskaitėte!

Rekomenduojamas: