Mục lục:

Dải đèn LED Atari Pong Arcade Machine: 8 bước
Dải đèn LED Atari Pong Arcade Machine: 8 bước

Video: Dải đèn LED Atari Pong Arcade Machine: 8 bước

Video: Dải đèn LED Atari Pong Arcade Machine: 8 bước
Video: Arcade1Up - Backlit Marquee Options for your Cabinet 2024, Tháng bảy
Anonim
Máy giải trí dải LED Atari Pong
Máy giải trí dải LED Atari Pong

Tên tôi là Gabriel Podevin và đây là lần đầu tiên tôi có thể xâm nhập được. Tôi hiện là một học sinh trung học 16 tuổi, thích sáng tạo và xây dựng mọi thứ, đồng thời rất quan tâm đến điện tử, rô bốt, mạch điện và lập trình. Tôi hy vọng bạn có thể tìm thấy điều này rất hữu ích.

Trong phần hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo một Trò chơi Atari Pong theo phong cách cổ điển bên trong một hộp arcade cổ điển. Bạn có thể xem video ở trên để biết bản demo của dự án, bạn cũng có thể xem dự án đã hoàn thành và trường hợp một mình và trong hai hình ảnh. Ở phần cuối của đoạn mã khó hiểu này, tôi sẽ tìm hiểu sâu hơn về mã và cách chỉnh sửa nó để cá nhân hóa nó.

Danh sách bộ phận cơ bản sẽ được chia thành các phần: Công cụ, bộ phận lắp ráp và thành phần

Các công cụ mà bạn cần sẽ bao gồm:

- Máy khoan

- Sắt hàn

- Trình điều khiển vít (khớp với các vít bạn quyết định sử dụng)

- Nhiều mét

- máy cưa vòng, máy cưa vòng, hoặc máy cắt laser là bạn có quyền truy cập vào một

- Máy cắt dây hoặc kéo

- Súng bắn keo

Các bộ phận bạn cần để lắp ráp sẽ bao gồm

- Keo dán gỗ

- 10 khối gỗ một inch x một inch

- tấm gỗ lớn hoặc gỗ ply 1/4 inch tùy chọn

- 24 con vít dài nửa inch

- 14 x 6,5 inch nhựa khuếch tán đèn led (tùy chọn)

- băng dính điện màu đỏ và xanh

Các thành phần mà bạn sẽ yêu cầu là:

- 2 chiết áp 100k ohm

- 8 mét dải đèn Led có thể định địa chỉ riêng (30 đèn LED trên mỗi mét)

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

- vài mét dây hoặc nhiều màu dây

- bộ chuyển đổi nguồn ac sang dc đầu ra 6v thông qua phích cắm giắc cắm thùng

- 1 arduino Uno R3

nếu bạn không có quyền truy cập vào Arduino Uno R3 giống như tôi, bạn có thể tạo một cái giống như cái tôi sẽ sử dụng trong dự án này sử dụng bộ xử lý atmel328-pu. Theo liên kết này để tìm hiểu cách xây dựng https://www.instructables.com/id/How-to-make-your-own-Arduino-board/ của riêng bạn

Nếu bạn đang sử dụng arduino thì hãy tiếp tục bước một.

Bước 1: Xây dựng mảng LED

Xây dựng mảng LED
Xây dựng mảng LED
Xây dựng mảng LED
Xây dựng mảng LED
Xây dựng mảng LED
Xây dựng mảng LED

Bước này là bước đơn giản nhất tốn thời gian do bạn phải thực hiện tất cả các công đoạn hàn.

-để bắt đầu, bạn sẽ cần một mảnh gỗ 10 3/4 inch x 6 1/2 inch.

- chỉ cần bạn có mảnh gỗ của mình, lấy dải Led của bạn và cắt 26 đoạn mỗi 10 led hoặc mỗi 6 1/2 inch.

-sau khi cắt các đoạn keo chúng xuống gỗ của bạn theo chiều dọc như hiển thị trong các hình sau được hiển thị trong hình đầu tiên ở trên.

- chỉ cần bạn đã dán các dải xuống và để chúng lắng xuống, chúng tôi sẽ bắt đầu hàn.

-bạn sẽ cần ba dây màu khác nhau

-nó nên được đấu dây với tất cả các cực kết nối với một dây và tất cả các cực kết nối với một dây trong khi dây cuối cùng sẽ gắn chặt các dải led lại với nhau. Hình ảnh thứ hai ở đầu bước này là một sơ đồ sẽ chỉ cho bạn cách kết nối các dây.

-Cuối cùng sau khi hàn xong bạn chỉ cần quấn một dải điện trên các mối hàn của mình với các màu tương ứng. như thể hiện trong hình thứ ba ở trên.

- cuối cùng chúng ta sẽ kết nối với Arduino. đầu vào kỹ thuật số của bạn hoặc dây giữa của bạn sẽ kết nối với đầu vào kỹ thuật số 6 chân của bạn và đất và dương của bạn sẽ kết nối với các đường ray âm và dương trên bảng.

Bước 2: Điều khiển mái chèo

Điều khiển mái chèo
Điều khiển mái chèo
Điều khiển mái chèo
Điều khiển mái chèo
Điều khiển mái chèo
Điều khiển mái chèo

Đối với bước rất đơn giản này, tất cả những gì bạn sẽ phải làm là hàn ba dây vào mỗi chiết áp. nếu bạn giữ chiết áp với các điểm hàn đối diện với bạn, ngạnh bên trái sẽ là dương, ngạnh trung tâm được đầu ra và ngạnh bên phải sẽ được nối đất. như thể hiện trong sơ đồ trên

khi bạn đã hàn các dây trên, chúng tôi sẽ kết nối chúng với Arduino. bạn có thể và tiêu cực sẽ kết nối với mưa tích cực và tiêu cực tương ứng. bạn đầu ra dây trên chiết áp sẽ kết nối với các đầu vào khác nhau trên arduino. một cái sẽ kết nối với phích cắm (A0) và cái kia sẽ kết nối với phích cắm (A1).

Bước 3: Cắt vỏ

Cắt vỏ
Cắt vỏ
Cắt vỏ
Cắt vỏ
Cắt vỏ
Cắt vỏ
Cắt vỏ
Cắt vỏ

phần này sẽ cung cấp cho bạn các kích thước và góc độ về những gì bạn sẽ cần cắt

**** rất quan trọng ***** hãy đảm bảo rằng gỗ của bạn dày một phần tư inch (1/4 inch)

Ngoài ra, khi cắt các bộ phận ra, hãy nhớ ghi nhãn các bộ phận của bạn

phần cơ bản cần cắt sẽ có nhãn bottom, back, top, front top, front bottom…. được hiển thị trong các hình ảnh ở đầu

kích thước bộ phận

- Đáy: 13 3/4 inch X 10 1/4 inch

- Mặt sau: 13 3/4 inch X 15 1/2 inch

- Trên cùng: 13 3/4 inch X 6 1/2 inch

- Đáy trước: 13 3/4 inch X 4 1/4 inch

- Bảng quay số: 13 3/4 inch X 6 inch

- Phía trên bên trong: 13 3/4 inch X 3 1/4 inch

- Mặt sau LED: 6 1/4 inch X 1 inch (cắt hai trong số này)

- Đáy bên trong LED: 13 1/4 inch X 4 1/2 inch

- bảng điều khiển LED phía sau bên trong: 13 1/4 inch X 9 inch

- Khối: 1 inch X 1 inch X 1 inch (cắt 10 khối)

- Bảng điều khiển acrylic: 13 3/4 inch X 6 1/2 inch

Những hình ảnh trên sẽ cho bạn thấy các góc và kích thước của phần bảng điều khiển bên. Ngoài ra, bạn sẽ cần phải cắt hai phần này

Bước 4: Hợp đồng hồ sơ

Hợp đồng hồ sơ
Hợp đồng hồ sơ
Hợp đồng hồ sơ
Hợp đồng hồ sơ
Hợp đồng hồ sơ
Hợp đồng hồ sơ

Đến thời điểm này trong các hướng dẫn này, bạn đã gần hoàn thành toàn bộ. đặt suy nghĩ của bạn có thể là tôi có tất cả các bộ phận này và cắt bỏ những gì tôi phải làm với chúng. Bước cuối cùng này sẽ hướng dẫn bạn cách lắp ráp trường hợp của bạn.

-Điều đầu tiên chúng ta sẽ bắt đầu lắp ráp vỏ máy. đây là nơi mà tất cả những gì bạn đã cắt gỗ từ bước trước trở nên hữu ích.

-Để bắt đầu lắp ráp, chúng ta sẽ cần 4 trong số các khối gỗ 1x1x1 làm đế, hai tấm bên, mặt sau và mặt trước. đặt 4 khối ở mỗi góc của đáy và để lại một phần tư inch giữa cạnh và khối như thể hiện trong hình thứ hai ở vị trí cầu xin của bước.

-Tiếp theo, bạn sẽ cần phải khoan một số lỗ thí điểm xuyên qua gỗ và các khối. một khi bạn đã thực hiện xong cái vít đó rồi đến phần dưới cùng.

-Tiếp theo chúng ta sẽ đặt các tấm bên. Đặt các tấm trên khoảng trống một phần tư inch ở phía ngoài của khối. khoan một lỗ thí điểm qua tấm bên và khối gỗ và vặn các tấm vào. lặp lại cho mặt còn lại.

-Sau khi hoàn thành các tấm bên. chúng tôi sẽ đặt bảng điều khiển phía dưới phía trước. đặt bảng điều khiển bằng phẳng với đáy và các bên khoan các lỗ thí điểm vào các khối và vặn bảng điều khiển vào.

-Cuối cùng, chúng tôi sẽ đưa ra mặt sau. làm tương tự như bạn đã làm với bảng điều khiển phía dưới phía trước và vặn bạn lại.

- Đến điểm này, bạn đã có một nền tảng để xây dựng và hiểu biết về cách chúng tôi lắp ráp trường hợp này.

- Phần tiếp theo này khó hơn một chút do bạn làm việc với diện tích nhỏ hơn. để bắt đầu, chúng ta sẽ cần tất cả các phần trên cùng và 6 khối.

- Đặt những gì bạn đã xây dựng cho đến nay trên lưng của nó và đặt các khối ở các góc một phần tư inch từ trên cùng. (như trong hình thứ ba ở đầu)

-xung các lỗ thí điểm cho các bên và phía sau và vặn chúng vào.

- bây giờ chúng tôi sẽ lắp ráp phần còn lại của đầu

-lấy bảng điều khiển trên cùng của bạn và đặt nó trên các khối, khoan các lỗ thí điểm và bắt vít phần trên vào. Sau khi bạn tiếng Phần Lan lật ngược bộ phận lắp ráp của bạn *** cẩn thận *** và đặt một khối ở mỗi góc song song với cạnh. khoan lỗ thí điểm từ các tấm bên và bắt vít chúng vào khối. xoay thùng máy trở lại thẳng đứng và khoan các lỗ thí điểm xuyên qua đỉnh vào các khối và vặn nó vào.

- phần tổ này hơi lắt léo. bạn sẽ cần bạn bảng điều khiển phía trên cùng và hai khối cuối cùng của bạn. trước tiên hãy khoan một lỗ thí điểm vào các khối trước đó thông qua bảng điều khiển phía trước trên cùng của bạn và bắt vít vào. Bây giờ bạn lấy hai khối cuối cùng và đặt chúng vào bên trong ở góc và vặn bảng điều khiển bên và bảng điều khiển phía trên của bạn vào các khối. một lần nữa lật ngược vỏ máy và đặt bảng điều khiển phía trên bên trong lên khối và vặn nó vào.

-bạn nên để lại một cái gì đó như thế này (hiển thị trong hình ảnh đầu tiên của bước này)

bước tiếp theo sẽ giải thích phần còn lại của lắp ráp.

Bước 5: Kết thúc hội

Kết thúc hội
Kết thúc hội
Kết thúc hội
Kết thúc hội
Kết thúc hội
Kết thúc hội

Đến thời điểm này, bạn đã gần hoàn thành thùng máy và việc xây dựng chỉ cần một số thứ cần đặt vào vị trí và bạn sẽ hoàn thành.

Bây giờ tất cả những gì còn lại là cài đặt các thiết bị điện tử.

-Chúng tôi sẽ bắt đầu bằng cách khoan lỗ vào bảng điều khiển quay số cho chiết áp của bạn. Hãy khoan những lỗ mà bạn cảm thấy thoải mái. trong trường hợp của tôi, tôi đã đặt các lỗ cách đáy 2 1/2 inch và cách cạnh bên 3 1/2 inch cho cả hai chiết áp.

-Khi bạn đã khoan lỗ, chúng tôi sẽ đưa bảng điều khiển này lên vỏ máy. nhưng thay vì vặn nó vào, chúng tôi sẽ dán nó chỉ cần đặt một lượng lớn keo sẽ dọc theo cạnh vỏ và đặt bảng điều khiển lên và giữ nó bằng một số kẹp hoặc vật gì đó nặng.

-Sau khi keo khô xong chúng ta sẽ tiến hành lắp các bộ phận điện tử vào. Nhưng trước tiên, chúng tôi sẽ phải loại bỏ bảng điều khiển phía sau.

-Khi mặt sau bị tắt, tôi khuyên bạn nên đặt vỏ máy xuống phía trước để dễ đặt đèn LED và các thành phần khác bên trong hơn.

-Bây giờ bạn đã có mặt sau, chúng tôi sẽ đặt chiết áp vào bên trong vỏ máy bằng cách chỉ cần đưa chúng qua các lỗ mà chúng tôi vừa khoan và cho một lượng keo nóng vào.

*** Cẩn trọng *** - Cực kỳ cẩn thận khi đặt mảng LED vào vì các điểm hàn có thể dễ vỡ.

-Bây giờ chúng ta đã đi đến phần quan trọng nhất, đó là đặt mảng led. chỉ cần đặt bảng vào như trong hình thứ hai.

- Sau khi lấy bảng điều khiển bên trong đèn LED của bạn và đặt nó vào bên trong hộp ngay bên dưới bảng điều khiển phía sau dãy đèn LED. mảnh này có thể cho tôi một sự phù hợp chặt chẽ. cũng để khô trước khi tiếp tục.

-Bạn đã đến được phần cuối cùng. tôi khuyên bạn nên sơn một mặt của phần cuối cùng này (Mặt sau LED bên trong) màu đen hoặc trắng để tạo sự tương phản giữa các đèn LED và phần này.

-Chúng tôi sẽ biết đặt cái này ngay sau tấm nền LED và ấn nhẹ vào mặt sau của các đèn LED để giữ cho chúng không di chuyển. sau khi đặt vào, hãy bôi keo dọc theo cạnh để ngăn nó di chuyển. hiển thị trong hình thứ ba.

**** chúc mừng bạn đã lắp ráp xong toàn bộ !!!

tiếp tục đến bước cuối cùng để viết mã trò chơi

Bước 6: Mã

Một lần nữa xin chúc mừng vì đã làm được điều này.

trong phần này tôi sẽ chỉ cho bạn mã và cách làm cho nó hoạt động ngoài những thứ trong mã bạn có thể thay đổi và cá nhân hóa nó.

nhưng trước khi chúng tôi đi sâu vào điều đó, bạn sẽ cần (adafruit_NeoPixel-master) mà tôi cũng đã liên kết tải xuống.

để cài đặt chủ, hãy mở chương trình arduino của bạn

1. đi phác thảo

2. mở bao gồm thư viện

3. nhấp vào (thư viện add.zip)

4. chọn tệp (adafruit_NeoPixel-master) và bạn đã hoàn thành

bên dưới này tôi đã dán mã cho trò chơi.

#bao gồm

#bao gồm

quả cầu dài = 12;

bóng dàiYabs = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

chỉ mục int;

int fps = 50;

int paddlewidth = 3;

int paddlemax = 9 - paddlewidth + 1;

int númseg = 1023 / (paddlemax);

int paddle1 = 4;

int paddle2 = 4;

#define NUMPIXELS 260

#define mã PIN 6

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

void setup () {

pixel.begin ();

Serial.begin (9600);

}

void loop () {

clearScreen ();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixel.show ();

dò tìm ();

độ trễ (khung hình / giây);

}

void clearScreen () {

for (int i = 0; i <NUMPIXELS; i ++) {

pixel.setPixelColor (i, pixel. Color (0, 0, 0));

}

}

void updateBall () {

ballXabs + = ballvelX;

ballYabs + = ballvelY;

}

void phát hiệnCollision () {

Serial.print (ballYabs);

Serial.print ("");

Serial.println (paddle1);

if (ballvelX> 0 && ballXabs> = 25) {// va chạm vào tường bên phải

Serial.println ("CollisionX");

điểm1 (); // ballvelX * = - 1;

}

if (ballvelX <0 && ballXabs <= 0) {// va chạm vào tường bên trái

Serial.println ("CollisionX");

điểm2 (); // ballvelX * = - 1;

}

if (ballvelY> 0 && ballYabs> = 9) {// va chạm vào tường trên cùng

Serial.println ("CollisionY"); viên đạnY * = -1;

}

if (ballvelY <0 && ballYabs <= 0) {// va chạm thành đáy

Serial.println ("CollisionY");

viên đạnY * = -1;

}

// phát hiện xung đột paddle 2

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

{// va chạm vào tường bên phải

Serial.println ("CollisionPaddle");

ballvelX * = -1;

}

// phát hiện xung đột paddle 1

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

{// va chạm vào tường bên phải

Serial.println ("CollisionPaddle");

ballvelX * = -1;

}

}

void updatePaddle1 () {

int núm = analogRead (A0);

paddle1 = núm tròn ((dài) / (dài) númseg);

}

void updatePaddle2 () {

int núm2 = analogRead (A1);

paddle2 = núm tròn ((dài)2 / (dài) númseg);

}

void displayBall () {

ballX = round (ballXabs);

ballY = round (ballYabs);

if (ballX% 2! = 0) {

chỉ số = (9 - ballY) + 10 * ballX;

if (ballX! = 0) {

pixel.setPixelColor (ballY + 10 * (ballX - 1), pixel. Color (30, 0, 0)); // bên trái của màu bóng

}

if (ballX! = 25) {pixel.setPixelColor (ballY + 10 * (ballX + 1), pixel. Color (30, 0, 0)); // bên phải của màu bóng

}

if (ballY! = 9) {pixel.setPixelColor (index - 1, pixel. Color (30, 0, 0)); // mặt dưới của màu bóng

}

if (ballY! = 0) {pixel.setPixelColor (index + 1, pixel. Color (30, 0, 0)); // mặt trên của màu bóng

}

}

khác {

chỉ số = ballY + 10 * ballX; if (ballX! = 0) {

pixel.setPixelColor ((9 - ballY) + 10 * (ballX - 1), pixel. Color (30, 0, 0)); // bên trái của hàng chẵn bóng

}

if (ballX! = 25) {

pixel.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixel. Color (30, 0, 0)); // bên phải của hàng chẵn bóng

}

if (ballY! = 9) {

pixel.setPixelColor (index + 1, pixel. Color (30, 0, 0)); // các cạnh dưới cùng của hàng chẵn bóng

}

if (ballY! = 0) {pixel.setPixelColor (index - 1, pixel. Color (30, 0, 0)); // các mặt trên cùng của hàng chẵn bóng

}

}

pixel.setPixelColor (chỉ mục, pixel. Color (255, 0, 0)); /// trung tâm của màu bóng

}

void displayPaddle1 () {

for (int i = 0; i <paddlewidth; i ++) {pixel.setPixelColor (paddle1 + i, pixel. Color (0, 0, 255));

}

}

void displayPaddle2 () {

for (int i = 0; i <paddlewidth; i ++) {pixel.setPixelColor (NUMPIXELS - 1 - paddle2 - i, pixel. Color (0, 0, 255));

}

}

void score1 () {

resetBall (0);

}

void score2 () {

resetBall (1);

}

void resetBall (int player) {

chậm trễ (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = người chơi? 1: -1;

viên đạnY = 1;

clearScreen ();

chậm trễ (1000);

displayBall ();

pixel.show ();

chậm trễ (1000);

displayPaddle1 ();

displayPaddle2 (); pixel.show (); chậm trễ (2000); }

Bước 7: Hoàn thiện

Kết thúc
Kết thúc

Khi bạn đã tải lên mã, hãy khoan một lỗ trên bảng điều khiển phía sau đủ lớn cho bộ chuyển đổi nguồn giắc cắm thùng của bạn. cắm nó vào arduino và cuối cùng lắp ráp lại mặt sau.

Tôi cũng đưa vào danh sách bộ phận acrylic khuếch tán đèn LED, bây giờ bạn có thể đặt nó lên trên đèn LED và dán nó xuống

Sau khi hoàn thành việc này, bạn đã sẵn sàng chơi và tận hưởng những giờ chơi game cạnh tranh với gia đình và bạn bè.

Cuối cùng, tôi muốn chúc mừng bạn đã hoàn thành dự án.

Nếu bạn có bất kỳ vấn đề nào, hãy liên hệ với tôi tại đây và tôi rất muốn giúp giải quyết vấn đề.

Đề xuất: