Kazalo:
- Korak: Diagram črne škatle
- 2. korak: Počasna ura
- 3. korak: števec
- 4. korak: števec ur
- 5. korak: Alarm
- Korak 6: Univerzalni gonilnik za sedem segmentnih zaslonov
- Korak: Povežite datoteko
- 8. korak: Arduino
- 9. korak: Polaganje kablov
Video: Budilka Basys 3: 9 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Naš projekt ustvari budilko z uporabo plošče Basys 3 FPGA, Arduina in plošče gonilnika zvočnikov. Uporabnik lahko vnese trenutni čas na ploščo z 11 vhodnimi stikali na Basys 3 in vrednost zaklene s srednjim gumbom na plošči. Uporabnik lahko nato z istimi stikali vnese čas alarma, vendar pritisne levi gumb, da zaklene čas alarma. Če vnesete napačen čas, lahko pritisnete gumb za ponastavitev (zgornji gumb), trenutni čas ure in čas alarma pa nastavite na 00:00. Uporabnik lahko nato zažene uro s skrajnim levim stikalom in z naslednjim stikalom vklopi alarm. Ko je alarm vklopljen, se budilka oglasi, ko se ura in nastavljeni čas alarma ujemata.
Korak: Diagram črne škatle
Naš projekt smo začeli z risanjem diagrama črne škatle za vizualizacijo vhodov in izhodov, potrebnih v našem programu. Naslednji vhodi za naš program, kot je 5-bitni vhod (Hour_in), so bili inicializirani za določitev 24-urnega časa, 6-bitni (Min_in) vnos za prikaz do 60 minut, gumb za ponastavitev (Rst_b), ki uporabniku omogoča spremenite svoj časovni vnos, 1-bitni vhod (alm_en), ki naloži alarmni vhod, 1-bitni vhod (alarm_sw) za izklop budilke, ko je aktiviran, 1-bitni vhod (e_sec), ki nadzoruje, kdaj števec sekund, 1-bitni vhod (Led_btn), ki nastavi trenutni čas, in nazadnje 1-bitni vhod (clk), ki nadzoruje čas, ki ga prikazuje plošča Basys 3. Izhodi so (alm_on), ki pošilja signal na Arduino, izhod sseg, ki prikazuje vhodni čas na Basys 3, in anodni izhod, ki nadzoruje, kje so vnosi prikazani na zaslonu sedmih segmentov.
2. korak: Počasna ura
Počasna ura ali datoteka clock_div2 ustvari uro, katere frekvenca je 2 hz. Če to uro vnesemo v števec sekund, se bo vrednost sekund vsako sekundo povečala za eno. Počasna ura se uporablja za ustvarjanje zanesljivega signala ure, ki se enkrat na sekundo spremeni iz nizkega v visoko.
3. korak: števec
Števec komponent (minute in sekunde):
Osnovna funkcija minut in sekund je, da so števci. Števec minut sprejema vhod (Vin), ki je signal iz vhodov (Min_in), in nato šteje, dokler ne doseže želenega vnosa. Sekunde vzamejo samo vnos stikala (e_Sec), ker ga ni mogoče prikazati na sedmih segmentih, šteje pa v ozadju, ko je stikalo visoko "1". Oba tam prikažeta vrednost v (Qout), nato pa je shranjena v (data), ki jo pošlje v SSEG, kar se naredi v povezovalni datoteki. Ko minute in sekunde dosežejo vrednosti 59, se ponastavi, njihov izhod pa je '1' za povečanje minut/uro. Lahko se preslika tudi s ponastavitvijo (rst_b) na njihove vhode.
4. korak: števec ur
Ura števca komponent
Podobno pri števcu komponent minut in sekund urna komponenta vnese vhode s, kot je (Vin), ki je signal iz vhoda povezovalne datoteke (Hour_in), in ima izhode, ki so na enak način povezani v minutah in sekundah. Ko vrednost števila ur doseže 24 00, se ponastavi na 00 00.
5. korak: Alarm
Datoteka.vhd alarma je sestavljena iz d-japonk, ki so shranjevalne naprave, ki lahko shranijo digitalne podatke. Alarmna datoteka se uporablja za shranjevanje časa, ko se bo alarm aktiviral. Za shranjevanje podatkov o urah (5-bitni vnos) in minutah (6-bitni vnos) moramo v naši datoteki z alarmom iztisniti 11 d-japonk. Če želite to narediti, moramo najprej uvoziti logiko, ki ureja delovanje d-japonk, in preslikati komponente. Vsak od 11 d-japonk bo shranil en bit podatkov iz vhodov in omogočil preslikavo podatkov na izhode alarmne datoteke. Ker d-japonke shranjujejo podatke, jih lahko uporabimo pozneje, tudi če so bila vhodna stikala spremenjena.
Korak 6: Univerzalni gonilnik za sedem segmentnih zaslonov
Univerzalni sedem segmentni gonilnik zaslona sprejema vnose iz ure in ure in jih lahko odda na sedemsegmentni zaslon na plošči. Voznik lahko na ploščo hkrati prikaže dva ločena štetja. To funkcijo smo uporabili za ločen prikaz ure in minute. Zaslon s sedmimi segmenti lahko aktivira samo eno številko naenkrat, zato mora datoteka sseg uporabljati multipleksiranje za prikaz vseh številk časa hkrati. Signal ure plošč se vnese v sseg, da se ohrani pravilen čas za multipleksiranje. Binarno v binarno kodirano decimalno kodirnik je potreben za pretvorbo vhodov v datoteko v obliko, ki jo je mogoče poslati na sedemsegmentni zaslon. Končni izhod datoteke sseg je preslikan na sedemsegmentni zaslon in na zaslonu je prikazan pravilen čas.
Korak: Povežite datoteko
Datoteka s povezavami povezuje vse druge vidike programa in preslika signale na njihovo pravo mesto. Vsaka komponenta je vnesena in ustvarjena v datoteki. Signali se uporabljajo za prenos podatkov iz ene komponente v drugo. Preslikava vrat bo sledila zgoraj navedenemu diagramu črne škatle. Datoteka s povezavami vsebuje tudi logiko, ki velja, ko je alarm aktiviran. Večina projektov bo do takrat že zaključenih. Preostalo delo je usmerjanje vsakega signala na ustrezno mesto.
8. korak: Arduino
Arduino se uporablja za aktiviranje zvočnika, pa tudi za nadzor tona in trajanja note, ki se predvaja skozi zvočnik. Arduino bere digitalni signal s plošče Basys 3. Ko je ta signal visok, bo arduino oddajal signal PWM, ki nadzira ton in trajanje alarma. Izhodni signal iz arduina se poveže z vhodnim signalom gonilniške plošče zvočnika, kar poveča glasnost zvočnika. Arduino ta proces zelo hitro ponavlja večkrat na sekundo.
9. korak: Polaganje kablov
Plošča arduino in Basys 3 morata biti fizično povezana za prenos signalov med ploščami. Prvi kabel za ožičenje bo od ozemljitvenega zatiča JA PMOD Basys 3 do ozemljitvenega zatiča arduina. Nato priključite žico s pina 1 JA PMOD Basys 3 na digitalni pin 7 arduina. Nato priključite dva ozemljitvena zatiča iz arduina na ozemljitvene zatiče gonilnika zvočnikov. Nato priključite 3,3 V izhod arduina na pin Vcc gonilnika zvočnikov. Nato digitalni zatič 9 arduina priključite na vhodni vhod gonilnika zvočnikov.
Priporočena:
Pametna budilka z uporabo Magicbita (Arduino): 10 korakov
Pametna budilka z uporabo programa Magicbit (Arduino): Ta vadnica prikazuje, kako narediti pametno budilko z uporabo OLED zaslona na plošči za razvijalce Magicbit brez uporabe modula RTC
Budilka z dvema zvoncema iz pločevinke sode: 7 korakov (s slikami)
Budilka z dvema zvončkoma iz pločevinke sode: Ta navodila vam pokažejo, kako iz budilke sode lahko naredite budilko z dvema zvoncema. Da bi bila ta budilka popolnoma funkcionalna, je bil vgrajen modul kremenove ure DIY
Mehurčka budilka poskrbi, da se zbujanje zbudi (ish): 7 korakov (s slikami)
Mehurčka budilka naredi prebujanje zabavno (ish): Prebujanje ob brenčeči budilki je zanič. Sem eden tistih ljudi, ki se ne marajo zbuditi, preden sonce ne zaide (ali je že več ur zunaj). Torej, kakšen boljši način, da se zbudite, kot zabava z mehurčki v postelji! Uporaba arduina in
Budilka za dan mrmota: 12 korakov (s slikami)
Budilka za dan mrmota: Dnevna budilka za mrmoča je sestavljena iz obrnjene ure Panasonic RC-6025, prilagojene za predvajanje zvoka iz filma Dan mrmota, ko se oglasi alarm. in film) je imel specifikacijo
Pametna budilka: pametna budilka iz Raspberry Pi: 10 korakov (s slikami)
Pametna budilka: pametna budilka iz Raspberry Pi: Ste si kdaj želeli pametno uro? Če je tako, je to rešitev za vas! Naredil sem pametno budilko, to je ura, ki jo lahko spremenite glede na spletno stran. Ko se alarm sproži, bo zaslišal zvočni signal in dve lučki bosta