Mục lục:

Pong Tennis Với Ma trận LED, Arduino và Cần điều khiển: 5 bước (có Hình ảnh)
Pong Tennis Với Ma trận LED, Arduino và Cần điều khiển: 5 bước (có Hình ảnh)

Video: Pong Tennis Với Ma trận LED, Arduino và Cần điều khiển: 5 bước (có Hình ảnh)

Video: Pong Tennis Với Ma trận LED, Arduino và Cần điều khiển: 5 bước (có Hình ảnh)
Video: Tự học Arduino bài 4: Điều khiển LED Matrix 2024, Tháng mười một
Anonim
Pong Tennis Với Ma trận LED, Arduino và Cần điều khiển
Pong Tennis Với Ma trận LED, Arduino và Cần điều khiển

Dự án này dành cho người mới bắt đầu cũng như những người mày mò có kinh nghiệm. Ở cấp độ cơ bản, nó có thể được thực hiện với breadboard, dây jumper và được gắn vào một mảnh vật liệu phế liệu (tôi đã sử dụng gỗ) bằng Blu-Tack và không có hàn. Tuy nhiên, ở cấp độ cao cấp hơn, nó có thể được hàn vào bo mạch hoàn thiện hoặc PCB tùy chỉnh.

Vì đây là một dự án bị khóa nên tôi không có quyền truy cập vào bất kỳ công cụ hoặc vật liệu nào, do đó tại sao nó bị mắc kẹt vào một mảnh gỗ phế liệu hơi quá nhỏ với Blu-Tack, tuy nhiên, mặc dù đây là một dự án thú vị kết hợp với nhau nhanh chóng và được tạo thành từ các bộ phận thường có sẵn có thể tìm thấy trực tuyến với giá rẻ.

Bước 1: Các bộ phận

Để thực hiện trò chơi Pong bạn cần;

  • 1x Một Arduino (bất kỳ loại nào sẽ hoạt động)
  • Ma trận LED 4x MAX7219 8x8
  • 2x Cần điều khiển
  • 1x Piezo Buzzer (Tùy chọn)
  • 15x Dây nhảy nữ-Nữ (3 nhóm 5 người)
  • 15x Dây nhảy Nam-Nữ (3 nhóm 5 người)
  • 18x dây nhảy nam-nam
  • 1x Breadboard
  • 1x Điện trở 220Ω

Thay vì sử dụng bảng Arduino Uno hoặc Nano, bạn có thể sử dụng Arduino dựa trên bảng mạch chính;

  • 1x ATmega328p 28pin IC
  • Bộ dao động tinh thể 1x 16kHz
  • 2x tụ điện gốm 22pF
  • 1x Bộ chuyển đổi USB FTDI UART
  • Tụ điện 1x 100uF
  • 1x Micro USB Breakout (Tùy chọn)

Công cụ;

  • PC với Arduino IDE (và Thư viện LedControl)
  • Cáp USB có liên quan cho Arduino của bạn
  • Power Bank để cung cấp năng lượng cho trò chơi từ máy tính của bạn

Bước 2: Đấu dây

Đấu dây
Đấu dây
Đấu dây
Đấu dây

Việc đấu dây rất đơn giản vì tất cả những gì bạn cần là dây jumper để kết nối các tiêu đề của Ma trận và Cần điều khiển với Arduino. Sự phức tạp duy nhất là nguồn điện vì Arduino Uno chỉ có 3 kết nối GND và một kết nối 5v. Đây là nơi mà breadboard đi vào và hoạt động như một đường ray phân phối điện cho tất cả các thành phần, Nếu bạn đang sử dụng NANO, breadboard sẽ phục vụ cùng một mục đích cũng như cho phép bạn cắm mọi thứ vào.

Đối với hệ thống dây điện, hãy làm theo các kết nối này.

  • Cần điều khiển trái - GND và 5v vào đường ray điện tương ứng của chúng. SW - chân 9, VRx - A0, VRy - A1.
  • Cần điều khiển bên phải - GND và 5v vào đường ray điện tương ứng của chúng. SW - chân 8, VRx - A2, VRy - A3.
  • Ma trận LED ngoài cùng bên phải - GND và 5v tới đường ray điện tương ứng của chúng. DIN - 13, CS - 11, CLK - 12. (Theo dòng 25)
  • Tất cả các Ma trận LED khác có thể được xâu chuỗi từ đầu ra của ma trận đầu tiên đi từ phải sang trái để mã hoạt động bình thường.
  • Bộ rung tùy chọn - Cực dương (+) thông qua điện trở giới hạn dòng điện 220Ω đến chân 10, Cực âm (-) - GND.

Bước 3: Đi dây thay thế

Hệ thống dây điện thay thế
Hệ thống dây điện thay thế
Hệ thống dây điện thay thế
Hệ thống dây điện thay thế
Hệ thống dây điện thay thế
Hệ thống dây điện thay thế

Sau khi đấu dây nó với Arduino UNO để tiết kiệm không gian, tôi quyết định đặt IC Arduino từ UNO trên bảng mạch với Bộ dao động tinh thể 16Mhz và một cặp tụ điện 22pF từ mỗi bên xuống đất. Tôi cảm thấy đây là một sửa đổi đáng giá vì nó làm cho dự án trông gọn gàng hơn và hoàn thiện hơn tuy nhiên bạn phải sử dụng bộ lập trình USB FTDI để cập nhật chương trình.

Bước 4: Mã + Giải thích

Để tải mã lên Arduino, hãy tải thư viện LedControl từ GitHub tại đây, github.com/wayoda/LedControl và thêm tệp Zip hoặc thêm tệp đó thông qua Trình quản lý thư viện trong IDE. Sau đó, mở bản phác thảo đính kèm, chọn Arduino của bạn trong cài đặt bảng và cổng trong công cụ và tải nó lên arduino.

Giải trình

Dòng 1: Thêm thư viện

Dòng 5-23: Thiết lập tất cả các biến, hằng số và số pin.

Dòng 25: Thiết lập LED Martix và đặt các chân điều khiển và số lượng hiển thị.

Dòng 27: Thiết lập chức năng Reset.

Dòng 30-35: Chức năng tắt máy để bật / tắt tất cả các màn hình cùng nhau.

Dòng 38-43: Chức năng SetIntensity để đặt độ sáng của tất cả các màn hình cùng nhau.

Dòng 46-51: Chức năng ClearAll để xóa tất cả các màn hình lại với nhau.

Dòng 53-64: cần điều khiển Chức năng lấy vị trí của các cần điều khiển, ánh xạ chúng đến 7 vị trí có thể đánh bóng của gậy và sau đó di chuyển gậy đến vị trí mới.

Dòng 67-435: Chức năng di chuyển bóng tới người chơi bên trái ở độ cao và tốc độ đã chỉ định, kiểm tra xem người chơi đã đánh nó hay chưa và tiếp tục và đặt trạng thái va chạm thành true hoặc trả bóng lại, thêm 1 vào điểm số và tăng tốc độ.

Dòng 438-811: Chức năng di chuyển bóng đến đúng người chơi ở độ cao và tốc độ đã chỉ định, kiểm tra xem người chơi đã đánh nó hay chưa và tiếp tục và đặt trạng thái va chạm thành true hoặc trả bóng lại, thêm 1 vào điểm số và tăng tốc độ.

Dòng 813-823: Chức năng hiển thị Mặt cười, Dấu chọn, Dấu thập hoặc Dấu hỏi cho màn hình được chỉ định (0 ở bên phải đến 3 ở bên trái).

Dòng 861-979: Chức năng hiển thị các số 0-9 lên màn hình xác định.

Dòng 981-1047: Chức năng hiển thị điểm cho từng người chơi bên màn hình.

Dòng 1049-1064: Chức năng kiểm tra xem đầu phát đã sẵn sàng chưa.

Dòng 1066-1076: Phần Cài đặt của mã cho mã được chạy một lần khi chương trình bắt đầu.

Dòng 1078-1136: Phần Vòng lặp chính cho logic trò chơi, nơi tất cả các chức năng được sử dụng và nơi quyết định ai thắng và sau đó nó khởi động lại chương trình sau 5 giây khi hiển thị điểm số.

Bước 5: Cảm ơn bạn đã đọc

Cảm ơn vì đã đọc
Cảm ơn vì đã đọc

Cảm ơn vì đã đọc Có thể hướng dẫn này. Nếu bạn thích nó, hãy bình chọn cho nó trong cuộc thi Arduino.

Đề xuất: