Turinys:
- 1 žingsnis: LED masyvo kūrimas
- 2 žingsnis: irklo valdikliai
- 3 žingsnis: dėklo pjaustymas
- 4 žingsnis: korpuso surinkimas
- 5 žingsnis: Surinkite surinkimą
- 6 žingsnis: Kodas
- 7 žingsnis: Baigimas
Video: LED juostos „Atari Pong“arkadinė mašina: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Mano vardas Gabrielius Podevinas ir tai yra mano pirmasis nepakartojamas. Šiuo metu esu 16 metų vidurinės mokyklos studentė, kuri mėgsta kurti ir kurti daiktus, tuo pačiu domėdamasi elektronika, robotika, grandinėmis ir programavimu. Tikiuosi, kad šis nesudėtingas atradimas jums bus naudingas.
Šioje pamokoje aš jums parodysiu, kaip padaryti retro stiliaus „Atari Pong“žaidimą retro arkados dėkle. Aukščiau pateiktame vaizdo įraše galite pamatyti projekto demonstraciją, taip pat galite pamatyti baigtą projektą ir dėklą atskirai ir dviejose nuotraukose. Pasibaigus šiam nesuderinamam dalykui, aš gilinuosi į kodą ir kaip jį redaguoti, kad suasmenintumėte.
Pagrindinių dalių sąrašas bus suskirstytas į skyrius: Įrankiai, surinkimo dalys ir komponentai
Jums reikės šių įrankių:
- Grąžtas
- Lituoklis
- Atsuktuvas (atitinka varžtus, kuriuos nusprendėte naudoti)
- Daugiamatis
- Jūs turite prieigą prie cirkuliacinio pjūklo, juostinio pjūklo ar lazerinio pjaustytuvo
-Laidų pjaustytuvas arba žirklės
- Klijų pistoletas
Dalys, kurių jums reikės surinkimui, apima
- Medienos klijai
- 10 colių x vieno colio medienos blokų
- didelis ketvirtadalio colio sluoksnio arba pasirinktos medienos lakštas
- 24 varžtai pusės colio ilgio
- 14 x 6,5 colio LED išsklaidomasis plastikas (neprivaloma)
- raudona ir mėlyna elektros juosta
Jums reikės šių komponentų:
- 2 100k omų potenciometrai
- 8 metrai individualiai adresuojamos LED juostos (30 šviesos diodų vienam metrui)
www.amazon.ca/ALITOVE-WS2812B-Individually-Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1?s=hi&ie=UTF8&qid=1535323567&sr=1-
- keli metrai vielos arba kelių spalvų viela
- kintamosios srovės ir nuolatinės srovės maitinimo adapteris, kuris išleidžia 6V per cilindro lizdo kištuką
- 1 arduino Uno R3
jei neturite prieigos prie tokio „Arduino Uno R3“kaip aš, galite sukurti tokį, kokį naudosiu šiame projekte, kuriame naudojamas „atmel328-pu“procesorius. Sekite šią nuorodą ir sužinokite, kaip sukurti savo
Jei naudojate arduino uno, tęskite pirmąjį veiksmą.
1 žingsnis: LED masyvo kūrimas
Šis žingsnis yra paprasčiausias daug laiko reikalaujantis žingsnis dėl visų litavimų, kuriuos turite atlikti.
-Norėdami pradėti, jums reikės 10 3/4 colio 6 1/2 colio medžio gabalo.
-Kai tik turėsite savo medžio gabalą, paimkite „Led“juostą ir supjaustykite 26 segmentus kas 10 lempučių arba kas 6 1/2 colio.
-nupjovę segmentus, priklijuokite juos prie savo medienos vertikaliai, kaip parodyta šiose nuotraukose, parodytose pirmame paveikslėlyje aukščiau.
-Kai priklijavote juosteles ir leidote joms nusistovėti, pradėsime lituoti.
-jums reikės trijų skirtingų spalvų vielos
-jis turėtų būti prijungtas prie visų teigiamų jungčių prie vieno laido, o visi neigiami -prie vieno laido, o paskutinis laidas sujungs ledines juostas. Antrosios nuotraukos šio žingsnio pradžioje yra diagrama, kuri parodys, kaip prijungti laidus.
-Galiausiai po jų litavimo jūs tiesiog apvyniosite elektros juostelę ant lydmetalio jungčių atitinkamomis spalvomis. kaip parodyta aukščiau esančiame trečiame paveikslėlyje.
-galiausiai prisijungsime prie „Arduino“. jūsų skaitmeninis įėjimas arba vidurinis laidas prijungs prie jūsų skaitmeninio įvesties 6 kontaktų, o jūsų įžeminimas ir teigiamas jungsis prie teigiamų ir neigiamų bėgių ant plokštės.
2 žingsnis: irklo valdikliai
Norėdami atlikti šį labai paprastą žingsnį, jums tereikia lituoti tris laidus prie kiekvieno potenciometro. jei laikysite potenciometrą taip, kad lydmetalio taškai būtų nukreipti į priekį nuo jūsų, kairioji atrama bus teigiama, o centrinė atrama bus išvesta, o dešinysis -. kaip parodyta aukščiau esančioje diagramoje
kai lituosite laidus, mes prijungsime juos prie „Arduino“. Jūs turėsite teigiamų ir neigiamų lietų, kurie bus teigiami ir neigiami. potenciometrų išvesties laidai bus prijungti prie skirtingų arduino įėjimų. vienas jungsis prie (A0) kištuko, o kitas - prie (A1) kištuko.
3 žingsnis: dėklo pjaustymas
šioje dalyje bus nurodyti matmenys ir kampai, kuriuos reikės pjaustyti
**** labai svarbu ***** įsitikinkite, kad jūsų mediena yra ketvirtadalio colio storio (1/4 colio)
taip pat pjaustydami dalis nepamirškite pažymėti savo dalių
pagrindinė pjaustoma dalis bus pažymėta apačioje, gale, viršuje, priekyje viršuje, priekyje apačioje…. parodyta paveikslėliuose pradžioje
dalies matmenys
- Apačioje: 13 3/4 colio X 10 1/4 colio
- Nugara: 13 3/4 colio X 15 1/2 colio
- Viršuje: 13 3/4 colio X 6 1/2 colio
- Priekinė apačia: 13 3/4 colio X 4 1/4 colio
- Skambinimo skydelis: 13 3/4 colių X 6 colių
- Vidinis viršus: 13 3/4 colio X 3 1/4 colio
- LED dailylentės: 6 1/4 colio X 1 colio (supjaustykite du iš jų)
- LED vidinis dugnas: 13 1/4 colio X 4 1/2 colio
- vidinis galinis LED skydelis: 13 1/4 colio X 9 colio
- Blokai: 1 colio X 1 colio X 1 colio (supjaustyti 10 blokų)
- Akrilo skydas: 13 3/4 colio X 6 1/2 colio
Aukščiau esančiose nuotraukose bus parodyti šoninio skydo dalies kampai ir matmenys. taip pat turėsite iškirpti dvi šios dalies dalis
4 žingsnis: korpuso surinkimas
Iki šios instrukcijos taško jūs beveik baigėte viską. turbūt manote, kad turiu visas šias dalis ir išpjovas, ką su jomis daryti. Šis paskutinis žingsnis nurodys, kaip surinkti dėklą.
-Pirmas dalykas, kurį ketiname pradėti, yra surinkti bylą. čia praverčia visos ankstesnio žingsnio medienos išpjovos.
-Norėdami pradėti surinkimą, mums reikės 4 iš 1x1x1 medienos blokų pagrindo, dviejų šoninių plokščių, nugaros ir priekinio dugno. padėkite 4 blokus ant kiekvieno dugno kampo ir palikite ketvirtį colio tarp krašto ir bloko, kaip parodyta antrame paveikslėlyje žingsnio pradžioje.
-toliau turėsite išgręžti keletą skylių iš medžio ir blokų. kai padarysite tą varžtą, tada į apačią.
-Toliau uždėsime šonines plokštes. Padėkite plokštes ant ketvirčio colio tarpo išorinėje bloko pusėje. gręžkite bandomąją skylę per šoninį skydą ir medinį bloką ir įsukite plokštes. pakartokite kitą pusę.
-Užbaigus šonines plokštes. uždėsime priekinį apatinį skydelį. padėkite plokštę lygiagrečiai dugnui, o šonai išgręžkite bandomąsias skyles į blokus ir užsukite skydą.
-Pagaliau mes užsidėsime nugarą. darykite tą patį, ką darėte su priekiniu apatiniu skydeliu, ir vėl prisukite.
-Šiuo metu jūs turite pagrindą, iš kurio galite remtis, ir supratimą, kaip mes renkame šią bylą.
-Ši kita dalis yra šiek tiek sudėtingesnė, nes dirbate su mažesne sritimi. Norėdami pradėti, mums reikės visų viršutinių dalių ir 6 blokų.
-Gulėkite, ką iki šiol pastatėte, ant nugaros ir padėkite kaladėles kampuose ketvirtadalio colio atstumu nuo viršaus. (kaip parodyta trečioje nuotraukoje pradžioje)
-gręžkite šonines ir galines skylutes ir įsukite.
-Dabar mes surinksime likusią viršutinę dalį
-paimkite viršutinį skydelį ir padėkite jį ant blokų, išgręžkite bandomąsias skyles ir įsukite viršutinę dalį. Po suomių kalbos, atsargiai apverčiant agregatą aukštyn kojomis ***, įdėkite bloką į kiekvieną kampą lygiagrečiai kraštui. gręžkite bandomąsias skyles iš šoninių plokščių ir prisukite jas prie bloko. pasukite dėklą atgal vertikaliai ir gręžkite bandomąsias skyles per viršutinę dalį į blokus ir įsukite.
-ši lizdo dalis yra šiek tiek sudėtinga. jums reikės priekinio viršutinio skydo ir paskutinių dviejų blokų. pirmiausia gręžkite bandomąsias skyles į ankstesnius blokus per viršutinį priekinį skydelį ir įsukite. Dabar paimkite paskutinius du blokus ir padėkite juos kampe ir prisukite šoninį skydelį ir priekinį viršutinį skydelį prie blokų. dar kartą apverskite dėklą aukštyn kojom ir uždėkite vidinį viršutinį skydelį ant bloko ir įsukite.
-jums turėtų likti kažkas panašaus (parodyta pirmoje šio žingsnio nuotraukoje)
kitas žingsnis paaiškins likusią surinkimo dalį.
5 žingsnis: Surinkite surinkimą
Iki to laiko jūs beveik baigėte bylą ir sukuriate tik keletą dalykų, kuriuos reikia įdiegti, ir jums bus padaryta.
Dabar lieka tik įdiegti elektroniką.
-Pradėsime gręždami skyles į jūsų potenciometro rinkimo skydelį. drąsiai gręžkite skyles ten, kur jums atrodo patogu. mano atveju aš turiu įdėti skylutes 2 1/2 colio atstumu nuo apačios ir 3 1/2 colio nuo šono abiems potenciometrams.
-Kai išgręšite skyles, mes uždėsime šią plokštę ant dėklo. bet vietoj to, kad jį prisuktume, mes jį klijuosime, tiesiog įdėkite daug klijų išilgai korpuso krašto ir padėkite skydelį ant jo ir laikykite su tam tikrais spaustukais ar kažkuo sunkiu.
-Kai klijai baigs džiūti, mes įdėsime elektronines dalis. Bet pirmiausia turėsime nuimti galinį skydelį.
-Kai nugarėlė išjungta, rekomenduoju dėklą pastatyti žemyn, kad būtų lengviau įdėti šviesos diodus ir kitus komponentus.
-Dabar, kai turite nugarą, mes įdėsime potenciometrą į dėklo vidų, tiesiog išmesdami juos per ką tik išgręžtas skyles ir uždėdami daug karštų klijų.
*** atsargiai ***-Būkite labai atsargūs dėdami šviesos diodų bloką, nes litavimo taškai gali būti trapūs.
-Dabar mes pasiekėme svarbiausią dalį, įdėjome LED masyvą. tiesiog įdėkite lentą, kaip parodyta antrame paveikslėlyje.
-Kai tik gausite savo LED vidinį skydelį ir padėkite jį į dėklo vidų, tiesiai po LED masyvo galiniu skydeliu. šis gabalas man gali būti tinkamas. prieš tęsdami taip pat leiskite išdžiūti.
-Jūs pasiekėte paskutinę dalį. Rekomenduoju nudažyti vieną šios paskutinės dalies pusę (LED vidinė nugaros dalis) juodai arba balta spalva, kad būtų kontrastas tarp šviesos diodų ir šios dalies.
-Mes žinosime, kad tai dedate tiesiai už šviesos diodų pagrindo ir lengvai prispaudžiate prie šviesos diodų galinės dalies, kad jie nejudėtų. įdėjus, užtepkite klijus išilgai krašto, kad jie nejudėtų. parodyta trečioje nuotraukoje.
**** Sveikinu, kad baigėte visą surinkimą !!!
tęskite paskutinį žaidimo kodavimo veiksmą
6 žingsnis: Kodas
Dar kartą sveikinu, kad pavyko taip toli.
šiame skyriuje aš parodysiu kodą ir kaip tai padaryti, be to, ką galite pakeisti ir suasmeninti.
bet prieš įsitraukdami į tai, jums reikės (adafruit_NeoPixel-master), kurį taip pat susiejau su atsisiuntimu.
Norėdami įdiegti pagrindinį, atidarykite savo arduino programą
1. eik į eskizą
2. atvira biblioteka
3. spustelėkite (add.zip biblioteka)
4. pasirinkite failą (adafruit_NeoPixel-master) ir baigsite
žemiau įklijavau žaidimo kodą.
#įtraukti
#įtraukti
ilgas kamuolysXabs = 12;
ilgas kamuolysYabs = 4;
int ballX;
int ballY;
int ballvelX = 1;
int ballvelY = 1;
int indeksas;
int fps = 50;
int irklentės plotis = 3;
int paddlemax = 9 - irklentės plotis + 1;
int knobseg = 1023 / (paddlemax);
int irklas 1 = 4;
int irklas 2 = 4;
#define NUMPIXELS 260
#define PIN 6
Adafruit_NeoPixel pikseliai = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);
void setup () {
pixels.begin ();
Serial.begin (9600);
}
void loop () {
clearScreen ();
updateBall ();
updatePaddle1 ();
updatePaddle2 ();
displayBall ();
displayPaddle1 ();
displayPaddle2 ();
pixels.show ();
detectCollision ();
vėlavimas (fps);
}
void clearScreen () {
(int i = 0; i <NUMPIXELS; i ++) {
pixels.setPixelColor (i, pixels. Color (0, 0, 0));
}
}
void updateBall () {
ballXabs += ballvelX;
ballYabs += ballvelY;
}
void detectCollision () {
Serial.print (ballYabs);
Serial.print ("");
Serial.println (irklas1);
if (ballvelX> 0 && ballXabs> = 25) {// susiduria su dešine siena
Serial.println („CollisionX“);
rezultatas1 (); // ballvelX*=-1;
}
if (ballvelX <0 && ballXabs <= 0) {// atsitrenkia į kairę sieną
Serial.println („CollisionX“);
rezultatas2 (); // ballvelX*=-1;
}
if (ballvelY> 0 && ballYabs> = 9) {// susiduria su viršutine siena
Serial.println („CollisionY“); rutulinis Y *= -1;
}
if (ballvelY <0 && ballYabs <= 0) {// susiduria su apatine siena
Serial.println („CollisionY“);
rutulinisY *= -1;
}
// aptikti 2 irklo susidūrimą
if ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = irklas2) && (ballYabs <= irklas2 + irklo plotis - 1)))
{// susiduria su dešine siena
Serial.println („CollisionPaddle“);
rutulioX *= -1;
}
// aptikti 1 irklo susidūrimą
if ((ballvelX = irklas1) && (ballYabs <= irklas1 + irklo plotis - 1)))
{// susiduria su dešine siena
Serial.println („CollisionPaddle“);
rutulioX *= -1;
}
}
void updatePaddle1 () {
int rankenėlė = analogRead (A0);
irklentė1 = apvali ((ilga) rankenėlė / (ilga) rankena);
}
void updatePaddle2 () {
int rankenėlė2 = analogRead (A1);
irklentė2 = apvali ((ilga) rankenėlė2 / (ilga) rankena);
}
void displayBall () {
ballX = apvalus (ballXabs);
ballY = apvalus (ballYabs);
jei (ballX % 2! = 0) {
indeksas = (9 - ballY) + 10 * ballX;
jei (ballX! = 0) {
pixels.setPixelColor (ballY + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // kairė rutulinės spalvos pusė
}
if (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // rutulio spalvos dešinė pusė
}
if (ballY! = 9) {pixels.setPixelColor (indeksas - 1, pixels. Color (30, 0, 0)); // rutulio spalvos apatinės pusės
}
if (ballY! = 0) {pixels.setPixelColor (indeksas + 1, pixels. Color (30, 0, 0)); // viršutinės rutulio spalvos pusės
}
}
Kitas {
indeksas = kamuolysY + 10 * rutulysX; jei (ballX! = 0) {
pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // kairioji rutulio pusė lygi
}
jei (ballX! = 25) {
pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // dešinė rutulio pusė lygi
}
jei (ballY! = 9) {
pixels.setPixelColor (indeksas + 1, pixels. Color (30, 0, 0)); // apatinės rutulio pusės vienodos eilės
}
if (ballY! = 0) {pixels.setPixelColor (indeksas - 1, pixels. Color (30, 0, 0)); // viršutinės rutulio pusės lygios eilės
}
}
pixels.setPixelColor (indeksas, pixels. Color (255, 0, 0)); /// rutulio spalvos centras
}
void displayPaddle1 () {
for (int i = 0; i <irklentės plotis; i ++) {pixels.setPixelColor (paddle1+i, pixels. Color (0, 0, 255));
}
}
void displayPaddle2 () {
for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (NUMPIXELS - 1 - irklas 2 - i, pikseliai. Spalva (0, 0, 255));
}
}
void score1 () {
resetBall (0);
}
void score2 () {
resetBall (1);
}
void resetBall (int player) {
vėlavimas (1000);
ballXabs = 12
; ballYabs = 4;
ballvelX = žaidėjas? 1: -1;
rutulinisY = 1;
clearScreen ();
vėlavimas (1000);
displayBall ();
pixels.show ();
vėlavimas (1000);
displayPaddle1 ();
displayPaddle2 (); pixels.show (); vėlavimas (2000 m.); }
7 žingsnis: Baigimas
Įkėlę kodą, galiniame skydelyje išgręžkite pakankamai didelę skylę, skirtą jūsų statinės lizdo maitinimo adapteriui. prijunkite jį prie arduino ir galiausiai vėl surinkite nugarą.
Aš taip pat įtraukiau į dalių sąrašą LED difuzorių akrilą, kurį dabar galite uždėti ant šviesos diodų ir klijuoti
Kai tai padarysite, būsite pasiruošę žaisti ir mėgautis konkurencinių žaidimų valandomis prieš šeimą ir draugus.
Galiausiai norėčiau pasveikinti jus užbaigus projektą.
Jei turite kokių nors problemų, susisiekite su manimi čia ir aš norėčiau padėti išspręsti problemą.
Rekomenduojamas:
Arkadinė mašina su keičiamu LED langu: 5 žingsniai (su paveikslėliais)
Arkadinė mašina su keičiama šviesos diodų palyda: būtinos dalys: LED pultelį galite pjauti lazeriu, naudodami instrukcijoje esančius failus arba tiems, kurie neturi prieigos prie lazerinio pjaustytuvo, jis taip pat yra visiškai surinktas. LED palapinė
Arkadinė mašina NES valdiklyje: 5 žingsniai
Arkadinė mašina NES valdiklyje: Ar kada nors norite ką nors padaryti su tais senais ir sugedusiais NES valdikliais? Atrodo, kad jie yra per daug vertingi, kad juos būtų galima tiesiog išmesti, tačiau nuplėšus laidą jie iš esmės nenaudingi, nebent rasite, kad suteiktumėte jiems naują gyvenimą! Man patinka juos derinti su
Pasidaryk pats arkadinė mašina: 4 žingsniai
Pasidaryk pats „Arcade Machine“: Šis projektas buvo atliktas kaip mūsų projektų savaitės dalis Osnabrueck taikomųjų mokslų universitete. Jį įkvėpė jau turimos instrukcijos, tokios kaip: „Arcade Spielekonsole“„Mit Raspberry Pi Barcade Arcade“, skirta visiems
Sukurkite savo mini arkadinę mašiną!: 8 žingsniai
Sukurkite savo mini arkadinę mašiną!: Ar kada nors norėjote savo arkados mašinos, bet negalite sau leisti ar pritaikyti viso dydžio? Štai sprendimas. Naudojant „Raspberry Pi“, 5 colių ekraną & 2 USB valdikliai, kuriuos galite sukurti patys, naudodami tiek žaidimų, kiek norite iš kelių skirtingų platformų. Le
Juostos juostos dėklas apverstiems telefonams: 6 žingsniai
Juostos juostos dėklas, skirtas apverstiems telefonams: Šį dėklą nesunku pasidaryti ir jis apsaugos jūsų telefoną. Jums reikės lipnios juostos, telefono ir žirklių