Sadržaj:
- Korak 1: Dijagram crne kutije
- Korak 2: Spori sat
- Korak 3: Brojač
- Korak 4: Brojač sati
- Korak 5: Alarm
- Korak 6: Univerzalni upravljački program za prikaz u sedam segmenata
- Korak 7: Datoteka veze
- Korak 8: Arduino
- Korak 9: Usmjeravanje kabela
Video: Budilica Basys 3: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
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
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 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č 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
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
. 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 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 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 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
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:
Budilica s dva zvona iz limenki sode: 7 koraka (sa slikama)
Budilica s dvostrukim zvonom iz limenki sode: Ova uputa prikazuje vam kako izraditi dvostruki budilicu od limenki sode. Projekt koristi limenke sode u kojima je uklonjena tinta (veza: Uklanjanje tinte iz limenki sode). Kako bi ovaj budilnik bio potpuno funkcionalan, integriran je modul kvarcnog sata DIY
Budilica za dan mrmota: 12 koraka (sa slikama)
Budilica za dan mrmota: Budilica za dan mrmota sastoji se od preklopnog sata Panasonic RC-6025 prilagođenog za reprodukciju zvuka iz filma Dan mrmota kad se oglasi alarm. Razlog zbog kojeg sam stvorio ovaj uređaj je taj što je Dan mrmota (oba dana i film) držao specifikacije
Unaprijeđeno budilica Pametno svjetlo: 8 koraka (sa slikama)
Upcycled Alarm Clock Smart Light: U ovom projektu obrađujem potpuno pokvareni budilnik. Brojčanik sata zamjenjuje 12 LED dioda, osvijetljenih LED trakom oko ruba sata. 12 LED dioda govori o vremenu, a LED traka je programirana da djeluje kao alarm, okrećući se
Noćni budilica s MP3 alarmom: 6 koraka (sa slikama)
Noćni budilica s MP3 alarmom: Za ovaj projekt želio sam izraditi prikladan i potpuno funkcionalan noćni budilnik sa riječju. Moji osobni preduvjeti za budilicu pored kreveta su: Čitljivo pri svakom svjetlu, a noću ne zasljepljuje MP3 melodije alarma Privući
Budilica s memorijskom zagonetkom: 3 koraka (sa slikama)
Budilica sa memorijskom slagalicom: Ovo je alarmna sata, što znači da postoji mala memorijska igra koju morate riješiti da biste prestali zvoniti alarm! Kao sažetak, ovaj sat je za one koji se ujutro snalažu. Ima 3 LED diode koje će, kada pritisnete bilo koju tipku, alarm biti