Kazalo:

Budilka Basys 3: 9 korakov
Budilka Basys 3: 9 korakov

Video: Budilka Basys 3: 9 korakov

Video: Budilka Basys 3: 9 korakov
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Budilka Basys 3
Budilka Basys 3

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

Diagram črne škatle
Diagram črne škatle
Diagram črne škatle
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
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
Števec
Števec
Š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

Števec ur
Števec ur
Števec ur
Š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

Alarm
Alarm
Alarm
Alarm
Alarm
Alarm
Alarm
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 gonilnik za sedem segmentov zaslona
Univerzalni gonilnik za sedem segmentov zaslona
Univerzalni gonilnik za sedem segmentov zaslona
Univerzalni gonilnik za sedem segmentov zaslona
Univerzalni gonilnik za sedem segmentov zaslona
Univerzalni gonilnik za sedem segmentov zaslona

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 povezave
Datoteka povezave
Datoteka povezave
Datoteka povezave
Datoteka povezave
Datoteka povezave

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
Arduino
Arduino
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

Usmerjanje kablov
Usmerjanje 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: