Spisu treści:

Taśmy LED Atari Pong Arcade Machine: 8 kroków
Taśmy LED Atari Pong Arcade Machine: 8 kroków

Wideo: Taśmy LED Atari Pong Arcade Machine: 8 kroków

Wideo: Taśmy LED Atari Pong Arcade Machine: 8 kroków
Wideo: 8x8 Colorduino pong game 2024, Listopad
Anonim
Taśmy LED Atari Pong Arcade Machine
Taśmy LED Atari Pong Arcade Machine

Nazywam się Gabriel Podevin i to jest mój pierwszy zakaz. Obecnie jestem 16-letnią uczennicą liceum, która uwielbia tworzyć i budować rzeczy, jednocześnie bardzo interesuje się elektroniką, robotyką, obwodami i programowaniem. Mam nadzieję, że ten trudny do opanowania okaże się pomocny.

W tej instrukcji pokażę, jak zrobić grę Atari Pong w stylu retro w retro arkadowej obudowie. Możesz zobaczyć powyższe wideo jako demo projektu, możesz również zobaczyć gotowy projekt i samą obudowę oraz na dwóch zdjęciach. Pod koniec tego trudnego zadania zagłębię się głębiej w kod i jak go edytować, aby go spersonalizować.

Podstawowa lista części zostanie podzielona na sekcje: Narzędzia, części montażowe i komponenty

Narzędzia, których będziesz potrzebować, będą obejmować:

- Wiertarka

-Lutownica

- śrubokręt (pasujący do śrub, które zdecydujesz się użyć)

-Wielometrowy

- piła tarczowa, piła taśmowa lub wycinarka laserowa czy masz do niej dostęp

-Przecinak do drutu lub nożyczki

- Pistolet na klej

Części, które będziesz potrzebować do montażu, będą zawierać

- Klej do drewna

-10 jeden cal na jeden cal bloków drewna;

- duży arkusz sklejki ćwierćcalowej lub drewna do wyboru

-24 śruby o długości pół cala

- 14 x 6,5 cala z tworzywa rozpraszającego led (opcjonalnie)

- czerwona i niebieska taśma elektryczna

Wymagane komponenty to:

- 2 potencjometry 100k omów

- 8 metrów indywidualnie adresowanej taśmy Led (30 diod na metr)

www.amazon.ca/ALITOVE-WS2812B-Individually-Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1?s=hi&ie=UTF8&qid=1535323567&sr=1-

- kilka metrów drutu lub wiele kolorów drutu

- zasilacz prądu przemiennego na prąd stały z wyjściem 6V przez wtyk typu baryłka

- 1 arduino Uno R3

jeśli nie masz dostępu do Arduino Uno R3, takiego jak ja, możesz zbudować taki, jak ten, którego będę używał w tym projekcie, który używa procesora atmel328-pu. Kliknij ten link, aby dowiedzieć się, jak zbudować własną

Jeśli używasz arduino uno, przejdź do kroku pierwszego.

Krok 1: Budowanie tablicy LED

Budowanie matrycy LED
Budowanie matrycy LED
Budowanie matrycy LED
Budowanie matrycy LED
Budowanie matrycy LED
Budowanie matrycy LED

Ten krok jest najprostszym, czasochłonnym krokiem ze względu na wszystkie lutowania, które musisz wykonać.

- na początek potrzebujesz kawałka drewna o wymiarach 10 3/4 cala na 6 1/2 cala.

-Kiedy już masz kawałek drewna, chwyć pasek Led i wytnij 26 segmentów co 10 diod led lub co 6 1/2 cala.

- po wycięciu segmentów przyklej je pionowo do drewna, jak pokazano na poniższych zdjęciach pokazanych na pierwszym obrazku powyżej.

-po przyklejeniu pasków i umożliwieniu ich osiadania rozpoczniemy lutowanie.

-Będziesz potrzebował trzech różnych kolorowych przewodów

- powinien być podłączony tak, aby wszystkie pozytywy były połączone z jednym przewodem, a wszystkie negatywy z jednym przewodem, podczas gdy ostatni przewód połączy paski led. Drugie zdjęcia na początku tego kroku to schemat, który pokaże jak podłączyć przewody.

-Na koniec, po ich przylutowaniu, po prostu owijasz pasek elektryczny na połączeniach lutowanych w odpowiednich kolorach. jak pokazano na trzecim obrazku powyżej.

-na koniec połączymy się z Arduino. twoje wejście cyfrowe lub środkowy przewód połączy się z tobą 6-pinowe wejście cyfrowe, a uziemienie i dodatnie połączą się z dodatnią i ujemną szyną na płycie.

Krok 2: Sterowanie wiosłem

Sterowanie wiosłem
Sterowanie wiosłem
Sterowanie wiosłem
Sterowanie wiosłem
Sterowanie wiosłem
Sterowanie wiosłem

W tym bardzo prostym kroku wystarczy przylutować trzy przewody do każdego potencjometru. jeśli trzymasz potencjometr z punktami lutowania skierowanymi od siebie, lewy bolec będzie dodatni, środkowy bolec będzie wyprowadzany, a prawy bolec będzie uziemiony. jak pokazano na powyższym schemacie

po przylutowaniu przewodów podłączymy je do Arduino. ty pozytywy i negatywy połączą się z odpowiednimi deszczami pozytywnymi i negatywnymi. przewody wyjściowe na potencjometrach połączą się z różnymi wejściami na arduino. jeden połączy się z wtyczką (A0), a drugi z wtyczką (A1).

Krok 3: Cięcie obudowy

Cięcie obudowy
Cięcie obudowy
Cięcie obudowy
Cięcie obudowy
Cięcie obudowy
Cięcie obudowy
Cięcie obudowy
Cięcie obudowy

ta część poda Ci wymiary i kąty tego, co będziesz musiał wyciąć

****bardzo ważne***** upewnij się, że twoje drewno ma grubość ćwierć cala (1/4 cala)

również podczas wycinania części pamiętaj o oznaczeniu części

podstawowa część do wycięcia będzie oznaczona jako dół, tył, góra, przód góra, przód dół…. pokazane na zdjęciach na początku

wymiary części

- Dół: 13 3/4 cala X 10 1/4 cala

- Tył: 13 3/4 cala X 15 1/2 cala

- Góra: 13 3/4 cala X 6 1/2 cala

- Przód dolny: 13 3/4 cala X 4 1/4 cala

- Panel wybierania: 13 3/4 cala X 6 cali

- Wewnętrzna góra: 13 3/4 cala X 3 1/4 cala

- Siding LED: 6 1/4 cala X 1 cal (wytnij dwa z nich)

-Dół wewnętrzny LED: 13 1/4 cala X 4 1/2 cala

- wewnętrzny tylny panel LED: 13 1/4 cala X 9 cali

- Bloki: 1 cal X 1 cal X 1 cal (wytnij 10 bloków)

- Panel akrylowy: 13 3/4 cala X 6 1/2 cala

Powyższe zdjęcia pokazują kąty i wymiary części panelu bocznego. również będziesz musiał wyciąć dwie z tej części

Krok 4: Montaż obudowy

Montaż obudowy
Montaż obudowy
Montaż obudowy
Montaż obudowy
Montaż obudowy
Montaż obudowy

W tym momencie w tych instrukcjach prawie wszystko zostało ukończone. włóż swoje prawdopodobnie myśli, że mam wszystkie te części i wycięcia, co mam z nimi zrobić. Ten ostatni krok poinstruuje Cię, jak złożyć swoją walizkę.

-Pierwsze, co zamierzamy, to zacząć montować walizkę. tutaj przydają się wszystkie wycięcia z drewna z poprzedniego kroku.

- Do rozpoczęcia montażu potrzebne będą 4 drewniane klocki 1x1x1 podstawy, dwa panele boczne, tył i przód spód. umieść 4 klocki na każdym rogu dna i zostaw ćwierć cala między krawędzią a bloczkiem, jak pokazano na drugim rysunku na początku kroku.

-Następnie będziesz musiał wywiercić kilka otworów pilotażowych przez drewno i bloki. kiedy już to zrobisz, to do dołu.

-Następnie założymy panele boczne. Umieść panele na ćwierćcalowej szczelinie po zewnętrznej stronie bloku. wywierć otwór prowadzący przez panel boczny i drewniany klocek i wkręć panele. powtórz dla drugiej strony.

-Po skompletowaniu paneli bocznych. będziemy zakładać przedni panel dolny. umieść panel równo z dnem, a boki wywierć otwory prowadzące w blokach i przykręć panel.

-Wreszcie będziemy zakładać plecy. zrób to samo, co z przednim dolnym panelem i wkręć z powrotem.

- W tym momencie masz już podstawy do zbudowania i zrozumienie, w jaki sposób montujemy tę sprawę.

- Ta następna część jest trochę trudniejsza ze względu na fakt, że pracujesz na mniejszym obszarze. na początek będziemy potrzebować wszystkich górnych części i 6 bloków.

- Połóż to, co do tej pory zbudowałeś, na plecach i umieść klocki w rogach ćwierć cala od góry. (jak pokazano na trzecim obrazku na początku)

- wywierć otwory prowadzące po bokach i z tyłu i wkręć je.

-teraz zmontujemy resztę blatu

- weź górny panel i umieść go na blokach, wywierć otwory pilotujące i przykręć górę. Po finiszowaniu odwróć zespół do góry nogami ***ostrożnie*** i umieść blok w każdym rogu równolegle do krawędzi. wywierć otwory pilotażowe z paneli bocznych i przykręć je do bloku. obrócić obudowę z powrotem do pozycji pionowej i wywiercić otwory prowadzące przez górę w blokach i wkręcić.

- ta część gniazda jest trochę trudna. będziesz potrzebować przedniego górnego panelu i ostatnich dwóch bloków. najpierw wywierć otwory pilotażowe w poprzednich blokach przez górny panel przedni i wkręć je. teraz weź ostatnie dwa bloki i umieść je w rogu i przykręć panel boczny i przedni panel górny do bloków. jeszcze raz odwróć obudowę do góry nogami i umieść wewnętrzny panel górny na bloku i wkręć go.

- powinno pozostać coś takiego (pokazane na pierwszym obrazku tego kroku)

następny krok wyjaśni resztę zespołu.

Krok 5: Kończenie montażu

Kończenie montażu
Kończenie montażu
Kończenie montażu
Kończenie montażu
Kończenie montażu
Kończenie montażu

W tym momencie prawie ukończyłeś sprawę i kompilujesz tylko kilka rzeczy do wprowadzenia i gotowe.

Teraz pozostało już tylko zainstalować elektronikę.

-Zaczniemy od wywiercenia otworów w panelu wybierania dla potencjometru. możesz wywiercić otwory tam, gdzie uważasz, że byłoby to wygodne. w moim przypadku umieściłem otwory 2 1/2 cala od dołu i 3 1/2 cala od boku dla obu potencjometrów.

-Po wywierceniu otworów umieścimy ten panel na obudowie. ale zamiast przykręcać, będziemy go kleić, po prostu nałóż sporą ilość kleju wzdłuż krawędzi obudowy i załóż panel i przytrzymaj go za pomocą zacisków lub czegoś ciężkiego.

-Po wyschnięciu kleju włożymy części elektroniczne. Ale najpierw będziemy musieli zdjąć tylny panel.

-Po zdjęciu tyłu zalecam umieszczenie obudowy przodem w dół, co ułatwi umieszczenie w środku diod LED i innych elementów.

-Teraz, gdy masz już tył, umieścimy potencjometr wewnątrz obudowy, po prostu przekładając go przez wywiercone otwory i wkładając dużą ilość gorącego kleju.

***uwaga***-Zachowaj szczególną ostrożność podczas wkładania matrycy LED, ponieważ punkty lutowania mogą być delikatne.

-Teraz dotarliśmy do najważniejszej części, umieszczając tablicę led. po prostu umieść planszę tak, jak pokazano na drugim obrazku.

-Gdy wejdziesz, weź wewnętrzny panel led i umieść go w obudowie bezpośrednio pod tylnym panelem LED. ten kawałek może mi ciasno pasować. również pozwól mu wyschnąć przed kontynuowaniem.

-Dotarłeś do ostatniej części. polecam pomalować jedną stronę tej końcowej części (LED Inner Back) na czarno lub biało, aby uzyskać kontrast między diodami LED a tą częścią.

-Będziemy wiedzieć, że należy umieścić to bezpośrednio za podkładem LED i lekko docisnąć tył diod LED, aby zapobiec ich poruszaniu się. po nałożeniu nałóż klej wzdłuż krawędzi, aby zapobiec jego przesuwaniu się. pokazane na trzecim zdjęciu.

****gratulujemy ukończenia całego montażu !!!

przejdź do ostatniego kroku, aby zakodować grę

Krok 6: Kodeks

Jeszcze raz gratulujemy dotarcia tak daleko.

w tej sekcji pokażę Ci kod i sposób, aby działał, oprócz rzeczy w kodzie, które możesz zmienić i spersonalizować.

ale zanim do tego dojdziemy, będziesz potrzebować (adafruit_NeoPixel-master), który również połączyłem z pobieraniem.

aby zainstalować mastera, otwórz swój program arduino

1. idź do szkicu

2. otwórz bibliotekę dołączania

3. kliknij (dodaj bibliotekę zip)

4.wybierz plik (adafruit_NeoPixel-master) i gotowe

poniżej wkleiłem kod do gry.

#włączać

#włączać

długa piłka Xabs = 12;

długa piłkaYabs = 4;

int piłkaX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

indeks int;

int fps = 50;

int szerokość wiosła = 3;

int paddlemax = 9 - szerokość wiosła + 1;

int gałkieg = 1023 / (paddlemax);

wewn. wiosło1 = 4;

wewn. wiosło2 = 4;

#define NUMPIXELS 260

#zdefiniuj PIN 6

Adafruit_NeoPixel piksele = Adafruit_NeoPixel(NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);

pusta konfiguracja () {

piksele.początek();

Serial.początek(9600);

}

pusta pętla () {

czysty ekran();

aktualizacjaPiłka();

aktualizacjaPaddle1();

aktualizacjaPaddle2();

wyświetlajPiłkę();

displayPaddle1();

displayPaddle2();

piksele.pokaż();

wykryćkolizji();

opóźnienie(fps);

}

nieważne wyczyść ekran() {

for (int i = 0; i < LICZBA PIKSELI; i++) {

piksele.setPixelColor(i, piksele. Kolor(0, 0, 0));

}

}

nieważna aktualizacjaBall() {

ballXabs += ballvelX;

ballYabs += ballvelY;

}

void wykryjkolizji() {

Serial.print(ballYabs);

Serial.print(" ");

Serial.println(łopatka1);

if (ballvelX > 0 && ballXabs >= 25) { //zderz prawą ścianę

Serial.println("KolizjaX");

wynik1(); //piłkaX*=-1;

}

if (ballvelX < 0 && ballXabs <= 0) { //zderz lewą ścianę

Serial.println("KolizjaX");

wynik2(); //piłkaX*=-1;

}

if (ballvelY > 0 && ballYabs >= 9) { //zderz górną ścianę

Serial.println("KolizjaY"); kulowo *= -1;

}

if (ballvelY < 0 && ballYabs <= 0) { //zderz dolną ścianę

Serial.println("KolizjaY");

kulowo *= -1;

}

//wykryj kolizję wiosła 2

if ((ballvelX > 0 && ballXabs == 24) && ((ballYabs >= paddle2) && (ballYabs <= paddle2 + paddlewidth - 1)))

{ //zderz prawą ścianę

Serial.println("Wiosło kolizji");

piłkaX *= -1;

}

//wykryj kolizję wiosła 1

if ((ballvelX = paddle1) && (ballYabs <= paddle1 + paddlewidth - 1)))

{ //zderz prawą ścianę

Serial.println("Wiosło kolizji");

piłkaX *= -1;

}

}

void updatePaddle1() {

int pokrętło = analogRead(A0);

wiosło1 = okrągłe((długie)pokrętło / (długie)pokrętłoseg);

}

void updatePaddle2() {

int pokrętło2 = analogRead(A1);

wiosło2 = okrągłe((długie)pokrętło2 / (długie)pokrętłoseg);

}

nieważne wyświetlanie kulki() {

piłkaX = okrągły(piłkaXabs);

piłkaY = okrągły(piłkaYabs);

if (piłkaX % 2 != 0) {

indeks = (9 - kulaY) + 10 * kulaX;

jeśli (piłkaX != 0) {

piksele.setPixelColor(piłkaY + 10 * (piłkaX - 1), piksele. Kolor(30, 0, 0)); //lewa strona koloru piłki

}

if (piłkaX != 25) { piksele.setPixelColor(piłkaY + 10 * (piłkaX + 1), piksele. Kolor(30, 0, 0)); //prawa strona koloru kuli

}

if (ballY != 9) { piksele.setPixelColor(index - 1, piksele. Color(30, 0, 0)); //dolne boki koloru kulki

}

if (ballY != 0) { piksele.setPixelColor(index + 1, piksele. Color(30, 0, 0)); //górne boki koloru kuli

}

}

w przeciwnym razie {

indeks = kulaY + 10 * kulaX; jeśli (piłkaX != 0) {

piksele.setPixelColor((9 - kulaY) + 10 * (piłkaX - 1), piksele. Color(30, 0, 0)); //lewa strona piłki parzysty rząd

}

jeśli (piłkaX != 25) {

piksele.setPixelColor((9 - kulaY) + 10 * (piłkaX + 1), piksele. Color(30, 0, 0)); //prawa strona piłki parzysty rząd

}

jeśli (piłkaY != 9) {

piksele.setPixelColor(indeks + 1, piksele. Kolor(30, 0, 0)); //dolne boki piłki w równym rzędzie

}

if (ballY != 0) { piksele.setPixelColor(index - 1, piksele. Color(30, 0, 0)); //górne boki piłki w równym rzędzie

}

}

piksele.setPixelColor(indeks, piksele. Kolor(255, 0, 0)); ///środek koloru kuli

}

void displayPaddle1() {

for (int i = 0; i < szerokość wiosła; i++) { pikseli.setPixelColor(paddle1 + i, piksele. Color(0, 0, 255));

}

}

void displayPaddle2() {

for (int i = 0; i < szerokość wiosła; i++) { pikseli.setPixelColor(NUMPIXELS - 1 - wiosło2 - i, piksele. Color(0, 0, 255));

}

}

nieważny wynik1() {

zresetuj piłkę(0);

}

nieważny wynik2() {

zresetujKula(1);

}

void zresetujpiłkę(wewnętrzny gracz) {

opóźnienie (1000);

piłkaXabs = 12

; piłkaYabs = 4;

ballvelX = gracz ? 1: -1;

kulowoY = 1;

czysty ekran();

opóźnienie (1000);

wyświetlPiłkę();

piksele.pokaż();

opóźnienie (1000);

displayPaddle1();

displayPaddle2(); piksele.pokaż(); opóźnienie (2000); }

Krok 7: Wykończenie

Wykończeniowy
Wykończeniowy

Po przesłaniu kodu wywierć otwór w tylnym panelu wystarczająco duży, aby pomieścić zasilacz z gniazdem baryłkowym. podłącz go do arduino i na koniec złóż z powrotem.

Na liście części znalazłem również akrylowy dyfuzor LED, który możesz teraz umieścić na diodach LED i przykleić

Po wykonaniu tej czynności możesz grać i cieszyć się godzinami rywalizacji z rodziną i przyjaciółmi.

Na koniec chciałbym pogratulować ukończenia projektu.

Jeśli masz jakieś problemy, skontaktuj się ze mną tutaj i chętnie pomogę rozwiązać problem.

Zalecana: