Innholdsfortegnelse:
- Trinn 1: Bygg LED Array
- Trinn 2: Paddle -kontrollene
- Trinn 3: Klippe saken
- Trinn 4: Kassemontering
- Trinn 5: Fullfør monteringen
- Trinn 6: Koden
- Trinn 7: Etterbehandling
Video: LED Strip Atari Pong Arcade Machine: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Mitt navn er Gabriel Podevin, og dette er min aller første intructable. Jeg er for tiden en 16 år gammel videregående student som liker å lage og bygge ting mens han er veldig interessert i elektronikk, robotikk, kretser og programmering. Jeg håper du kan finne denne ufeilbare finne dette nyttig.
I denne instruksen vil jeg vise deg hvordan du lager et Atari Pong -spill i retrostil inne i en retro arkadekasse. Du kan se videoen ovenfor for en demo av prosjektet, du kan også se det ferdige prosjektet og saken alene og i de to bildene. På slutten av denne uforgjengelige vil jeg dykke dypere inn i koden og hvordan jeg kan redigere den for å tilpasse den.
Den grunnleggende delelisten vil bli delt inn i seksjonene: Verktøy, monteringsdeler og komponenter
Verktøyene du trenger vil omfatte følgende:
- Bore
- Loddejern
- Skrutrekker (matcher skruene du bestemmer deg for å bruke)
- Multimåler
- sirkulerende sag, båndsag eller laserskærer har du tilgang til en
-Wire cutter eller saks
- Limpistol
Deler du trenger for montering inkluderer
- Trelim
- 10 en tomme for en tommers treblokker
- stort ark med kvart tommers tre eller tre etter eget valg
- 24 skruer en halv tomme i lengden
- 14 x 6,5 tommer ledd diffuserende plast (valgfritt)
- rødt og blått elektrisk tape
Komponentene du trenger er:
- 2 100k ohm potensiometre
- 8 meter individuelt adresserbar LED -stripe (30 lys per meter)
www.amazon.ca/ALITOVE-WS2812B-Individually-Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1?s=hi&ie=UTF8&qid=1535323567&sr=1-
- flere meter wire eller flere farger av wire
- vekselstrømadapter til vekselstrøm som sender ut 6v gjennom en fatkontakt
- 1 arduino Uno R3
Hvis du ikke har tilgang til en Arduino Uno R3 som meg selv, kan du bygge en som jeg vil bruke i dette prosjektet som bruker en atmel328-pu-prosessor. Følg denne lenken for å lære hvordan du bygger ditt eget
Hvis du bruker en arduino uno, fortsett til trinn én.
Trinn 1: Bygg LED Array
Dette trinnet er det enkleste tidkrevende trinnet på grunn av all lodding du må gjøre.
-til å begynne med trenger du en 10 3/4 tommer med 6 1/2 tommer stykke tre.
-Når du har treverket ditt, ta tak i Led -stripen og kutt 26 segmenter hver 10. LED eller hver 6 1/2 tomme.
-etter å ha klippet segmentene, lim dem ned til treet ditt vertikalt som vist på de følgende bildene vist på det første bildet ovenfor.
-Når du har limt strimlene ned og latt dem sette seg, begynner vi å lodde.
-Du trenger tre ledninger i forskjellige farger
-Den skal være koblet til alle positive som er koblet til en ledning og alle negative tilkobling til en ledning mens den siste ledningen vil slange led -stripene sammen. De andre bildene i begynnelsen av dette trinnet er et diagram som viser deg hvordan du kobler ledningene.
-Til slutt, etter at du har loddet dem, vil du ganske enkelt pakke inn en stripe elektrisk på loddetilkoblingene med de tilsvarende fargene. som vist på det tredje bildet ovenfor.
-sist vil vi koble til Arduino. din digitale inngang eller den midterste ledningen vil koble til den digitale inngangen med 6 pinner, og din jordede og positive vil koble til de positive og negative skinnene på brettet.
Trinn 2: Paddle -kontrollene
For dette veldig enkle trinnet er det bare å lodde tre ledninger til hvert potensiometer. Hvis du holder potensiometeret med loddepunktene vendt vekk fra deg, vil den venstre tappen være positiv, senterstiften blir sendt ut og den høyre tappen blir malt. som vist i diagrammet ovenfor
Når du har loddet ledningene på, kobler vi dem til Arduino. du possitive og negative vil koble til det tilsvarende positive og negative regnet. du sender ut ledninger på potensiometrene vil koble til forskjellige innganger på arduinoen. den ene vil koble til (A0) pluggen og den andre vil koble til (A1) pluggen.
Trinn 3: Klippe saken
denne delen vil gi deg dimensjoner og vinkler på hva du trenger å kutte
**** veldig viktig ***** sørg for at treverket ditt er en centimeter tykt (1/4 tommer)
også når du kutter ut deler, husk å merke delene dine
den grunnleggende delen som skal kuttes, er merket med bunn, bakside, topp, front øverst, foran nederst …. vist på bildene i begynnelsen
del dimensjoner
- Bunn: 13 3/4 tommer X 10 1/4 tommer
- Rygg: 13 3/4 tommer X 15 1/2 tommer
- Topp: 13 3/4 tommer X 6 1/2 tommer
- Bunn foran: 13 3/4 tommer X 4 1/4 tommer
- Oppringingspanel: 13 3/4 tommer X 6 tommer
- Indre topp: 13 3/4 tommer X 3 1/4 tommer
- LED -sidespor: 6 1/4 tommer X 1 tommer (kutt to av disse)
LED indre bunn: 13 1/4 tommer X 4 1/2 tommer
- indre bakside LED -panel: 13 1/4 tommer X 9 tommer
- Blokker: 1 tommer X 1 tommer X 1 tommer (kutt 10 blokker)
- Akrylpanel: 13 3/4 tommer X 6 1/2 tommer
Bildene ovenfor viser deg vinklene og dimensjonene på sidepaneldelen. også må du kutte to av denne delen
Trinn 4: Kassemontering
På dette tidspunktet i disse instruksjonene har du nesten fullført det hele. sette din sannsynlig tenker jeg har alle disse delene og cutouts hva gjør jeg med dem. Dette siste trinnet vil lære deg hvordan du monterer saken din.
-Det første vi skal gjøre er å begynne å montere saken. det er her alt du vedklipp fra forrige trinn kommer godt med.
-For å begynne monteringen trenger vi 4 av 1x1x1 treblokker basen, de to sidepanelene, baksiden og frontbunnen. plasser de 4 blokkene på hvert hjørne av bunnen og la en kvart tomme være mellom kanten og blokken som vist på det andre bildet ved tigging av trinnet.
-påfølgende må du bore noen styrehull fra gjennom skogen og blokkene. når du har gjort den skruen til bunnen.
-Neste skal vi sette på sidepanelene. Plasser panelene på kvart tommers gap på utsiden av blokken. bor et pilothull gjennom sidepanelet og treblokken og skru inn panelene. Gjenta for den andre siden.
-Etter å ha fullført sidepanelene. vi skal sette på det nedre frontpanelet. plasser panelet i flukt med bunnen og sidene bor styrehullene i blokkene og skru på panelet.
-Til slutt vil vi legge på ryggen. gjør det samme som du gjorde med det nedre frontpanelet og skru deg inn igjen.
-På dette punktet har du et grunnlag å bygge på og en forståelse for hvordan vi samler denne saken.
-Denne neste delen er litt mer utfordrende fordi du jobber med et mindre område. For å begynne trenger vi alle toppdelene og 6 blokker.
-Legg det du har bygget så langt på ryggen, og legg blokkene i hjørnene en kvart tomme fra toppen. (som vist på det tredje bildet i begynnelsen)
-bor hullene til sidene og baksiden og skru dem inn.
-nå skal vi sette sammen resten av toppen
-Ta det øverste panelet og legg det på blokkene. Bor hull i hullene og skru inn toppen. Etter at du finsk som snur forsiden opp ned *** forsiktig *** og legg en blokk i hvert hjørne parallelt med kanten. bor styrehull fra sidepanelene og skru dem til blokken. snu saken tilbake oppreist og bor styrehull gjennom toppen inn i blokkene og skru den inn.
-den reirdelen er litt vanskelig. du trenger frontpanelet og de to siste blokkene. bor først et pilothull i de forrige blokkene gjennom det øverste frontpanelet og skru det inn. Ta nå de siste to blokkene og legg dem inne i hjørnet og skru sidepanelet og det fremre toppanelet til blokkene. snu saken opp og ned igjen og legg det indre toppanelet på blokken og skru det inn.
-Du bør sitte igjen med noe slikt (vist på det første bildet av dette trinnet)
neste trinn vil forklare resten av forsamlingen.
Trinn 5: Fullfør monteringen
På dette tidspunktet har du nesten fullført saken og bygget bare noen få ting du skal sette på plass, og du vil være ferdig.
Nå gjenstår det bare å installere elektronikken.
-Vi begynner med å bore hull i oppringingspanelet for potensiometeret ditt. bor gjerne hullene der du føler det ville være behagelig. i mitt tilfelle har jeg plassert hullene 2 1/2 tommer fra bunnen og 3 1/2 tommer fra siden for begge potensiometrene.
-Når du har boret hullene, legger vi dette panelet på saken. men i stedet for å skru den fast, limer vi den. Bare legg en generøs mengde lim langs kantkassen og legg på panelet og hold det med noen klemmer eller noe tungt.
-Når limet er ferdig tørket, legger vi i de elektroniske delene. Men først må vi fjerne bakpanelet.
-Når baksiden er av, anbefaler jeg at du plasserer saken foran og gjør det lettere å sette lysdiodene og andre komponenter inne.
-Nå som du har ryggen av, vil vi plassere potensiometeret inne i saken ved ganske enkelt å sette dem gjennom hullene vi nettopp boret og legge en sjenerøs mengde varmt lim.
*** forsiktig ***-Vær ekstremt forsiktig når du setter inn LED-matrisen fordi loddepunktene kan være skjøre.
-Nå har vi nådd den viktigste delen, å sette inn led -matrisen. Bare legg brettet inn som vist på det andre bildet.
-Gå inn det ledde indre panelet ditt og legg det inne i saken rett under LED -bakpanelet. dette stykket kan passe godt til meg. la det også tørke før du fortsetter.
-Du har nådd den siste delen. Jeg anbefaler å male den ene siden av denne siste delen (LED innvendig rygg) svart eller hvit for en kontrast mellom lysdiodene og denne delen.
-Vi vet at du plasserer dette rett bak LED -støtten og trykker lett mot baksiden av lysdiodene for å unngå at de beveger seg. en gang satt inn, påfør lim langs kanten for å forhindre at den beveger seg. vist på det tredje bildet.
**** gratulerer med at du har fullført hele forsamlingen !!!
fortsett til det siste trinnet for å kode spillet
Trinn 6: Koden
Gratulerer nok en gang med at du har kommet så langt.
i denne delen vil jeg vise deg koden og hvordan du får den til å fungere i tillegg til ting i koden du kan endre og tilpasse den.
men før vi går inn på at du trenger (adafruit_NeoPixel-master) har jeg også koblet nedlastingen.
for å installere master, åpne arduino -programmet
1. gå til skisse
2. åpen inkluderer bibliotek
3. klikk (add.zip bibliotek)
4. velg filen (adafruit_NeoPixel-master) og du er ferdig
under dette har jeg limt inn koden for spillet.
#inkludere
#inkludere
lang ballXabs = 12;
lang ballYabs = 4;
int ballX;
int ballY;
int ballvelX = 1;
int ballvelY = 1;
int indeks;
int fps = 50;
int padlebredde = 3;
int paddlemax = 9 - padlebredde + 1;
int knobseg = 1023 / (paddlemax);
int padle1 = 4;
int paddle2 = 4;
#define NUMPIXELS 260
#definere PIN 6
Adafruit_NeoPixel piksler = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);
ugyldig oppsett () {
pixels.begin ();
Serial.begin (9600);
}
void loop () {
clearScreen ();
updateBall ();
updatePaddle1 ();
updatePaddle2 ();
displayBall ();
displayPaddle1 ();
displayPaddle2 ();
piksler.vis ();
detectCollision ();
forsinkelse (fps);
}
void clearScreen () {
for (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 (padle1);
hvis (ballvelX> 0 && ballXabs> = 25) {// kolliderer høyre vegg
Serial.println ("CollisionX");
poengsum1 (); // ballvelX*=-1;
}
hvis (ballvelX <0 && ballXabs <= 0) {// kolliderer venstre vegg
Serial.println ("CollisionX");
poengsum2 (); // ballvelX*=-1;
}
hvis (ballvelY> 0 && ballYabs> = 9) {// kolliderer toppvegg
Serial.println ("CollisionY"); ballvelY *= -1;
}
hvis (ballvelY <0 && ballYabs <= 0) {// kolliderer bunnveggen
Serial.println ("CollisionY");
ballvelY *= -1;
}
// oppdag kollisjon mellom padle 2
hvis ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = paddle2) && (ballYabs <= paddle2 + paddlewidth - 1)))
{// kolliderer høyre vegg
Serial.println ("CollisionPaddle");
ballvelX *= -1;
}
// oppdag kollisjon med padle 1
if ((ballvelX = paddle1) && (ballYabs <= paddle1 + paddlewidth - 1)))
{// kolliderer høyre vegg
Serial.println ("CollisionPaddle");
ballvelX *= -1;
}
}
void updatePaddle1 () {
int knott = analogRead (A0);
padle1 = rund ((lang) knott / (lang) knobseg);
}
void updatePaddle2 () {
int knob2 = analogRead (A1);
padle2 = rund ((lang) knott2 / (lang) knobseg);
}
void displayBall () {
ballX = rund (ballXabs);
ballY = rund (ballYabs);
hvis (ballX % 2! = 0) {
indeks = (9 - ballY) + 10 * ballX;
hvis (ballX! = 0) {
pixels.setPixelColor (ballY + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // venstre side av ballcolor
}
hvis (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // høyre farge på ballen
}
hvis (ballY! = 9) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // undersiden av kulens farge
}
hvis (ballY! = 0) {pixels.setPixelColor (index + 1, pixels. Color (30, 0, 0)); // oversiden av ballfargen
}
}
annet {
indeks = ballY + 10 * ballX; hvis (ballX! = 0) {
pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixels. Color (30, 0, 0)); // venstre side av ballen jevn rad
}
hvis (ballX! = 25) {
pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // høyre side av ballen jevn rad
}
hvis (ballY! = 9) {
pixels.setPixelColor (indeks + 1, pixels. Color (30, 0, 0)); // undersiden av ballen jevn rad
}
hvis (ballY! = 0) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // oversiden av ballen jevn rad
}
}
pixels.setPixelColor (indeks, pixels. Color (255, 0, 0)); /// senter for ballfarge
}
void displayPaddle1 () {
for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (paddle1+i, pixels. Color (0, 0, 255));
}
}
void displayPaddle2 () {
for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (NUMPIXELS - 1 - paddle2 - i, pixels. Color (0, 0, 255));
}
}
ugyldig score1 () {
resetBall (0);
}
ugyldig score2 () {
resetBall (1);
}
void resetBall (int player) {
forsinkelse (1000);
ballXabs = 12
; ballYabs = 4;
ballvelX = spiller? 1: -1;
ballvelY = 1;
clearScreen ();
forsinkelse (1000);
displayBall ();
piksler.vis ();
forsinkelse (1000);
displayPaddle1 ();
displayPaddle2 (); piksler.vis (); forsinkelse (2000); }
Trinn 7: Etterbehandling
Når du har lastet opp koden, borer du et hull i bakpanelet som er stort nok til fatningsadapteren. koble den til arduinoen og sett til slutt tilbake på baksiden.
Jeg inkluderte også LED -diffusor akryl på delelisten du kan nå plassere den over lysdiodene og lime den ned
Etter at du har gjort dette er du klar til å spille og nyte timene med konkurransedyktige spill mot familie og venner.
Til slutt vil jeg gratulere deg med prosjektet.
Kontakt meg her hvis du har problemer, og jeg vil gjerne hjelpe deg med å løse problemet.
Anbefalt:
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: 6 trinn (med bilder)
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: Introduksjon PongMate CyberCannon Mark III er det nyeste og mest avanserte stykke ølpongteknologi som noensinne er solgt til publikum. Med den nye CyberCannon kan enhver person bli den mest fryktede spilleren ved ølpongbordet. Hvordan er dette
DIY LED Strip: Hvordan kutte, koble til, lodde og strøm LED Strip: 3 trinn (med bilder)
DIY LED -stripe: Hvordan kutte, koble til, lodde og strøm LED -stripe: Nybegynnerguide for å lage dine egne lysprosjekter ved hjelp av LED -stripe. Fleksibel pålitelig og enkel å bruke, LED -strips er det beste valget for en rekke applikasjoner. Jeg vil dekke det grunnleggende om å installere en enkel innendørs 60 LED/m LED -stripe, men i
Desktop Arcade Machine: 5 trinn
Desktop Arcade Machine: Dette prosjektet er en stasjonær arkademaskin laget av en gammel Dell -arbeidsstasjon. For de som lurer på det, har datamaskinen 8 GB DDR3 -minne (4 x 2 GB), en Intel core i3 og en 300 watt strømforsyning. Ingen grafikkort er nødvendig siden eldre spill ikke er
Arcade Machine i en NES -kontroller .: 5 trinn
Arcade Machine i en NES -kontroller .: Har du noen gang lyst til å gjøre noe med de gamle og ødelagte NES -kontrollerne? De virker for verdifulle til bare å kaste, men når først ledningen er dratt av, er de i utgangspunktet ubrukelige med mindre du kan finne bort for å gi dem nytt liv! Jeg liker å kombinere dem med
ESP8266 RGB LED STRIP WIFI -kontroll - NODEMCU Som IR -fjernkontroll for Led Strip kontrollert over Wifi - RGB LED STRIP Smarttelefonkontroll: 4 trinn
ESP8266 RGB LED STRIP WIFI -kontroll | NODEMCU Som IR -fjernkontroll for Led Strip kontrollert over Wifi | RGB LED STRIP Smartphone Control: Hei folkens i denne opplæringen lærer vi hvordan du bruker nodemcu eller esp8266 som en IR -fjernkontroll for å kontrollere en RGB LED -stripe, og Nodemcu vil bli styrt av smarttelefonen over wifi. Så i utgangspunktet kan du kontrollere RGB LED STRIP med smarttelefonen din