Sadržaj:

Razvrstavač smeća CPE 133: 14 koraka
Razvrstavač smeća CPE 133: 14 koraka

Video: Razvrstavač smeća CPE 133: 14 koraka

Video: Razvrstavač smeća CPE 133: 14 koraka
Video: Как сделать дипфейк видео с DeepFaceLab - полное руководство | Создание дипфейка от А до Я 2024, Studeni
Anonim
CPE 133 Razvrstač smeća
CPE 133 Razvrstač smeća

Za našu klasu CPE 133 u Cal Polyu rečeno nam je da izradimo VHDL/Basys 3 projekt koji bi pomogao okolišu i bio je dovoljno jednostavan da ga možemo implementirati s našim novim znanjem o digitalnom dizajnu. Ideja koja stoji iza našeg projekta da ljudi općenito ne razmišljaju o tome gdje bacaju smeće. Odlučili smo stvoriti stroj koji će prisiliti ljude da razmisle o tome gdje bacaju smeće. Naš razvrstač smeća vrši unos korisnika putem tri prekidača, od kojih svaki predstavlja smeće, recikliranje ili kompost. Nakon što korisnik odabere vrstu otpada koju želi odložiti, pritisne gumb. Ovaj gumb uzrokuje otvaranje odgovarajućih poklopaca spremnika. Stroj je također koristio zaslon na Basys 3 kako bi pokazao je li neki od poklopaca trenutno otvoren. Kad se gumb otpusti, poklopci će se ponovno zatvoriti kako bi stroj bio spreman za sljedećeg korisnika.

Korak 1: Materijali

Materijali
Materijali
Materijali
Materijali
Materijali
Materijali

Materijali potrebni za ovaj projekt su:

Basys 3 ploča

Računalo s instaliranim Vivadom

3x servo*

3 metra bakrene žice

Rezač žice/skidač žice

Lemilica i lemljenje

*jer su servomotori skupi i mi smo studenti, zamijenili smo otpornik od 68 ohma i LED za svaki servo kao prototip (kod funkcionira na isti način)

Korak 2: Početak kodiranja

Početak kodiranja
Početak kodiranja
Početak kodiranja
Početak kodiranja
Početak kodiranja
Početak kodiranja

Za ovaj projekt potrebno je napisati mnogo koda. Koristit ćemo VHDL kôd napisan na Vivadu. Za početak ćemo htjeti izraditi novi projekt. Prvo ćete imenovati projekt i odrediti vrstu projekta. Svakako odaberite iste postavke kao na slici. Kad dođete na zaslon izvora, željet ćete dodati šest izvora pod nazivom "vrh", "flip_flop", "segmenti", "servo_top", "servo_sig" i "clk_div". Svakako odaberite VHDL za jezik svake datoteke, a ne Verilog. Na zaslonu s ograničenjima trebate stvoriti jednu datoteku za dodjelu pinova. Naziv ove datoteke nije važan. Tada će se od vas tražiti da odaberete ploču koju ćete koristiti. Provjerite jeste li odabrali ispravnu. Referentne fotografije za ispravan odabir. Posljednji korak od vas će tražiti da navedete ulaze i izlaze svake izvorne datoteke. Ovaj se korak može kasnije kodirati, pa kliknite sljedeći.

Korak 3: Datoteka ograničenja

Datoteka ograničenja
Datoteka ograničenja
Datoteka ograničenja
Datoteka ograničenja

U ovom koraku ćemo napisati datoteku ograničenja. To govori Vivadu koji pinovi će slati/primati koje signale iz kruga. Trebat će nam sat, tri prekidača, sedam segmentni zaslon (sedam katoda i četiri anode), gumb i tri izlazna PMOD pina koje će koristiti servo/LED. Referentne fotografije kako bi kod trebao izgledati.

Korak 4: Datoteka s japankama

Datoteka s japankama
Datoteka s japankama

Sljedeća datoteka koju ćemo pisati je izvorna datoteka flip_flip. Ovo će biti VHDL implementacija D japanke. Drugim riječima, on će samo proslijediti svoj ulaz na izlaz na rastućem rubu signala sata i kada se pritisne tipka. Trebat će sat, D i gumb kao ulaz i izlazit će Q. referencirajte fotografije za kôd. Svrha ove datoteke je dopustiti otvaranje spremnika samo kada se pritisne gumb, a ne izravno otvaranje svaki put kad se prekidač okrene, a zatvaranje samo kada se prekidač povuče unatrag.

Korak 5: Datoteka segmenata

Datoteka segmenata
Datoteka segmenata

Sljedeća datoteka za pisanje je datoteka segmenata. Ovo će uzeti gumb kao ulazne i izlazne vrijednosti za sedam katoda i četiri anode na sedmosegmentnom zaslonu Basys 3. Ova datoteka uzrokuje da prikaz na sedam segmenata prikazuje "C" kada su kante zatvorene i "O" kada su kante otvorene. Kôd pogledajte u priloženoj fotografiji.

Korak 6: Datoteka razdjelnika sata

Datoteka razdjelnika sata
Datoteka razdjelnika sata

Servos funkcionira tako što prima PWM signal s frekvencijom od 64k Hz, dok sat ugrađen u Basys 3 funkcionira na 50M Hz. Datoteka razdjelnika sata pretvorit će zadani sat u prijateljsku frekvenciju za servo. Datoteka će uzeti ulaz i signal za resetiranje kao ulaz i izlazit će novi signal sata. Za šifru pogledajte priloženu fotografiju.

Korak 7: Datoteka servo signala

Datoteka servo signala
Datoteka servo signala

Datoteka servo signala će uzeti ulaz sata, ulaz za resetiranje i ulaz željene pozicije. On će emitirati PWM signal koji će dovesti servo u željeni položaj. Ova datoteka koristi signal sata kreiran u posljednjoj datoteci za stvaranje PWM signala za servo s različitim radnim ciklusima ovisno o željenom položaju. To nam omogućuje okretanje servo upravljača koji kontroliraju poklopce kanti za smeće. Za šifru pogledajte priloženu fotografiju.

Korak 8: Servo top datoteka

Servo top datoteka
Servo top datoteka

Svrha ove datoteke je sastaviti posljednje dvije datoteke u funkcionalni servo upravljački program. Trebat će sat, reset i položaj kao ulaz i izlaz servo PWM signala. Koristit će i razdjelnik sata i datoteku servo signala kao komponente, a uključivat će i unutarnji signal sata za prosljeđivanje izmijenjenog sata od razdjelnika sata do datoteke signala servo signala. Fotografije pogledajte na

Korak 9: Gornja datoteka

Gornja datoteka
Gornja datoteka
Gornja datoteka
Gornja datoteka
Gornja datoteka
Gornja datoteka
Gornja datoteka
Gornja datoteka

Ovo je najvažnija datoteka projekta jer obuhvaća sve što smo zajedno stvorili. Za ulaz će uzeti gumb, tri prekidača i sat. Davat će sedam katoda, četiri anode i tri servo/LED signala kao izlaze. Koristit će flip flop, segmente i datoteke servo_top kao komponente te će imati unutarnji prekidač i unutarnji servo signal.

Korak 10: Testiranje u Vivadu

Pokrenite Sintezu, implementaciju i upišite bitsream u Vivadu. Ako naiđete na bilo koju poruku o pogrešci, pronađite mjesto pogreške, a zatim usporedite s datim kodom. Popravite sve pogreške dok se svi ovi pokreti ne završe uspješno.

Korak 11: Uvod u izgradnju hardvera

U ovom koraku stvorit ćete LED hardver koji smo koristili u našem prototipu. Ako koristite servo pogone, projekt bi trebao biti spreman za rad sve dok se koriste ispravni pinovi. Ako koristite LED diode, slijedite donje korake.

Korak 12: Priprema

Izrežite žicu na šest jednakih dijelova. Odvojite krajeve svakog komada žice dovoljno da dođe do lemljenja. Odvojite LED diode, otpornike i žice u tri skupine. Zagrijte lemilicu.

Korak 13: Lemljenje

Lemljenje
Lemljenje
Lemljenje
Lemljenje

Lemite svaki od 68 ohmskih otpornika na negativnu stranu odgovarajuće LED diode. Lemite žicu na pozitivnu stranu LED -a, a drugu žicu na stranu otpornika koja nije lemljena na LED. Trebali biste imati tri od gore navedenih LED uređaja.

Korak 14: Finale

Finale
Finale

Umetnite svaku pozitivnu žicu u odgovarajući PMOD pin, a svaki negativan u uzemljeni PMOD pin. Po želji dodajte kartonske kante za predstavljanje kanti za smeće i sakrijte nered. Nakon što su žice ispravno priključene i kôd ispravno postavljen na ploču bez grešaka, stroj bi trebao funkcionirati kako je predviđeno. Ako nešto pođe po zlu, vratite se na prethodne korake za rješavanje problema. Zabavite se uz svoj novi "sortirnik smeća".

Preporučeni: