Mục lục:

Bảng điều khiển Arduino Pong cầm tay: 6 bước (có hình ảnh)
Bảng điều khiển Arduino Pong cầm tay: 6 bước (có hình ảnh)

Video: Bảng điều khiển Arduino Pong cầm tay: 6 bước (có hình ảnh)

Video: Bảng điều khiển Arduino Pong cầm tay: 6 bước (có hình ảnh)
Video: Học lập trình Arduino KHÔNG HỀ KHÓ - Bộ KIT học tập Arduino Uno R3 BLK 2024, Tháng sáu
Anonim
Bảng điều khiển Arduino Pong cầm tay
Bảng điều khiển Arduino Pong cầm tay

DFRobot đã liên hệ với tôi gần đây, muốn tôi sử dụng bảng Arduino Nano và OLED đặc biệt của họ. Lúc đầu, tôi muốn tạo ra một chiếc xe đạp thông minh và tôi đã chế tạo nó toàn bộ. Nhưng tiếc là Nano quá yếu để có thể chạy và lưu trữ bản phác thảo lớn cần thiết. Vì vậy, tôi quyết định xem lại một trong những dự án trước đây của mình, ma trận Neopixel chạy trò chơi Pong. Thay vào đó, tôi muốn làm cho nó di động và OLED 1,7 inch sẽ tạo ra một màn hình hoàn hảo.

Danh sách các bộ phận:

  • Arduino nano
  • OLED
  • Loa

Bước 1: Video

Image
Image

Bước 2: Thiết kế trò chơi

Thiết kế trò chơi
Thiết kế trò chơi

Đối với trò chơi Pong này, tôi muốn giữ nó tương đối đơn giản, có nghĩa là không có máy tính điều khiển mái chèo hoặc các thuật toán phản xạ bóng. Về cơ bản, có một mái chèo duy nhất mà người dùng có thể di chuyển lên hoặc xuống và làm cho quả bóng va chạm với mái chèo sẽ khiến vectơ trục x của nó bị lật. Mỗi khi quả bóng được đánh sẽ có một âm thanh phát ra. Khi thiết bị trò chơi được bật nguồn, một màn hình xuất hiện với tên trò chơi và hướng dẫn. Ngoài ra, mẹ tôi đã tạo một bài hát chủ đề nhỏ chạy trong nền cho đến khi nhấn nút trên cùng.

Bước 3: Thiết kế Thiết bị Trò chơi

Thiết kế Thiết bị Trò chơi
Thiết kế Thiết bị Trò chơi
Thiết kế Thiết bị Trò chơi
Thiết kế Thiết bị Trò chơi
Thiết kế Thiết bị Trò chơi
Thiết kế Thiết bị Trò chơi
Thiết kế Thiết bị Trò chơi
Thiết kế Thiết bị Trò chơi

Chương trình CAD mà tôi sử dụng là Fusion 360, vì vậy tôi quyết định sử dụng nó để thiết kế thiết bị chơi game pong của mình. Tôi bắt đầu thiết kế từng thành phần được sử dụng: OLED, Arduino Nano và loa. Bằng cách này, tôi có thể thấy chính xác vị trí và cách mỗi thành phần sẽ phù hợp với bên trong của vỏ máy. Sau đó, tôi đặt Nano và PCB ở phần sau của vỏ máy và đặt màn hình OLED lên trên. Tiếp theo là câu hỏi đặt loa và các nút ở đâu. Tôi quyết định rằng loa 3W có thể đi ngay dưới màn hình (nhìn từ trên xuống) và điều đó cũng yêu cầu đặt một "vỉ nướng" trên loa để âm thanh không bị bóp nghẹt. Cuối cùng, tôi đã thêm hai nút ở phía bên trái để thêm điều khiển.

Bước 4: Xây dựng thiết bị

Cấu tạo thiết bị
Cấu tạo thiết bị
Cấu tạo thiết bị
Cấu tạo thiết bị
Cấu tạo thiết bị
Cấu tạo thiết bị

Tôi bắt đầu bằng cách in 3D từng phần, bao gồm nửa dưới, nửa trên và 2 nút. Tiếp theo, tôi hàn một tiêu đề nữ vào 4x6cm và kết nối nó với Nano. Điều này không chỉ cho phép dễ dàng tháo OLED ra mà còn nâng nó lên trên Arduino Nano. Kiểm tra sơ đồ để biết thông tin về hệ thống dây điện. Sau đó, tôi kết nối hai nút, cùng với một bảng ngắt micro USB đơn giản để cấp nguồn. Loa cũng đã được gắn vào và đặt đúng vị trí của nó. Thiết kế Fusion 360 của tôi cho phép các vít máy 3mm để giữ màn hình OLED, loa và kết nối hai nửa của thiết bị. Nhưng, tôi phải làm cho chúng chính xác, vì vậy tôi đã sử dụng máy khoan bấm của mình để khoan 8 lỗ: 2 cho loa, 2 cho màn hình và 4 bên dưới. Bạn có thể truy cập liên kết Thingiverse để biết các tệp.

Bước 5: Lập trình trò chơi

Việc sử dụng một giao diện đơn giản là rất quan trọng để giữ cho chương trình nhỏ gọn. Tôi bắt đầu bằng cách thêm một số thư viện: Adafruit_GFX, Adafruit_SSD1351 và thư viện Bộ hẹn giờ Arduino. Tiếp theo, tôi xác định các chân và màu sắc của mình, chẳng hạn như các chân của OLED và định nghĩa màu 16 bit. Trong mã của tôi cũng có 4 cách để thay đổi cách chơi của trò chơi, chẳng hạn như thay đổi kích thước mái chèo và tốc độ di chuyển của quả bóng. Sau đó, một phần tồn tại nơi mỗi biến được xác định, bao gồm điểm và các tọa độ khác nhau. Bất cứ khi nào thiết bị được cấp nguồn bằng hình ảnh một quả bóng và một số văn bản xuất hiện trên màn hình, cùng với một bài hát chủ đề nhỏ được xác định trước đó trong mã. Sau khi trận đấu bắt đầu, hai bộ hẹn giờ được tạo, một bộ đếm thời gian cập nhật mái chèo và bộ bấm giờ kia cập nhật quả bóng. Mỗi lần vị trí của quả bóng cập nhật tọa độ của nó sẽ được kiểm tra để đảm bảo nó không đi qua đường viền màn hình hoặc nếu nó chạm vào mái chèo. Mỗi lần nó trả lại, trục x hoặc y của nó sẽ bị đảo ngược và một âm báo nhỏ sẽ phát ra. Xem video ở đầu phần ghi này để biết cách chơi của trò chơi.

Bước 6: Chơi Pong

Chơi Pong!
Chơi Pong!
Chơi Pong!
Chơi Pong!
Chơi Pong!
Chơi Pong!
Chơi Pong!
Chơi Pong!

Tên của trò chơi là đạt điểm thấp nhất có thể. Không có giới hạn thời gian, vì vậy nó rất thú vị và thậm chí gây mê. Tất cả những gì cần thiết là nhấn một trong hai nút để di chuyển mái chèo lên hoặc xuống. Cũng có thể thêm một cách để lưu trữ điểm số cao nhất bằng cách sử dụng EEPROM của Arduino.

Đề xuất: