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, Srpanj
Anonim
Budilica Basys 3
Budilica Basys 3

Naš projekt stvara budilicu koristeći Basys 3 FPGA ploču, Arduino i ploču s upravljačkim programima 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 lijevu tipku za zaključavanje vremena 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 krajnje lijeve sklopke i uključiti alarm pomoću sljedeće sklopke. Kad je alarm uključen, budilica će oglasiti zvuk 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, poput 5-bitnog ulaza (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 budilice kada je aktiviran, 1-bitni ulaz (e_sec) koji kontrolira kada brojač sekundi bit će 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 zaslonu od sedam segmenata.

Korak 2: Spori sat

Spori sat
Spori 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č

Brojač
Brojač
Brojač
Brojač

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 (podatke) koji je šalje u SSEG što se radi u datoteci za povezivanje. Također, kada minute i sekunde dosegnu vrijednosti 59, poništava se, a njihov izlaz je '1' kako bi se povećale minute/sat. Također se može mapirati s resetiranjem (rst_b) na njihove ulaze.

Korak 4: Brojač sati

Brojač sati
Brojač sati
Brojač sati
Brojač sati

Sat brojača komponenti

Slično, brojač 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 minutama i sekundama. Kad 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 služi 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 alarmne datoteke. 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 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 prikaz u sedam segmenata

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

Korak 7: Datoteka veze

Datoteka veze
Datoteka veze
Datoteka veze
Datoteka veze
Datoteka veze
Datoteka veze

Datoteka veze povezuje sve ostale aspekte programa i preslikava signale na njihovo točno mjesto. Svaka komponenta se unosi i instancira unutar datoteke. Signali se koriste za prijenos podataka s jedne komponente na drugu. Mapiranje priključaka slijedit će gore navedeni dijagram crne kutije. Datoteka veze također sadrži logiku koja upravlja kada je alarm aktiviran. Većina projekata već će biti dovršena do ove točke. Preostali posao je usmjeravanje svakog signala na odgovarajuće mjesto.

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. Kad je ovaj signal visok, arduino će emitirati PWM signal koji kontrolira 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 spojene 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 igla s 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čeni: