Obsah:
- Krok 1: Diagram čiernej skrinky
- Krok 2: Pomalé hodiny
- Krok 3: Počítadlo
- Krok 4: Počítadlo hodín
- Krok 5: Alarm
- Krok 6: Univerzálny sedemsegmentový ovládač displeja
- Krok 7: Prepojte súbor
- Krok 8: Arduino
- Krok 9: Vedenie kábla
Video: Základy 3 Budík: 9 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Náš projekt vytvára budík pomocou dosky Basys 3 FPGA, Arduina a dosky ovládača reproduktora. Užívateľ je schopný zadať aktuálny čas na dosku pomocou 11 vstupných spínačov na základniach 3 a zablokovať hodnotu pomocou stredného tlačidla na doske. Užívateľ potom môže zadať čas budíka pomocou rovnakých spínačov, ale stlačením ľavého tlačidla čas budíka uzamkne. Ak je zadaný nesprávny čas, je možné stlačiť tlačidlo reset (horné tlačidlo) a aktuálny čas a budík sa nastavia na 00:00. Užívateľ potom môže spustiť hodiny pomocou spínača úplne vľavo a zapnúť alarm pomocou nasledujúceho prepínača. Keď je budík zapnutý, budík vydá zvuk, keď sa čas a nastavený čas budíka zhodujú.
Krok 1: Diagram čiernej skrinky
Náš projekt sme začali nakreslením diagramu čiernej skrinky na vizualizáciu vstupov a výstupov potrebných v našom programe. Nasledujúce vstupy pre náš program, ako napríklad 5-bitový vstup (Hour_in), boli inicializované tak, aby určovali 24-hodinový časový, 6-bitový (Min_in) vstup pre zobrazenie až 60 minút, tlačidlo reset (Rst_b), ktoré užívateľovi umožňuje zmeniť svoj časový vstup, 1-bitový vstup (alm_en), ktorý načítava poplachový vstup, 1-bitový vstup (alarm_sw) na vypnutie budíka, keď je aktivovaný, 1-bitový vstup (e_sec), ktorý riadi počítadlo sekúnd pobeží, 1-bitový vstup (Led_btn), ktorý nastavuje aktuálny čas, a nakoniec 1-bitový vstup (clk), ktorý riadi čas zobrazovaný doskou Basys 3. Výstupmi sú (alm_on), ktoré odosielajú signál do Arduina, výstup sseg, ktorý zobrazuje vstupný čas na základniach 3, a anódový výstup, ktorý riadi, kde sa vstupy zobrazujú na displeji so siedmimi segmentmi.
Krok 2: Pomalé hodiny
Pomalé hodiny alebo súbor clock_div2 vytvoria hodiny, ktorých frekvencia je 2 Hz. Ak vložíme tieto hodiny do počítadla sekúnd, hodnota sekúnd sa zvýši o jednu každú sekundu. Pomalé hodiny sa používajú na vytvorenie spoľahlivého hodinového signálu, ktorý sa mení z nízkych na vysoké raz za sekundu.
Krok 3: Počítadlo
Počítadlo komponentov (minúty a sekundy):
Základnou funkciou minút a sekúnd je, že sú počítadlami. Počítadlo minút vezme vstup (Vin), ktorý je signálom zo vstupov (Min_in), a potom počíta, kým nedosiahne požadovaný zadaný vstup. Sekundy zaberajú iba vstup prepínača (e_Sec), pretože ho nemožno zobraziť na siedmom segmente, a počítajú sa na pozadí, keď je prepínač vysoký „1“. Obe tam vygenerujú hodnotu do (Qout) a potom sa uložia do (údajov), ktoré ich odošlú do SSEG, čo sa vykoná v prepojovacom súbore. Akonáhle minúty a sekundy dosiahnu hodnoty 59, resetujú sa a ich výstup je „1“, aby sa zvýšili minúty/hodiny. Tiež je možné ich mapovať s resetom (rst_b) na ich vstupy.
Krok 4: Počítadlo hodín
Hodina počítadla komponentov
Podobne, pokiaľ ide o počítadlo komponentov minút a sekúnd, hodinová zložka preberá vstupy s, ako je (Vin), čo je signál z prepojovacieho vstupu súboru (Hodina_v), a má výstupy, ktoré sú rovnakým spôsobom prepojené v minútach a sekundách. Keď hodnota počítania hodiny dosiahne 24 00, vynuluje sa na 00 00.
Krok 5: Alarm
Súbor.vhd alarmu sa skladá z d-klopných obvodov, čo sú úložné zariadenia, ktoré môžu ukladať digitálne údaje. Alarmový súbor slúži na uloženie času, kedy bude alarm aktivovaný. Aby sme uložili údaje o hodinách (5-bitový vstup) a minútach (6-bitový vstup), musíme do nášho súboru alarmov vyraziť 11 d-flip-flopov. Aby sme to urobili, musíme najskôr importovať logiku riadiacu činnosť d-flip-flopov a mapovať komponenty. Každý z 11 d-klopných obvodov bude ukladať jeden bit údajov zo vstupov a umožní mapovanie údajov na výstupy súboru alarmu. Pretože d-flip-flopy ukladajú údaje, sme schopní ich použiť neskôr, aj keď boli zmenené vstupné prepínače.
Krok 6: Univerzálny sedemsegmentový ovládač displeja
Univerzálny sedemsegmentový ovládač displeja prijíma vstupy zo sady hodín a hodín a je schopný ich vyviezť na sedemsegmentový displej na doske. Vodič je schopný vyvesiť na tabuľu dve oddelené počty naraz. Túto funkciu sme použili na oddelené zobrazenie hodinového času a minútového času. Sedemsegmentový displej môže súčasne aktivovať iba jedno číslo, takže súbor sseg musí používať multiplexovanie na zobrazenie všetkých čísel času súčasne. Hodinový signál dosky je privádzaný do seg, aby bol zachovaný správny čas pre multiplexovanie. Binárne na binárne kódované desatinné kodéry sú potrebné na konverziu vstupov do súboru do formy, ktorú je možné odoslať na sedemsegmentový displej. Konečný výstup súboru sseg je mapovaný na sedemsegmentový displej a na displeji sa zobrazuje správny čas.
Krok 7: Prepojte súbor
Súbor prepojenia spája všetky ostatné aspekty programu a mapuje signály na ich správne miesto. Každý komponent je vložený a vytvorený v rámci súboru. Signály sa používajú na prenos údajov z jedného komponentu do druhého. Mapovanie portov bude postupovať podľa vyššie uvedeného diagramu čiernej skrinky. Odkazový súbor tiež obsahuje logiku, ktorou sa riadi aktivácia alarmu. V tomto bode bude už väčšina projektu dokončená. Zostávajúca práca je smerovanie každého signálu na príslušné miesto.
Krok 8: Arduino
Arduino sa používa na aktiváciu reproduktora, ako aj na ovládanie tónu a trvania tónu prehrávaného cez reproduktor. Arduino číta digitálny signál z dosky Basys 3. Keď je tento signál vysoký, arduino vydá signál PWM riadiaci tón a trvanie alarmu. Výstupný signál z arduina sa pripája k vstupnému signálu z dosky ovládača reproduktora, čo zvyšuje hlasitosť reproduktora. Arduino robí tento proces veľmi rýchlo a opakuje sa mnohokrát za sekundu.
Krok 9: Vedenie kábla
Doska arduino a Basys 3 musí byť fyzicky prepojená s prenosom signálov medzi doskami. Prvý kábel na prepojenie bude od uzemňovacieho kolíka JA PMOD základov 3 k uzemňovaciemu kolíku arduina. Potom pripojte vodič z kolíka 1 JA PMOD základov 3 k digitálnemu kolíku 7 arduina. Ďalej spojte dva uzemňovacie kolíky z arduina s uzemňovacími kolíkmi reproduktora. Ďalej pripojte výstup 3,3 V arduina k kolíku Vcc ovládača reproduktora. Ďalej pripojte digitálny kolík 9 arduina k vstupnému kolíku ovládača reproduktora.
Odporúča:
Komponenty na povrchovú montáž na spájkovanie - Základy spájkovania: 9 krokov (s obrázkami)
Spájkovacie súčiastky na povrchovú montáž | Základy spájkovania: Doteraz som vo svojej sérii Základy spájkovania diskutoval o základoch spájkovania dosť na to, aby ste mohli začať cvičiť. V tomto návode je to, o čom budem diskutovať, o niečo pokročilejšie, ale je to jeden zo základov spájkovania Surface Mount Compo
Spájkovanie súčiastkami cez dieru - Základy spájkovania: 8 krokov (s obrázkami)
Spájkovanie súčiastkami cez dieru | Základy spájkovania: V tomto návode budem diskutovať o niektorých základoch o spájkovaní komponentov s otvorom na dosky plošných spojov. Budem predpokladať, že ste si už vyskúšali prvé 2 návody pre moju sériu Základy spájkovania. Ak ste si nepozreli môj In
Spájkovacie drôty na drôty - Základy spájkovania: 11 krokov
Spájkovacie drôty na drôty | Základy spájkovania: V tomto návode budem diskutovať o bežných spôsoboch spájkovania drôtov s inými drôtmi. Budem predpokladať, že ste si už vyskúšali prvé 2 návody pre moju sériu Základy spájkovania. Ak ste si neprečítali moje návody na používanie
Drobní vodiči mostíka H Základy: 6 krokov (s obrázkami)
Drobné ovládače mosta H Základy: Dobrý deň, vitajte späť pri inom pokyne! V predchádzajúcom som vám ukázal, ako som v KiCade vytvoril cievky pomocou pythonového skriptu. Potom som vytvoril a testoval niekoľko variácií cievok, aby som zistil, ktorá z nich funguje najlepšie. Mojím cieľom je nahradiť obrovský
Inteligentný budík: inteligentný budík vyrobený z Raspberry Pi: 10 krokov (s obrázkami)
Inteligentný budík: Inteligentný budík vyrobený z Raspberry Pi: Už ste niekedy chceli inteligentné hodiny? Ak je to tak, toto je riešenie pre vás! Vyrobil som inteligentný budík, toto sú hodiny, v ktorých môžete zmeniť čas budíka podľa webových stránok. Keď sa spustí alarm, zaznie zvuk (bzučiak) a 2 svetlá