Kazalo:
- 1. korak: Uvozite datoteke VHDL
- 2. korak: Razčlenitev zgornjega modula VHDL
- 3. korak: Razčlenitev modula VHDL Kill Switch
- 4. korak: Razčlenitev modula VHDL flip flop
- 5. korak: Razčlenitev modula Piezo Buzzer VHDL
- 6. korak: Razčlenitev datoteke omejitev VHDL
- 7. korak: Izdelava temeljev 3
- 8. korak: Izvajanje datotek VHDL v baze 3
- 9. korak: Uporaba plošče Basys 3
- 10. korak: Pokažite se
Video: Model univerzalnega stikala za izklop: 10 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ste naveličani preverjanja, ali so vse luči v vaši hiši ugasnjene, preden zaspite? Bi radi, da bi lahko brez napora ugasnili vsako luč naenkrat? Da bi prihranili moč in čas, smo se odločili ustvariti sistem, ki bi teoretično lahko zaprl celotno hišo naenkrat.
Dokaz tega koncepta smo modelirali z uporabo nekaj LED in vezja 3 basys ter ustvarili zasnovo, ki bi deaktivirala vse LED s pritiskom na gumb. Ta model bi lahko uporabili tudi za dejanski sistem razsvetljave doma, čeprav bi zahteval bolj zapleteno ožičenje in spremembe datotek VHDL.
1. korak: Uvozite datoteke VHDL
Če želite, da naš model deluje pravilno, morate prenesti programsko opremo, ki daje navodilom Basys 3 navodila.
Najprej boste morali prenesti orodje za sintezo za izvajanje datotek vhdl v strojno opremo. Če želite biti prepričani, da bo vsa koda v celoti ponovila naš dizajn brez kakršnih koli sprememb, priporočamo, da uporabite Vivado 2016.2. Ko namestite Vivado, lahko ustvarite projekt in naložite naše izvorne datoteke. Dodajte jih kot vire v svoj projekt, ne pozabite dodati tudi datoteke z omejitvami!
Nato bomo razložili, kaj počne vsaka od izvornih datotek. Preskočite korake od 2 do 6, če želite samo priti do fizične konstrukcije naprave.
2. korak: Razčlenitev zgornjega modula VHDL
Zgornji modul projekta povezuje vse posamezne sestavne module z uporabljeno strojno opremo. Kot lahko vidite, imamo modula killSwitch in buzzerControl definirana kot komponente na vrhu.
Spodnji del določa, kako so ti moduli povezani. Na ploščo smo povezali štiri LED diode in jih povezali z moduli killSwitch od dev0 do dev3. Določili smo štiri module killSwitch, ker potrebujemo enega za upravljanje stanja vsake povezane LED. Vsak od teh modulov uporablja signal ure in gumba, ki smo ga ustvarili v zgornji definiciji modula, ter njihova vhodna stikala in signale izhodne naprave.
Nadzorni modul brenčalnika na dnu aktivira brenčalo, ko pritisnete univerzalni gumb za izklop. Kot lahko vidite, se krmilnemu modulu brenčalca posreduje ura in signal gumba kot vhoda. Posredovan je tudi fizični izhodni zvonec za ustrezno krmiljenje.
3. korak: Razčlenitev modula VHDL Kill Switch
Stikalo Kill je univerzalni gumb za izklop, modul pa se ukvarja predvsem s povezovanjem z drugimi elementi vezja, tako da se ob pritisku ugasnejo vse luči.
Medtem ko zgornji modul upravlja povezavo fizične strojne opreme s programsko opremo, modul killSwitch obravnava glavno logiko vsake naprave. Modul sprejema vhode za signal ure, univerzalni gumb za izklop in stikalo za napravo. V zameno nadzoruje stanje pin naprave, s katerim je povezan.
V oddelku za arhitekturo kode vidimo, da je odvisna od modula dFlipFlop za shranjevanje pomnilnika. Vidite lahko tudi, da smo deklarirali štiri signale, ki bodo uporabljeni za povezovanje japonk in za izvajanje naših logičnih stavkov. V vedenjskem odseku kode smo ustvarili primerek modula dFlipFlop in vrata vhodno/izhodno dodelili.
Od tu je glavni del naše logike v vrednostih signalov za invertState in isDevOn. Naša logična podlaga za napravo je naslednja: "Kadar koli pritisnete stikalo, bo lučka preklopila v stanje vklopa/izklopa. Vsakič, ko pritisnete gumb in je LED trenutno vklopljena, bo LED spremenila stanje v položaj za izklop. " Iz teh dveh stavkov lahko ekstrapoliramo, da mora biti stanje LED XOR stikala in pomnilniškega elementa. To je mogoče videti v signalu isDevOn. Za stanje LED za pomnilniški element upravlja naš invertState signal. Če LED sveti in je gumb pritisnjen, se bo naš pomnilniški element posodobil in obrnil svoje stanje. To nato obrne tudi stanje LED.
4. korak: Razčlenitev modula VHDL flip flop
Ena od težav pri naši zasnovi je bila dejstvo, da je treba po uporabi stikala za izklop morda že dvakrat prižgati luči, da se vrnejo v položaj za vklop. To bi bilo za ljudi sčasoma precej neprijetno. Te nevšečnosti smo uspeli izogniti tako, da smo v našo zasnovo vključili "japonko", element vezja, ki lahko shranjuje informacije. Zdaj se sistem spomni, ali je bilo stikalo za luč že vklopljeno, tako da se bo, če ga ponovno obrnete, vklopilo ne glede na začetni položaj.
Koda VHDL uporablja stavke if in else za ustvarjanje flip flopa kot komponente v naši zasnovi vezja. Zagotavlja, da ko signal ure preide iz nizkega v visoko stanje, ko je žarnica vklopljena in ko je stikalo za izklop pritisnjeno, izhod flip flops prepiše svoj vhod. Ko je vnos prepisan, se japonka obrne.
5. korak: Razčlenitev modula Piezo Buzzer VHDL
Ta datoteka je nekoliko odveč, kar zadeva zasnovo strojne opreme, vendar je bistvena za nemoteno delovanje zgornjih modulov in datotek z omejitvami. Če se odločite, da ne boste uporabljali zvočnika Piezo, prenesite to datoteko, vendar ne prilepite zvočnika na ploščo Basys 3.
Zvočni signal Piezo bo ob pritisku na gumb za onemogočanje predvajal zvok z dvema notama, ki bo uporabniku zagotovil zvočno povratno informacijo, da je bil gumb pritisnjen. To vedenjsko izvedbo smo v VHDL implementirali z vrsto stavkov if v strukturi procesa. Začeli smo z ustvarjanjem celoštevilske vrednosti za spremljanje, koliko sprememb je prišlo do ure. Ko se postopek začne, program porabi prve pol sekunde (od 0 do 50 milijonov taktov ure), da odda opombo A pri 440 hercih. To dosežemo z obračanjem piezo -brenčalnega signala na vsakih celo večkratnih 227272 urah z modulo funkcijo. Ta številka je rezultat deljenja signala ure na plošči (100 MHz) z želeno frekvenco (400 Hz). V drugi polovici sekunde (50 do 100 milijonov taktov ure) plošča na enak način kot prej oddaja opombo F pri 349,2 herca. Po eni sekundi program ne poveča več spremenljivke ure in preneha oddajati karkoli iz piezo brenčalnika. Ponovni pritisk univerzalnega gumba za izklop ponastavi to številko na 0 in znova zažene cikel hrupa.
6. korak: Razčlenitev datoteke omejitev VHDL
Datoteka omejitev pove Vivadu, katere naprave na plošči Basys 3 uporabljamo. Vivadu ponuja tudi imena, ki smo jih napravam dali v naši kodi. Vivado potrebuje te podatke, da ve, kako povezati naše logične elemente s fizično strojno opremo. Datoteka omejitev vsebuje veliko količino komentirane (neuporabljene) kode. Te vrstice kode se nanašajo na naprave na plošči, ki jih ne uporabljamo.
Naprave, ki jih uporabljamo, vključujejo štiri vhodna stikala z oznako V17, V16, W16 in W1 na plošči. Uporabljamo tudi univerzalni gumb za izklop z oznako U18. Izhodni zatiči za naše štiri povezane LED diode so JB4, JB10, JC4 in JC10. Za naš piezzo brenčalec uporabljamo izhodni zatič JA9.
Kot smo navedli v zgornji razčlenitvi modulov, če želite na ploščo dodati dodatne LED ali druge naprave, morate povečati obseg signalov sw in dev, dodati več modulov killSwitch in jih povezati skupaj. Ta imena spremenljivk morate nato povezati z datoteko omejitev s strojno opremo naprave. To lahko storite tako, da odkomentirate (znova omogočite) vrstice kode, povezane z nožicami, ki jih želite uporabiti, nato pa v zgornjem modulu dodate ime njene povezane spremenljivke. Ustrezna sintaksa za to se lahko kopira iz naprav, ki jih uporabljamo. Če želite izvedeti imena zatičev, ki jih želite uporabiti na plošči, si oglejte referenčni vodnik Baasys 3 tukaj.
7. korak: Izdelava temeljev 3
Svetleče diode boste morali priključiti v pravilna V/I vrata Basys 3. Sledite slikam, da ugotovite, katera vrata so pravilna, ker če LED priklopite v napačna vrata, ne zasveti. Če ste se odločili za priključitev piezo brenčalnika, ga boste morali povezati tudi s pravilnimi V/I vrati.
Ko je plošča pripravljena, jo priključite v računalnik prek kabla USB.
8. korak: Izvajanje datotek VHDL v baze 3
Zdaj, ko je plošča pripravljena in koda končana, lahko model končno sestavite.
Ko nastavite svoj projekt v Vivadu, morate klikniti gumb "Ustvari Bitstream", da sestavite kodo, preden jo naložite na ploščo. Če v tem času prejmete sporočilo o napaki, morate še enkrat preveriti, ali se vaša koda popolnoma ujema z našo. Ko natančno povem, mislim celo na podpičje ali vrste oklepajev, ki se uporabljajo. Ko je bitni tok uspešno zapisan, pojdite v upravitelja strojne opreme v Vivadu in kliknite gumb »Odpri cilj«, nato pa takoj kliknite »Programska naprava«. Vaša plošča Basys 3 bi morala biti zdaj popolnoma funkcionalna.
9. korak: Uporaba plošče Basys 3
Zdaj, ko je plošča Basys 3 operativna in je programirana tako, da predstavlja naš model, morate vedeti, kako jo uporabljati.
Vsako od štirih stikal, ki so najbolj oddaljena od desne, upravlja eno izmed LED, njihovo utripanje bo povzročilo vklop ali izklop LED. Če se LED ne vklopi, preverite, ali ste priključeni na pravilna V/I vrata in ali vaša LED deluje v celoti.
Če želite onemogočiti vse LED naenkrat, morate pritisniti osrednji gumb v nizu petih gumbov, prikazanih zgoraj.
10. korak: Pokažite se
Model služi kot čedna majhna novost, ki jo lahko pokažete pred prijatelji in družino. Teoretično se lahko uporablja tudi za vgradnjo univerzalnega stikala za izklop v vaš domači električni sistem, če LED zamenjate z žicami, ki vodijo do vaših luči. Čeprav je to mogoče, bi se temu morali še vedno odsvetovati. Če poskusite napeljati brez pomoči električarja, lahko resno poškodujete sebe ali svoj dom.
Priporočena:
Mobilni samodejni izklop s polnim polnjenjem: 20 korakov
Samodejni izklop pri polnem polnjenju mobilnega telefona: samodejno izklopi polnjenje mobilnega telefona, ko je popolnoma napolnjen. Ne skrbite za življenjsko dobo baterije, tudi če ste jo pustili čez noč. Mobilne telefone poganjajo baterije. Čeprav so baterije priročne za uporabo, je pri njihovi uporabi potrebnih tudi nekaj previdnostnih ukrepov. Mama
MOD: Vklop/izklop osvetlitve ozadja LCD zaslona Ender 3: 6 korakov
MOD: Vklop/izklop osvetlitve ozadja LCD zaslona Ender 3: Mod za vklop/izklop osvetlitve zaslona ponoči. Zdaj lahko izklopite osvetlitev ozadja
24v enosmerni motor do visokohitrostnega univerzalnega motorja (30 voltov): 3 koraki
24v DC motor v visokohitrostni univerzalni motor (30 voltov): Pozdravljeni! V tem projektu vas bom naučil, kako pretvoriti običajni 24 -voltni enosmerni motor v univerzalni motor 30V. Osebno verjamem, da video demonstracija najbolje opisuje projekt . Zato vam priporočam, da si najprej ogledate video. Projekt V
Ustvarjanje univerzalnega daljinskega upravljalnika z NodeMCU: 7 korakov
Ustvarjanje univerzalnega daljinskega upravljalnika z NodeMCU: V tem projektu bomo zgradili univerzalni daljinski upravljalnik, ki lahko klonira in pošilja infrardeče signale. Za nadzor celotnega tega procesa bo uporabljen spletni vmesnik. NodeMCU bo v povezavi z infrardečim fotoreceptorjem odgovoren za kloniranje
Stativ za ročno pomoč mobilnega telefona (2-v-1) Od neželenega (vrsta univerzalnega): 9 korakov
Ročno stojalo za mobilni telefon (2-v-1) Od neželenih (vrsta univerzalnega): Tukaj je eno od mojih del, ki vam ga bom povedal. To je roka pomoči, ki jo lahko uporabite kot stojalo za mobilni telefon. Če želite posneti fotografijo in za to nimate pomočnika, lahko uporabite to