Sadržaj:
- Korak 1: Uvezite date VHDL datoteke
- Korak 2: Razbijanje gornjeg modula VHDL
- Korak 3: Kvar VHDL Kill Switch modula
- Korak 4: Kvar VHDL Flip Flop modula
- Korak 5: Kvar VHDL Piezo modula zujalice
- Korak 6: Analiza datoteke ograničenja VHDL -a
- Korak 7: Konstrukcija baza 3
- Korak 8: Implementacija VHDL datoteka u baze 3
- Korak 9: Korištenje Basys 3 ploče
- Korak 10: Pokažite se
Video: Model univerzalnog prekidača za isključivanje: 10 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Jeste li umorni od provjeravanja da li su sva svjetla u vašoj kući isključena prije nego što odete na spavanje? Želite li da isključite svako svjetlo odjednom bez ikakve gužve? Kako bismo uštedjeli energiju i vrijeme, odlučili smo stvoriti sistem koji bi teoretski mogao zatvoriti cijelu kuću odjednom.
Modelirali smo dokaz ovog koncepta koristeći nekoliko LED dioda i osnovnu ploču 3 i stvorili dizajn koji bi deaktivirao sve LED diode pritiskom na dugme. Ovaj bi se model mogao primijeniti i na stvarni sustav kućnog osvjetljenja, iako bi zahtijevao složenije ožičenje i izmjene datih VHDL datoteka.
Korak 1: Uvezite date VHDL datoteke
Da bi naš model ispravno radio, morat ćete preuzeti softver koji daje uputama Basys 3 ploči.
Prvo ćete morati preuzeti alat za sintezu za implementaciju vhdl datoteka na hardver. Ako želite biti sigurni da će sav kôd u potpunosti ponoviti naš dizajn bez potrebe za bilo kakvim izmjenama, preporučujemo vam da koristite Vivado 2016.2. Nakon što instalirate Vivado, možete kreirati projekt i preuzeti naše izvorne datoteke. Dodajte ih kao izvore svom projektu, ne zaboravite dodati i datoteku ograničenja!
Zatim ćemo objasniti šta svaka od izvornih datoteka radi. Preskočite korake od 2 do 6 ako samo želite prijeći na fizičku konstrukciju uređaja.
Korak 2: Razbijanje gornjeg modula VHDL
Gornji modul projekta je ono što povezuje sve module pojedinačnih komponenti sa korišćenim hardverom. Kao što vidite, imamo module killSwitch i buzzerControl definirane kao komponente na vrhu.
Donji odjeljak navodi kako su ti moduli povezani. Povezali smo četiri LED diode na ploču i povezali ih sa killSwitch modulima od dev0 do dev3. Imamo definirana četiri killSwitch modula jer nam je potreban jedan za upravljanje stanjem svake spojene LED diode. Svaki od ovih modula koristi signal sata i dugmeta koji smo stvorili u gornjoj definiciji modula, kao i odgovarajuće signale ulaznog prekidača i izlaznog uređaja.
Kontrolni modul zujalice na dnu aktivira zvučni signal kada se pritisne univerzalno dugme za isključivanje. Kao što vidite, upravljačkom modulu zujalice se prosljeđuje signal sata i tipke kao ulaz. Takođe se prosljeđuje izlazni pin fizičkog zujalice radi odgovarajuće kontrole.
Korak 3: Kvar VHDL Kill Switch modula
Kill Switch univerzalno je dugme za isključivanje, a modul se prvenstveno bavi povezivanjem s drugim elementima kruga tako da će se sva svjetla ugasiti kad se pritisne.
Dok gornji modul upravlja povezivanjem fizičkog hardvera sa softverom, modul killSwitch upravlja glavnom logikom svakog uređaja. Modul prima ulaze za signal sata, univerzalno dugme za isključivanje i prekidač uređaja. Zauzvrat kontrolira stanje pina uređaja na koji je povezan.
U odjeljku arhitekture koda vidimo da on ovisi o modulu dFlipFlop za pohranu memorije. Također možete vidjeti da smo deklarirali četiri signala koji će se koristiti za povezivanje japanke, kao i za implementaciju naših logičkih izraza. Unutar bihevioralnog odjeljka koda stvorili smo instancu dFlipFlop modula i dodijelili naše I/O signale portovima.
Odavde glavni dio naše logike leži u vrijednostima signala za invertState i isDevOn. Naša logička osnova za uređaj je sljedeća: "Svaki put kada je prekidač pritisnut, svjetlo će promijeniti stanje uključenosti/isključenosti. Svaki put kada se pritisne tipka, a LED je trenutno uključena, LED će promijeniti stanje u isključeno. " Iz ove dvije izjave možemo ekstrapolirati da bi stanje LED -a trebalo biti XOR prekidača i našeg memorijskog elementa. Na taj način promjena u bilo kojem od njih okreće LED. To se može vidjeti implementirano u isDevOn signalu. Za LED diodu za memorijski element upravlja naš invertState signal. Ako je LED lampica uključena i dugme je pritisnuto, naš memorijski element će se ažurirati i promijeniti stanje. Time se također mijenja stanje LED diode.
Korak 4: Kvar VHDL Flip Flop modula
Jedan problem s našim dizajnom bila je činjenica da je nakon korištenja prekidača za isključenje možda trebalo dvaput uključiti svjetla koja su bila uključena kako bi se vratila u položaj za uključivanje. To bi ljudima s vremenom predstavljalo veliku neugodnost. Uspjeli smo zaobići ovu neugodnost uključivanjem u svoj dizajn "japanke", elementa sklopa sposobnog za pohranu informacija. Sada sistem pamti je li prekidač za svjetlo prethodno bio uključen, pa će se, ako se ponovo okrene, uključiti bez obzira na njegov početni položaj.
VHDL kôd koristi naredbe if i else za stvaranje flip flopa kao komponente unutar našeg dizajna kola. On osigurava da kada signal sata pređe iz niskog u visoko stanje, kada je žarulja uključena i kada je prekidač za isključivanje pritisnut, izlaz japanki prepisuje njegov ulaz. Kada je ulaz prepisan, japanka je obrnuta.
Korak 5: Kvar VHDL Piezo modula zujalice
Ova datoteka je pomalo suvišna što se tiče dizajna hardvera, ali je neophodna kako bi se datoteke gornjeg modula i ograničenja nesmetano izvodile. Ako odlučite da nećete koristiti Piezo zujalicu, preuzmite ovu datoteku, ali nemojte pričvršćivati zujalicu na Basys 3 ploču.
Zvučni signal Piezo će, nakon što pritisne dugme za onemogućavanje, pustiti dvotonski ton koji će korisniku dati zvučnu povratnu informaciju da je dugme pritisnuto. Ovo smo ponašali u VHDL -u kroz niz if naredbi u strukturi procesa. Počeli smo stvaranjem cjelobrojne vrijednosti za praćenje koliko je promjena sata došlo. Nakon što proces započne, program troši prvih pola sekunde (0 do 50 miliona takta) emitujući bilješku A na 440 herca. To se postiže invertiranjem signala piezo zujalice svakih čak i višestrukih 227272 takta sata sa modulom funkcijom. Ovaj broj je rezultat dijeljenja signala takta ploče (100 MHz) sa željenom frekvencijom (400 Hz). Tokom druge polovine sekunde (50 do 100 miliona otkucaja sata) ploča emituje notu F na 349,2 herca na isti način kao i ranije. Nakon jedne sekunde program više ne povećava varijablu sata i prestaje izlaziti bilo što iz piezo zujalice. Ponovnim pritiskom na univerzalno dugme za isključivanje ovaj se broj vraća na 0, čime se ponovo pokreće ciklus šuma.
Korak 6: Analiza datoteke ograničenja VHDL -a
Datoteka ograničenja govori Vivadu koje uređaje na Basys 3 ploči koristimo. On takođe pruža Vivadu imena koja smo dali uređajima u našem kodu. Vivadu su potrebne ove informacije kako bi znao povezati naše logičke elemente s fizičkim hardverom. Datoteka ograničenja uključuje veliku količinu komentiranog (nekorištenog) koda. Ovi redovi koda upućuju na uređaje na ploči koje ne koristimo.
Uređaji koje koristimo uključuju četiri ulazna prekidača označena sa V17, V16, W16 i W1 na ploči. Također koristimo univerzalno dugme za isključivanje, označeno sa U18. Izlazni pinovi za naše četiri spojene LED diode su JB4, JB10, JC4 i JC10. Za naš piezzo zujalica koristimo izlazni pin JA9.
Kao što smo naveli u gornjoj analizi modula, ako želite dodati dodatne LED ili druge uređaje na ploču, morate povećati opseg sw i dev signala, dodati još killSwitch modula i povezati ih zajedno. Zatim morate povezati te varijable s hardverom uređaja putem datoteke ograničenja. To se može učiniti tako što ćete dekomentirati (ponovo omogućiti) redove koda pridružene pinovima koje želite koristiti, a zatim dodati ime pridružene varijable u gornji modul. Odgovarajuća sintaksa za ovo može se kopirati s uređaja koje koristimo. Da biste saznali nazive pinova koje želite koristiti na ploči, pogledajte referentni vodič Baasys 3 ovdje.
Korak 7: Konstrukcija baza 3
Morat ćete uključiti svoje LED diode u ispravne I/O portove Basys 3. Slijedite slike na slici kako biste utvrdili koji su to ispravni portovi, jer ako LED diodu priključite na pogrešan port, ona neće zasvijetliti. Ako ste odlučili priključiti piezo zvučni signal, morat ćete ga povezati i na ispravne I/O portove.
Kada je ploča spremna, uključite je u računar putem USB kabla.
Korak 8: Implementacija VHDL datoteka u baze 3
Sada kada je vaša ploča spremna i vaš kod dovršen, konačno možete sastaviti model.
Nakon što postavite svoj projekt u Vivadu, morate kliknuti gumb "Generiraj Bitstream" kako biste kompajlirali kôd prije nego što se učita na ploču. Ako u ovom trenutku primite poruku o grešci, morate dvaput provjeriti da li se vaš kôd potpuno podudara s našim. Kad kažem tačno, mislim čak do tačke i zareza ili vrste zagrada koje se koriste. Nakon što je vaš bitstream uspješno napisan, idite do upravitelja hardvera u Vivadu i kliknite gumb "Otvori cilj", a zatim odmah kliknite "Programiraj uređaj". Vaša ploča Basys 3 sada bi trebala biti potpuno funkcionalna.
Korak 9: Korištenje Basys 3 ploče
Sada kada je ploča Basys 3 operativna i programirana da predstavlja naš model, morate znati kako je koristiti.
Svaki od četiri prekidača najudaljenije nadesno kontrolira jednu od LED dioda, njihovim trzanjem će se LED uključiti ili isključiti. Ako se LED lampica ne aktivira, provjerite jeste li priključeni na odgovarajući U/I port i je li vaša LED dioda funkcionalna.
Kada želite onemogućiti sve LED diode odjednom, morate pritisnuti središnje dugme u nizu od pet prikazanih dugmadi.
Korak 10: Pokažite se
Model služi kao zgodna mala novina koju možete demonstrirati pred prijateljima i porodicom. Teoretski se može koristiti i za implementaciju univerzalnog prekidača za isključivanje u vaš kućni električni sistem, ako LED diode zamijenite žicama koje vode do vaših svjetala. Iako je moguće, ipak bismo se morali savjetovati protiv toga. Postoji mogućnost da nanesete ozbiljnu štetu sebi ili svom domu ako pokušate ponovno ožičenje bez pomoći električara.
Preporučuje se:
Dugme za isključivanje zvuka Microsoft Teams: 4 koraka
Dugme za isključivanje zvuka Microsoftovih timova: Izradite lako dostupno dugme za isključivanje/uključivanje zvuka dok ste na pozivu Microsoft Teamsa! Budući da 2020. Ovaj projekt koristi Adafruit Circuit Playground Express (CPX) i veliko dugme za stvaranje dugmeta za isključivanje zvuka za Microsoft Teams putem interventnog tastera
24V DC motor do univerzalnog motora velike brzine (30 V): 3 koraka
24V DC motor u univerzalni motor velike brzine (30 Volti): Bok! U ovom projektu naučit ću vas kako pretvoriti obični 24V DC motor u univerzalni motor od 30V. Osobno vjerujem da video demonstracija najbolje opisuje projekt . Zato vam preporučujem da prvo pogledate video.Projekt V
Stvaranje univerzalnog daljinskog upravljača s NodeMCU: 7 koraka
Stvaranje univerzalnog daljinskog upravljača sa NodeMCU: U ovom projektu ćemo izgraditi univerzalni daljinski upravljač koji može klonirati i slati infracrvene signale. Za kontroliranje ovog procesa koristit će se web sučelje. NodeMCU će zajedno s infracrvenim fotoreceptorom biti odgovoran za kloniranje
Hakiranje vašeg univerzalnog adaptera napajanja IGo: 4 koraka
Hakiranje vašeg IGo univerzalnog adaptera za napajanje: iGo pravi univerzalni adapter za napajanje za napajanje stvari poput prijenosnih računara, ekrana i mobilnih uređaja. Nude veliki izbor izmjenjivih savjeta za priključivanje vašeg određenog uređaja. Pronašao sam LCD monitor sa ekranom Apple Studio na lokalnom nivou
Stativ mobilnog telefona za pomoć (2-u-1) od smeća (vrsta univerzalnog): 9 koraka
Ručni stativ za mobilni telefon (2-u-1) od Bezvrijednog (univerzalni): Evo jednog od mojih radova koje ću vam podijeliti. Ovo je ruka pomoći koju možete koristiti kao stativ za mobilni telefon. Ako želite slikati, a nemate pomoćnika za to, evo što možete upotrijebiti