Sadržaj:
- Korak 1: Materijali
- Korak 2: Početak kodiranja
- Korak 3: Datoteka ograničenja
- Korak 4: Datoteka s japankama
- Korak 5: Datoteka segmenata
- Korak 6: Datoteka razdjelnika sata
- Korak 7: Datoteka servo signala
- Korak 8: Servo top datoteka
- Korak 9: Gornja datoteka
- Korak 10: Testiranje u Vivadu
- Korak 11: Uvod u izgradnju hardvera
- Korak 12: Priprema
- Korak 13: Lemljenje
- Korak 14: Finale
Video: Razvrstavač smeća CPE 133: 14 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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 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
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
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
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
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
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 ć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
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
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
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
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:
CPE 133 Završni projekt decimalni u binarni: 5 koraka
CPE 133, završni projekt, decimalni u binarni: binarni su brojevi jedna od prvih stvari koje mi padaju na pamet pri razmišljanju o digitalnoj logici. Međutim, binarni brojevi mogu biti težak koncept za one koji su mu tek počeli s radom. Ovaj će projekt pomoći onima koji su i novi i iskusni s binarnim brojevima
Perf ploča iz smeća: 4 koraka (sa slikama)
Perf ploča iz smeća: Ovdje je jeftina i laka perf ploča izgrađena od materijala koji gotovo svi leže. Ovo je savršeno za Arduino projekte ili samo domaći krug. Za izradu ovog projekta potrebno je oko pola sata
Kako napraviti razvrstavač predmeta u Minecraftu: 12 koraka
Kako napraviti razvrstavač stavki u Minecraftu: Ovo je vodič u 11 koraka o tome kako napraviti razvrstavač stavki u Minecraftu
CPE 133 Metronom: 3 koraka
CPE 133 Metronom: Za naš završni projekt u Cal Polyu stvorili smo uređaj za održavanje tempa koji se zove metronom, odabrali smo ovaj projekt zbog zanimljivosti glazbe i digitalnog dizajna. Koristili smo prošle laboratorije u CPE 133 kako bismo pomogli u dizajniranju našeg koda i mrežnih vodiča za pomoć u suradnji s
TIVA razvrstavač boja temeljen na kontroliranim transportnim trakama: 8 koraka
TIVA razvrstavač boja temeljen na kontroliranim transportnim trakama: Elektroničko polje ima široku primjenu. Svaka aplikacija treba drugačiji krug i drugačiji softver, kao i konfiguraciju hardvera. Mikrokontroler je integrirani model ugrađen u čip u kojem se mogu pokrenuti različite aplikacije s