Mục lục:

Trò chơi phản ứng nhanh: Phiên bản khoảng cách: 5 bước (có hình ảnh)
Trò chơi phản ứng nhanh: Phiên bản khoảng cách: 5 bước (có hình ảnh)

Video: Trò chơi phản ứng nhanh: Phiên bản khoảng cách: 5 bước (có hình ảnh)

Video: Trò chơi phản ứng nhanh: Phiên bản khoảng cách: 5 bước (có hình ảnh)
Video: Xây dần ước mơ "Bảo Tàng Tiền Tệ" 🏛 2024, Tháng mười một
Anonim
Trò chơi phản ứng nhanh: Phiên bản khoảng cách
Trò chơi phản ứng nhanh: Phiên bản khoảng cách

Chào. Đây là tài liệu có thể hướng dẫn về cách tạo một trò chơi kiểm tra cả thời gian phản ứng và cảm giác về khoảng cách của bạn. Dự án này dựa trên một dự án cũ mà tôi đã thực hiện liên quan đến hai người chơi cạnh tranh để xem ai có thời gian phản ứng nhanh hơn bằng cách nhấp vào nút khi đèn chuyển sang màu xanh lục. Trò chơi này có mục đích tương tự, ngoại trừ nó là một người chơi và thay vì đèn tắt, người chơi được cung cấp một khung thời gian để đặt tay của họ cách xa cảm biến khoảng cách một khoảng nhất định.

Giống như tất cả các dự án Arduino, trò chơi này sẽ yêu cầu nhiều thành phần điện trong mạch Arduino. Các thành phần chính, ngoài hệ thống dây điện và chính Arduino, bao gồm bảng mạch, động cơ servo, màn hình LCD, đèn LED RGB và cảm biến khoảng cách.

Sử dụng https://abra-electronics.com, giá không bao gồm dây và Arduino là $ 32,12 CAD.

Bước 1: Bước 1: Cảm biến khoảng cách

Bước 1: Cảm biến khoảng cách
Bước 1: Cảm biến khoảng cách

Bước đầu tiên là thiết lập cảm biến khoảng cách siêu âm trên breadboard và kết nối nó với Arduino. Vị trí chính xác của cảm biến không thực sự quan trọng, nhưng lý tưởng nhất là nó gần với một cạnh để có chỗ cho các thành phần khác, như thể hiện trong hình trên. Có bốn chân trên cảm biến; GND, VCC, TRIG và ECHO. GND và VCC phải được nối lần lượt vào dây nối đất và đường dây nguồn, và đấu dây ở hai chân còn lại vào hai chân trên Arduino. Hai chân tôi sử dụng là 12 cho ECHO và 11 cho TRIG. Sử dụng hai dây khác để cấp nguồn cho thanh ray nguồn và nối đất cho thanh ray nối đất bằng cách kết nối thanh ray nguồn với chân 5V và đường sắt nối đất với chân GND.

Bước 2: Bước 2: Động cơ Servo

Bước 2: Động cơ Servo
Bước 2: Động cơ Servo

Bước tiếp theo là thiết lập động cơ servo. Trong dự án này, động cơ servo hoạt động như một bộ đếm thời gian. Nó sẽ bắt đầu ở 1 độ và trong khoảng thời gian mà người dùng phải giữ khoảng cách hai tay của họ, sẽ xoay 180 độ. Tôi đã sử dụng 2 giây khi người dùng phát hiện ra họ phải đặt tay khoảng cách bao xa, do đó, servo quay 179 độ trong khoảng thời gian 2 giây, quay trong những khoảng thời gian ngắn. Động cơ servo có ba dây; thường có màu vàng, đỏ và nâu. Cái màu đỏ đi vào thanh nguồn đã được đấu dây vào 5V và cái màu nâu đi vào thanh nối đất đã được đấu dây vào GND. Dây cuối cùng cắm vào chân Arduino. Tôi đã chọn pin số 9 cho cái này. Sau đó, bạn cần một tụ điện kết nối cùng một thanh ray có nguồn điện của động cơ servo và dây nối đất, như trong hình trên.

Bước 3: Bước 3: Đèn LED RGB

Bước 3: Đèn LED RGB
Bước 3: Đèn LED RGB

Chức năng của đèn LED trong này là hoạt động như một thang điểm cho điểm số. Khi điểm của người chơi xung quanh 0, đèn LED sẽ có màu trắng và sẽ chuyển sang màu đỏ nhiều hơn nếu điểm của người chơi giảm xuống và màu xanh lá cây nếu điểm của người chơi tăng lên. Đèn LED này có bốn chân; một chân đèn đỏ, một chân đèn xanh, một chân đèn lục và dùng chung cực âm giữa ba chân còn lại. Cực âm chung, chân dài nhất, mắc vào thanh ray điện để nó nhận 5 vôn. Gắn các điện trở 330 ohm vào ba chân màu khác và gắn các đầu còn lại của các điện trở đó vào các chân kỹ thuật số PWM trên Arduino. Những cái tôi đã sử dụng là chân kỹ thuật số 3, 5 và 6 cho các chân màu đỏ, xanh lá cây và xanh lam tương ứng.

Bước 4: Bước 4: LCD

Bước 4: LCD
Bước 4: LCD

Thành phần cuối cùng là màn hình LCD, viết tắt của màn hình tinh thể lỏng. Mục đích của việc này là cho người chơi biết điểm số hiện tại của họ cũng như khoảng cách họ cần đặt tay khỏi cảm biến. Có bốn chân ở đây; GND, VCC, SDA và SCL. GND và VCC sẽ được nối với đất và đường ray nguồn của bảng mạch tương ứng. Chân SDA phải được đấu vào chân analog A4 và chân SCL phải được nối vào chân analog A5. Không giống như các thành phần khác, bạn phải đấu dây các chân SDA và SCL vào A4 và A5.

Bước 5: Bước 5: Mã

Bây giờ chúng ta đã nối dây trong tất cả các thành phần, chúng ta có thể viết mã. Phần đầu tiên của mã là nhập các thư viện cần thiết và khai báo các biến của chúng ta và ghim các thành phần được nối vào. Chúng tôi cần nhập các thư viện Wire, LiquidCrystal_I2C và Servo cho mã này.

#bao gồm

#bao gồm

#bao gồm

Servo myServo;

int const trigPin = 11;

int const echoPin = 12;

int redPin = 3;

int greenPin = 5;

int bluePin = 6;

int điểm = 0;

int tim = 500;

int current = random (8, 16); // giá trị ngẫu nhiên trong đó người dùng phải đặt tay khỏi cảm biến

Màn hình LCD LiquidCrystal_I2C (0x27, 16, 2); // Thiết lập LCD

Bây giờ chúng ta cần sử dụng void setup () để khai báo các loại pin và thiết lập các thành phần cần thiết khác.

void setup () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); lcd.init (); LCD đèn nền(); lcd.begin (16, 2); lcd.clear (); // Thiết lập LCD}

Bây giờ chúng ta cần thiết lập mã LED RGB bằng cách sử dụng một hàm và PWM:

void setColor (int red, int green, int blue) {

red = 255 - đỏ;

green = 255 - xanh lục;

blue = 255 - xanh lam;

analogWrite (redPin, đỏ);

analogWrite (greenPin, xanh lục);

analogWrite (bluePin, xanh lam);

}

Bây giờ chúng ta cần thêm vòng lặp void (). Ở đây, chúng tôi sẽ tạo các số nguyên ngẫu nhiên và sử dụng một loạt các câu lệnh if để điều khiển trò chơi cho người chơi. Biến hiện tại, được thiết lập ở trên, là khoảng cách hiện tại mà người chơi phải tạo khoảng cách với cảm biến.

Vì mã trong vòng lặp void () rất dài, tôi sẽ dán một liên kết đến tài liệu có mã đó:

docs.google.com/document/d/1DufS0wuX0N6gpv…

Cuối cùng, chúng ta cần thực hiện các phép tính thực tế để chuyển đổi các giá trị của cảm biến khoảng cách siêu âm sang inch. Cảm biến khoảng cách siêu âm không trực tiếp đo khoảng cách; nó phát ra âm thanh và ghi lại thời gian cần thiết để cảm biến lấy lại âm thanh từ bất kỳ vật thể nào mà nó phát ra.

micro giây dàiToIffs (micro giây dài) {

trả về micro giây / 74/2;

}

Bây giờ chúng ta cắm Arduino có dây vào máy tính với mã, thiết lập các cổng và chạy nó! Có hai chế độ cho trò chơi này. Bạn chỉ có thể sử dụng màn hình LCD, động cơ servo, cảm biến và đèn LED RGB và bạn chỉ biết khoảng cách bạn phải đến từ cảm biến, đây là chế độ khó hơn. Chế độ dễ dàng hơn liên quan đến việc sử dụng màn hình nối tiếp trong Công cụ> Màn hình nối tiếp, sẽ cập nhật cho bạn mỗi giây về khoảng cách bạn còn cách cảm biến, vì vậy bạn có thể thực hiện các điều chỉnh cần thiết.

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

Đề xuất: