Obsah:
- Krok 1: Materiály
- Krok 2: Začněte s kódováním
- Krok 3: Soubor omezení
- Krok 4: Flip Flop File
- Krok 5: Soubor segmentů
- Krok 6: Soubor oddělovače hodin
- Krok 7: Soubor signálu servo
- Krok 8: Hlavní soubor servo
- Krok 9: Horní soubor
- Krok 10: Testování ve Vivado
- Krok 11: Úvod do hardwaru
- Krok 12: Příprava
- Krok 13: Pájení
- Krok 14: Finále
Video: Třídění koše CPE 133: 14 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Pro naši třídu CPE 133 v Cal Poly nám bylo řečeno, abychom vytvořili projekt VHDL/Basys 3, který by pomohl životnímu prostředí a byl dostatečně jednoduchý, abychom jej mohli implementovat pomocí našich nových znalostí digitálního designu. Myšlenka našeho projektu, že lidé obecně nepřemýšlejí o tom, kam vyhodí odpadky. Rozhodli jsme se vytvořit stroj, který by přinutil lidi přemýšlet, kam ukládají své odpadky. Náš třídič odpadu přebírá vstup uživatele prostřednictvím tří přepínačů, z nichž každý představuje buď koš, recyklaci nebo kompost. Jakmile si uživatel vybere typ odpadu, kterého by se chtěl zbavit, stiskne tlačítko. Toto tlačítko způsobí otevření odpovídajících víček kontejnerů. Stroj také pomocí displeje na základnách 3 indikoval, zda jsou některá víka aktuálně otevřená. Po uvolnění tlačítka se víčka opět zavřou, takže stroj bude připraven pro dalšího uživatele.
Krok 1: Materiály
Materiály potřebné pro tento projekt jsou:
Základní deska 3
Počítač s nainstalovaným Vivado
3x servo*
3 stopy měděného drátu
Řezačka/odizolovač drátu
Páječka a pájka
*protože serva jsou drahá a jsme vysokoškoláci, nahradili jsme 68 ohmový odpor a LED pro každé servo jako prototyp (kód funguje stejně)
Krok 2: Začněte s kódováním
Pro tento projekt je třeba napsat spoustu kódu. Budeme používat kód VHDL napsaný ve Vivado. Pro začátek budeme chtít vytvořit nový projekt. Nejprve pojmenujete projekt a zadáte typ projektu. Ujistěte se, že jste vybrali stejná nastavení jako na obrázku. Když se dostanete na obrazovku zdrojů, budete chtít přidat šest zdrojů s názvem „top“, „flip_flop“, „segmenty“, „servo_top“, „servo_sig“a „clk_div“. Ujistěte se, že jste vybrali VHDL pro jazyk každého souboru, ne pro Verilog. Na obrazovce omezení byste měli vytvořit jeden soubor pro přiřazení pinů. Název tohoto souboru není důležitý. Poté budete vyzváni k výběru desky, kterou budete používat. Ujistěte se, že jste vybrali ten správný. Referenční fotografie pro správný výběr. Poslední krok vás vyzve k zadání vstupů a výstupů každého zdrojového souboru. Tento krok lze kódovat později, takže klikněte na další.
Krok 3: Soubor omezení
V tomto kroku napíšeme soubor omezení. To říká Vivadovi, které piny budou odesílat/přijímat které signály z obvodů. Budeme potřebovat hodiny, tři přepínače, sedmisegmentový displej (sedm katod a čtyři anody), tlačítko a tři výstupní piny PMOD, které bude servo/LED používat. Referenční fotografie, jak by měl kód vypadat.
Krok 4: Flip Flop File
Další soubor, který budeme psát, je zdrojový soubor flip_flip. Toto bude implementace VHDL D flip flopu. Jinými slovy, bude procházet pouze jeho vstup na výstup na stoupající hraně hodinového signálu a při stisknutí tlačítka. Bude to trvat hodiny, D a tlačítko jako vstup a výstup Q. bude odkazovat na fotografie pro kód. Účelem tohoto souboru je umožnit, aby se přihrádky otevíraly pouze při stisknutí tlačítka, nikoli přímo otevírat pokaždé, když je přepínač otočen, a zavírat se pouze při přepnutí přepínače zpět.
Krok 5: Soubor segmentů
Dalším zapisovaným souborem je soubor segmentů. To bude mít tlačítko jako vstupní a výstupní hodnoty pro sedm katod a čtyři anody sedmi segmentového displeje Basys 3. Tento soubor způsobí, že sedmisegmentový displej zobrazí "C", když jsou koše zavřené, a "O", když jsou koše otevřené. Kód viz přiložená fotka.
Krok 6: Soubor oddělovače hodin
Serva fungují tak, že odebírají signál PWM s frekvencí 64 kHz, zatímco hodiny zabudované v Basys 3 fungují při 50 MHz. Soubor děliče hodin převede výchozí hodiny na přátelskou frekvenci pro servo. Soubor převezme hodiny a resetovací signál jako vstup a vydá nový hodinový signál. Kód najdete na přiložené fotografii.
Krok 7: Soubor signálu servo
Soubor signálu serva bude mít hodinový vstup, resetovací vstup a vstup požadované polohy. Bude vysílat signál PWM, který přivede servo do požadované polohy. Tento soubor používá hodinový signál vytvořený v posledním souboru k vytvoření signálu PWM pro servo s různými pracovními cykly v závislosti na požadované poloze. To nám umožňuje otáčet servy, která ovládají víka popelnic. Kód najdete na přiložené fotografii.
Krok 8: Hlavní soubor servo
Účelem tohoto souboru je zkompilovat poslední dva soubory do funkčního ovladače servo. Jako vstup to bude vyžadovat hodiny, reset a polohu a výstup bude vysílat signál PWM serva. Jako komponenty bude používat dělič hodin i soubor signálu serva a bude obsahovat interní signál hodin pro přenos upravených hodin z děliče hodin do souboru signálu signálu. Viz fotografie na
Krok 9: Horní soubor
Toto je nejdůležitější soubor projektu, protože obaluje vše, co jsme společně vytvořili. Jako vstupy to bude vyžadovat tlačítko, tři přepínače a hodiny. Jako výstup poskytne sedm katod, čtyři anody a tři signály servo/LED. Jako komponenty použije klopný obvod, segmenty a soubory servo_top a bude mít interní přepínač a interní signál servo.
Krok 10: Testování ve Vivado
Spusťte syntézu, implementaci a zapište bitsream ve Vivado. Pokud narazíte na jakékoli chybové zprávy, vyhledejte místo chyby a poté porovnejte s daným kódem. Zpracujte všechny chyby, dokud všechny tyto běhy nedokončí úspěšně.
Krok 11: Úvod do hardwaru
V tomto kroku vytvoříte hardware LED, který jsme použili v našem prototypu. Pokud používáte serva, projekt by měl být připraven k provozu, pokud jsou použity správné kolíky. Pokud používáte diody LED, postupujte podle následujících pokynů.
Krok 12: Příprava
Drát nastříhejte na šest stejných kousků. Konce každého kusu drátu dostatečně odizolujte, aby mohlo dojít k pájení. Rozdělte LED diody, odpory a vodiče do tří skupin. Zahřejte páječku.
Krok 13: Pájení
Připájejte každý z 68 ohmových odporů na zápornou stranu jejich odpovídající LED. Připájejte vodič na kladnou stranu LED a další vodič na stranu rezistoru, který není připájen k LED. Měli byste mít tři z LED vyobrazení výše.
Krok 14: Finále
Vložte každý kladný vodič do odpovídajícího pinu PMOD a každý záporný do uzemněného pinu PMOD. Volitelně můžete přidat kartónové přihrádky, které budou představovat popelnice a skryjí váš pájecí nepořádek. Jakmile jsou kabely správně zapojeny a kód je správně nahrán na desku bez chyb, stroj by měl fungovat tak, jak měl. Pokud se něco pokazí, vraťte se k předchozím krokům k řešení potíží. Bavte se se svým novým „třídičem odpadu“.
Doporučuje:
CPE 133 Final Project Decimal to Binary: 5 Steps
CPE 133 Final Project Decimal to Binary: Binary Numbers jsou jednou z prvních věcí, které vás napadnou při uvažování o digitální logice. Binární čísla však mohou být pro nováčky obtížným konceptem. Tento projekt pomůže těm, kteří jsou noví i zkušení s binárními čísly mas
Systém třídění barev: Systém založený na Arduinu se dvěma pásy: 8 kroků
Systém třídění barev: Systém založený na Arduinu se dvěma pásy: Přeprava a/nebo balení produktů a položek v průmyslové oblasti se provádí pomocí linek vyrobených pomocí dopravníkových pásů. Tyto pásy pomáhají přesouvat předmět z jednoho bodu do druhého určitou rychlostí. Některé úlohy zpracování nebo identifikace mohou být
Jednoduchý systém třídění produktů s Raspberry Pi a Arduino: 5 kroků
Jednoduchý systém třídění produktů s Raspberry Pi a Arduino: Jsem FAN inženýrství, miluji programování a vytváření elektronických souvisejících projektů ve svém volném čase, v tomto projektu bych se s vámi podělil o jednoduchý systém třídění produktů, který jsem nedávno udělal. tento systém, připravte prosím komponenty
Sorter Bin - Detekce a třídění koše: 9 kroků
Třídicí koš - detekce a třídění koše: Už jste někdy viděli někoho, kdo nerecykluje nebo to dělá špatně? Přáli jste si někdy stroj, který by za vás recykloval? Pokračujte ve čtení našeho projektu, nebudete litovat! Sorter bin je projekt s jasnou motivací pomoci
Metronom CPE 133: 3 kroky
Metronom CPE 133: Pro náš závěrečný projekt v Cal Poly jsme vytvořili zařízení pro udržování tempa zvané metronom, tento projekt jsme vybrali kvůli zajímavé hudbě a digitálnímu designu. Použili jsme minulé laboratoře v CPE 133, abychom pomohli navrhnout náš kód, a online návody, které pomáhají při