
INHOUDSOPGAWE:
- Stap 1: materiaal
- Stap 2: Begin kodering
- Stap 3: Beperkingslêer
- Stap 4: Flip Flop -lêer
- Stap 5: Segmentlêer
- Stap 6: Klokverdelerlêer
- Stap 7: Servo -seinlêer
- Stap 8: Servo Top File
- Stap 9: Toplêer
- Stap 10: Toets in Vivado
- Stap 11: Bou van hardeware -inleiding
- Stap 12: Berei voor
- Stap 13: Soldeer
- Stap 14: Finale
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-23 12:53

Vir ons CPE 133 -klas by Cal Poly is ons aangesê om 'n VHDL/Basys 3 -projek te skep wat die omgewing kan help, en dit is eenvoudig genoeg om dit te implementeer met ons nuwe kennis van digitale ontwerp. Die idee agter ons projek dat mense in die algemeen nie dink waarheen hulle hul asblik gooi nie. Ons het besluit om 'n masjien te skep wat mense sal dwing om na te dink oor waar hulle hul asblik gooi. Ons vullis sorteerder neem gebruikers se insette deur drie skakelaars, wat elk asblik, herwinning of kompos verteenwoordig. Sodra die gebruiker gekies het watter tipe afval (e) hy / sy wil weggooi, druk hulle op 'n knoppie. Met hierdie knoppie kan die ooreenstemmende houersdeksels oopmaak. Die masjien het ook die skerm op die Basys 3 gebruik om aan te dui of enige van die deksels tans oop is. As die knoppie losgemaak word, sluit die deksels weer sodat die masjien gereed is vir die volgende gebruiker.
Stap 1: materiaal



Die materiaal wat benodig word vir hierdie projek is:
Basys 3 bord
Rekenaar met Vivado geïnstalleer
3x servo*
3 voet koperdraad
Draadsnyer/-stropper
Soldeerbout en soldeer
*Omdat servo's duur is en ons studente is, het ons 'n weerstand van 68 ohm en LED vir elke servo vervang as 'n prototipe (kode werk op dieselfde manier)
Stap 2: Begin kodering



Daar moet baie kode vir hierdie projek geskryf word. Ons gebruik die VHDL -kode wat in Vivado geskryf is. Om mee te begin, wil ons 'n nuwe projek skep. Eerstens moet u die projek 'n naam gee en die tipe projek spesifiseer. Kies dieselfde instellings as op die foto. As u by die bronskerm kom, wil u ses bronne met die naam "top", "flip_flop", "segmente", "servo_top", "servo_sig" en "clk_div" byvoeg. Maak seker dat u VHDL kies vir die taal van elke lêer, nie Verilog nie. Op die beperkingsskerm moet u een lêer vir die penopdrag skep. Die naam van hierdie lêer is nie belangrik nie. U sal dan gevra word om die bord te kies wat u gaan gebruik. Maak seker dat u die regte een kies. Verwys na foto's vir die regte keuse. Die laaste stap sal u vra om die insette en uitsette van elke bronlêer te spesifiseer. Hierdie stap kan later gekodeer word, klik dan op volgende.
Stap 3: Beperkingslêer


In hierdie stap skryf ons die beperkingslêer. Dit vertel Vivado watter penne die seine van die stroombaan sal stuur/ontvang. Ons benodig die horlosie, drie skakelaars, die sewe segmentskerm (sewe katodes en vier anodes), 'n knoppie en die drie PMOD -penne wat die servo/LED sal gebruik. Verwys na foto's vir hoe die kode moet lyk.
Stap 4: Flip Flop -lêer

Die volgende lêer wat ons gaan skryf, is die flip_flip -bronlêer. Dit is 'n VHDL -implementering van 'n D -flipflop. Met ander woorde, dit sal slegs sy insette na die uitset op die stygende rand van die kloksignaal slaag en as die knoppie ingedruk word. Dit sal die klok, D en die knoppie as 'n invoer neem, en Q sal na die foto verwys. Verwys na die foto's vir kode. Die doel van hierdie lêer is om die asblikke slegs oop te maak as daar op die knoppie gedruk word, in plaas van direk oop te maak elke keer as die skakelaar omgedraai word en slegs toemaak as die skakelaar teruggedraai word.
Stap 5: Segmentlêer

Die volgende lêer wat geskryf moet word, is die segment -lêer. Dit sal die knoppie neem soos in die invoer- en uitsetwaardes vir die sewe katodes en vier anodes van die Basys 3 se sewe segmentskerm. Hierdie lêer veroorsaak dat die sewe segment vertoon 'n "C" toon as die asblikke toegemaak word en 'n "O" as die asblikke oop is. Vir kode sien aangehegte foto.
Stap 6: Klokverdelerlêer

Servos funksioneer deur 'n PWM -sein met 'n frekwensie van 64k Hz te neem, terwyl die ingeboude klok in die Basys 3 funksioneer by 50M Hz. Die klokverdelingslêer sal die standaardklok omskakel na 'n vriendelike frekwensie vir die servo. Die lêer neem die klok en 'n herstelsignaal as 'n invoer en gee 'n nuwe kloksignaal. Sien die aangehegte foto vir kode.
Stap 7: Servo -seinlêer

Die servosignaallêer neem 'n klokinvoer, 'n herstel -invoer en 'n gewenste posisie -invoer. Dit sal 'n PWM -sein lewer wat die servo na die gewenste posisie sal dryf. Hierdie lêer gebruik die kloksignaal wat in die laaste lêer geskep is om 'n PWM -sein vir die servo te skep met verskillende werksiklusse, afhangende van die gewenste posisie. Dit stel ons in staat om die servo's wat die deksels van die vullisdromme beheer, om te draai. Sien die aangehegte foto vir kode.
Stap 8: Servo Top File

Die doel van hierdie lêer is om die laaste twee lêers in 'n funksionele servostuurprogramma saam te stel. Dit sal 'n horlosie neem, 'n herstel en 'n posisie as 'n inset sal die servo PWM sein gee. Dit gebruik beide die klokverdeler en die servosignaallêer as komponente en bevat 'n interne kloksignaal om die gewysigde klok van die verdeler na die servosignaallêer deur te gee. Sien foto's by
Stap 9: Toplêer




Dit is die belangrikste lêer van die projek, aangesien dit alles wat ons saamgestel het, omhul. Dit sal die knoppie, die drie skakelaars en die klok as insette neem. Dit gee die sewe katodes, die vier anodes en die drie servo/LED -seine as uitsette. Dit sal die flip -flop, segmente en servo_top -lêers as komponente gebruik, en 'n interne skakelaar en interne servosignaal hê.
Stap 10: Toets in Vivado
Begin sintese, implementering en skryf bitsream in Vivado. As u foutboodskappe teëkom, vind die foutlokasie en vergelyk dit dan met die gegewe kode. Werk deur enige foute totdat al hierdie lopies suksesvol voltooi is.
Stap 11: Bou van hardeware -inleiding
In hierdie stap skep u die LED -hardeware wat ons in ons prototipe gebruik het. As u servo's gebruik, moet die projek gereed wees, solank die regte penne gebruik word. Volg die onderstaande stappe as u LED's gebruik.
Stap 12: Berei voor
Sny die draad in ses ewe stukke. Trek die punte van elke stuk draad genoeg af sodat soldeer kan voorkom. Skei LED's, weerstande en drade in drie groepe. Verhit soldeerbout.
Stap 13: Soldeer


Soldeer elkeen van die 68 ohm weerstande aan die negatiewe kant van hul ooreenstemmende LED. Soldeer 'n draad aan die positiewe kant van die LED en nog 'n draad aan die kant van die weerstand wat nie aan die led is gesoldeer nie. U moet drie van die LED -afbrekings hierbo op die foto hê.
Stap 14: Finale

Steek elke positiewe draad in die ooreenstemmende PMOD -pen en elke negatiewe in 'n gemaalde PMOD -pen. Voeg opsioneel kartondose toe om asblikke voor te stel en verberg u soldeergemors. Sodra die drade korrek ingeprop is en die kode behoorlik op die bord opgelaai is, moet die masjien funksioneer soos bedoel. Gaan terug na die vorige stappe as u iets verkeerd loop. Om pret te hê met u nuwe "asblik sorteerder".
Aanbeveel:
Slim asblik met behulp van Arduino, ultrasoniese sensor en servomotor: 3 stappe

Slimme asblik met behulp van Arduino, ultrasoniese sensor en servomotor: in hierdie projek sal ek u wys hoe u 'n slim asblik kan maak met Arduino, waar die deksel van die asblik outomaties oopgaan as u met die asblik kom. Die ander belangrike komponente wat gebruik word om hierdie slim asblik te maak, is 'n HC-04 Ultrasonic Senioren
CPE 133 Finale projek desimaal tot binêre: 5 stappe

CPE 133 Finale projek desimaal tot binêre: binêre getalle is een van die eerste dinge wat by u opkom as u aan digitale logika dink. Binêre getalle kan egter 'n moeilike konsep wees vir diegene wat nuut is. Hierdie projek sal diegene wat nuut en ervare is met binêre getalle help
Li-ion telefoonlaaier uit die asblik: 4 stappe

Li-ion telefoonlaaier uit asblik: dit is 'n vinnige en eenvoudige kragbank van goed wat die meeste mense al in hul huis lê
Slim asblik: 6 stappe

Slim asblik: Hallo ouens !!! Ek is Vedaansh Verdhan. En vandag gaan ek jou wys hoe om jou eie slim asblik te maak. Volg my op Instragram om inligting te kry oor my volgende projek. Kom ons begin !!!! Instragram-rekening: --- robotika_08
CPE 133 Metronoom: 3 stappe

CPE 133 Metronoom: Vir ons finale projek by Cal Poly het ons 'n tempo -apparaat gemaak wat 'n metronoom genoem word, en ons het hierdie projek gekies vanweë musiek en digitale ontwerp. Ons het vorige laboratoriums in CPE 133 gebruik om ons kode en aanlyn -tutoriale te help ontwerp om te help met