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 sa sedam segmenata
- Korak 7: Povežite datoteku
- Korak 8: Arduino
- Korak 9: Usmjeravanje kabela
Video: Budilica Basys 3: 9 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
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
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
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 (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
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
. 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 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
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 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
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:
Budilica sa dva zvona iz limenki sode: 7 koraka (sa slikama)
Budilica sa dva zvona iz limenki sode: Ova instrukcija vam pokazuje kako napraviti budilicu sa dva zvona od limenki sode. Projekt koristi limenke sode u kojima je uklonjena tinta (veza: Uklanjanje tinte iz limenki sode). Da bi ovaj budilnik bio potpuno funkcionalan, integriran je DIY kvarcni sat
Budilica za dan mrmota: 12 koraka (sa slikama)
Alarm za dan mrmota: Dnevni budilnik za mrmota sastoji se od preklopnog sata Panasonic RC-6025 prilagođenog za reprodukciju zvuka iz filma Dan mrmota kada se oglasi alarm. Razlog zbog kojeg sam napravio 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)
Pametno svjetlo nadograđenog budilnika: U ovom projektu obnavljam potpuno pokvareni budilnik. Brojčanik sata zamjenjuje 12 LED dioda, osvijetljenih LED trakom oko ruba sata. 12 LED dioda pokazuju vrijeme, a LED traka je programirana da djeluje kao alarm, okrećući se
Arduino budilica sa senzorom temperature: 5 koraka
Arduino budilica sa senzorom temperature: Arduino je vrlo jednostavan i jeftin mikro kontroler. i lako se kontroliraju. Dakle, ono što očekujete u ovom projektu … koristit ćemo RTC tako precizne postavke vremenskog alarma koje su dovoljno glasne da probude temperaturu vaše prostorije ako želite gledati video klikove
Budilica: Posebna melodija zvona, vrlo efikasna: 3 koraka
Budilica: Posebna melodija zvona, Vrlo efikasno: Pozdrav svima! Za mene je ovo prvi put da objavljujem instrukcije, oprostite na niskom nivou engleskog jezika :) Evo buđenja koje će pomoći onima koji se ujutro vrate na spavanje. Princip je prilično jednostavan, umjesto da vas probudi melodija zvona ili