Sadržaj:

Budilica Basys 3: 9 koraka
Budilica Basys 3: 9 koraka

Video: Budilica Basys 3: 9 koraka

Video: Budilica Basys 3: 9 koraka
Video: Жизнь после смерти | Первые 9 и 40 дней 2024, Novembar
Anonim
Alarm Basys 3
Alarm Basys 3

Naš projekt stvara budilicu koristeći Basys 3 FPGA ploču, Arduino i ploču zvučnika. Korisnik može unijeti trenutno vrijeme na ploču pomoću 11 ulaznih prekidača na Basys 3 i zaključati vrijednost pomoću srednjeg gumba na ploči. Korisnik tada može unijeti vrijeme alarma pomoću istih prekidača, ali pritisnite lijevo dugme da biste zaključali vrijeme alarma. Ako se unese pogrešno vrijeme, može se pritisnuti tipka za resetiranje (gornja tipka), a trenutno vrijeme sata i vrijeme alarma bit će postavljeni na 00:00. Korisnik tada može pokrenuti sat pomoću krajnjeg lijevog prekidača i uključiti alarm pomoću sljedećeg prekidača. Kada je alarm uključen, budilica će se oglasiti kada se vrijeme sata i postavljeno vrijeme alarma podudaraju.

Korak 1: Dijagram Crne kutije

Dijagram crne kutije
Dijagram crne kutije
Dijagram crne kutije
Dijagram crne kutije

Naš projekt započeli smo crtanjem dijagrama crne kutije za vizualizaciju ulaza i izlaza potrebnih u našem programu. Sljedeći ulazi za naš program, kao što je 5-bitni ulaz (Hour_in), inicijalizirani su za određivanje 24-satnog vremena, 6-bitni (Min_in) ulaz za prikaz do 60 minuta, gumb za resetiranje (Rst_b) kako bi se korisniku omogućilo da promijeniti njihov vremenski ulaz, 1-bitni ulaz (alm_en) koji učitava alarmni ulaz, 1-bitni ulaz (alarm_sw) za isključivanje budilnika kada je aktiviran, 1-bitni ulaz (e_sec) koji kontrolira kada brojač sekundi će se pokrenuti, 1-bitni ulaz (Led_btn) koji postavlja trenutno vrijeme, i na kraju 1-bitni ulaz (clk) koji kontrolira vrijeme prikazano na ploči Basys 3. Izlazi su (alm_on) koji šalje signal na Arduino, sseg izlaz koji prikazuje vrijeme unosa na Basys 3 i anodni izlaz koji kontrolira gdje su ulazi prikazani na ekranu sa sedam segmenata.

Korak 2: Spori sat

Spor sat
Spor sat

Spori sat ili datoteka clock_div2 stvara sat čija je frekvencija 2 hz. Ako ovaj sat dovedemo do brojača sekundi, vrijednost sekundi će se svake sekunde povećavati za jedan. Spori sat koristi se za stvaranje pouzdanog signala sata koji se mijenja od niskog do visokog jednom u sekundi.

Korak 3: Brojač

Counter
Counter
Counter
Counter

Brojač komponenti (minute i sekunde):

Osnovna funkcija minuta i sekundi je da su brojači. Brojač minuta prima ulaz (Vin) koji je signal s ulaza (Min_in), a zatim se broji sve dok ne dosegne željeni ulaz. Sekunde uzimaju samo ulaz prekidača (e_Sec) jer se ne može prikazati na sedam segmenata, a računa se u pozadini kada je prekidač visok '1'. Oboje tamo ispisuju vrijednost (Qout), a zatim se pohranjuje u (data) koji je šalje u SSEG što se radi u datoteci za povezivanje. Također, kada minute i sekunde dosegnu vrijednosti 59, resetira se, a njihov izlaz je ‘1’ kako bi se povećale minute/sat. Takođe se može mapirati sa resetovanjem (rst_b) na njihove ulaze.

Korak 4: Brojač sati

Counter Hour
Counter Hour
Counter Hour
Counter Hour

Sat brojača komponenti

Slično, brojaču komponenti minuta i sekundi satna komponenta uzima ulaze s, poput (Vin), koji je signal iz povezivanja ulaza datoteke (Hour_in), i ima izlaze koji su povezani na isti način u minutima i sekundama. Kada vrijednost brojača sata dosegne 24 00, vraća se na 00 00.

Korak 5: Alarm

Alarm
Alarm
Alarm
Alarm
Alarm
Alarm
Alarm
Alarm

. Vhd datoteka alarma sastoji se od d-japanki koje su uređaji za pohranu koji mogu pohraniti digitalne podatke. Datoteka alarma se koristi za spremanje vremena u kojem će se alarm aktivirati. Za spremanje podataka o satima (5-bitni ulaz) i minutama (6-bitni ulaz) moramo otisnuti 11 d-japanki u našoj datoteci alarma. Da bismo to učinili, prvo moramo uvesti logiku koja upravlja radom d-japanki i mapirati komponente. Svaki od 11 d-japanki pohranit će jedan bit podataka s ulaza i omogućiti preslikavanje podataka na izlaze datoteke alarma. Budući da d-japanke spremaju podatke, možemo ih koristiti kasnije, čak i ako su ulazni prekidači promijenjeni.

Korak 6: Univerzalni upravljački program za prikaz sa sedam segmenata

Univerzalni upravljački program za prikaz u sedam segmenata
Univerzalni upravljački program za prikaz u sedam segmenata
Univerzalni upravljački program za prikaz u sedam segmenata
Univerzalni upravljački program za prikaz u sedam segmenata
Univerzalni upravljački program za prikaz u sedam segmenata
Univerzalni upravljački program za prikaz u sedam segmenata

Univerzalni upravljački program za sedam segmenata ekrana prima ulaze iz sata i sata i može ih izlaziti na zaslon sa sedam segmenata na ploči. Upravljački program može odjednom prikazati dva zasebna broja na ploči. Koristili smo ovu funkciju za odvojeno prikazivanje vremena i minuta. Prikaz sa sedam segmenata može aktivirati samo jedan broj odjednom, pa sseg datoteka mora koristiti multipleksiranje za istovremeni prikaz svih brojeva vremena. Signal sata sa ploča se unosi u sseg kako bi se zadržalo tačno vrijeme za multipleksiranje. Binarni u binarno kodirani decimalni koder neophodan je za pretvaranje ulaza u datoteku u oblik koji se može izlaziti na prikaz sa sedam segmenata. Konačni izlaz datoteke sseg preslikava se na sedmosegmentni prikaz, a na zaslonu se prikazuje točno vrijeme.

Korak 7: Povežite datoteku

Link File
Link File
Link File
Link File
Link File
Link File

Datoteka veze povezuje sve ostale aspekte programa i preslikava signale na njihovu ispravnu lokaciju. Svaka komponenta se unosi i instancira unutar datoteke. Signali se koriste za prijenos podataka s jedne komponente na drugu. Mapiranje portova će slijediti gore navedeni dijagram crne kutije. Datoteka veze takođe sadrži logiku koja upravlja kada je alarm aktiviran. Većina projekata će već biti završena do ove tačke. Preostali posao je usmjeravanje svakog signala na odgovarajuću lokaciju.

Korak 8: Arduino

Arduino
Arduino
Arduino
Arduino

Arduino se koristi za aktiviranje zvučnika, kao i za kontrolu tona i trajanja note koja se svira kroz zvučnik. Arduino čita digitalni signal s ploče Basys 3. Kada je ovaj signal visok, arduino će emitirati PWM signal kontrolirajući ton i trajanje alarma. Izlazni signal iz arduina povezuje se s ulaznim signalom ploče upravljačkog programa zvučnika što povećava glasnoću zvučnika. Arduino radi ovaj proces vrlo brzo ponavljajući se mnogo puta u sekundi.

Korak 9: Usmjeravanje kabela

Usmjeravanje kabela
Usmjeravanje kabela

Arduino i Basys 3 ploča moraju biti fizički povezane za prijenos signala između ploča. Prvi kabel za povezivanje bit će od uzemljenja pin -a JA PMOD -a Basys 3 do uzemljenja na arduinu. Zatim spojite žicu s pina 1 JA PMOD -a Basys 3 na digitalni pin 7 arduina. Zatim spojite dva uzemljivača sa arduina na uzemljenje upravljačkih programa zvučnika. Zatim spojite 3,3 V izlaz arduina na Vcc pin upravljačkog programa zvučnika. Zatim spojite digitalni pin 9 arduina na ulaznu utičnicu upravljačkog programa zvučnika.

Preporučuje se: