Arduino rất phổ biến để xây dựng các dự án và trò chơi theo sở thích và trước đây chúng tôi đã sử dụng Arduino để xây dựng trò chơi Rắn săn mồi, trò chơi Ping pong, trò chơi cuộc đua không gian, v.v. Hôm nay chúng tôi đang xây dựng một trò chơi phổ biến hơn bằng cách sử dụng trò chơi dây Arduino- Buzz hoặc trò chơi Steady hand.
Đối với dự án này, chúng tôi sẽ sử dụng Arduino Uno, Buzzer và hai dây nhôm. Một màn hình LCD 16x2 cũng được giao diện để hiển thị trạng thái trò chơi. Cả hai đầu của dây mê cung sẽ được kết nối với chân số 2 & 3 của Arduino, và dây tay cầm được kết nối với chân Đất của Arduino. Các chân kỹ thuật số được định nghĩa là chân INPUT_PULLUP. Vì vậy, khi dây tay cầm chạm vào dây mê cung, nó sẽ thay đổi trạng thái chân kỹ thuật số thành mức thấp và còi tạo ra âm thanh.
Một diode được kết nối ở cuối của dây mê cung, vì vậy khi bạn đi qua điốt đó và chạm vào dây mê cung có dây tay cầm tròn, chỉ một chân (Pin 3) sẽ đi xuống mức thấp. Trong điều kiện đó, văn bản chúc mừng (Làm tốt) sẽ được hiển thị trên màn hình LCD.
Thành phần bắt buộc
- Arduino Uno
- Dây nhôm
- LCD 16x2
- Mô-đun I 2 C
- Breadboard
- Buzzer
- Diode
Sơ đồ mạch
Sơ đồ mạch cho Trò chơi Arduino Buzz Wire được đưa ra ở trên. Các chân SCL và SDA của mô-đun I2C được kết nối với các chân A5 và A4 của Arduino trong khi chân V CC và GND của mô-đun I2C được kết nối với chân 5V và GND của Arduino. Đường ray dương của Buzzer được kết nối với chân số 4 của Arduino và đường ray âm được kết nối với GND. Cắt một sợi dây nhôm và uốn theo hình Zig-Zag. Hàn một điốt vào một đầu của dây. Sau đó cắt một sợi dây khác để làm tay cầm và uốn cong một đầu thành vòng dây.
Màn hình LCD 16x2 cũng có thể được giao tiếp với Arduino mà không cần sử dụng mô-đun I2C.
Kết nối chân D2 & D3 của Arduino với cả hai đầu của dây Zig-Zag và kết nối dây tay cầm với chân GND của Arduino.
Giải thích mã
Mã hoàn chỉnh cho Trò chơi Arduino Buzz Wire này được đưa ra ở cuối tài liệu.
Bắt đầu mã của bạn bằng cách bao gồm tệp thư viện cho mô-đun LCD. Thư viện LiquidCrystal_I2C.h được sử dụng để giao tiếp I2C giữa các mô-đun Arduino và LCD.
#include
Sau đó, xác định các chân Arduino cho bộ rung, điểm bắt đầu của dây và điểm cuối của dây.
const int startPin = 2; const int endPin = 3; const int buzzer = 4;
Sau đó, xác định hai biến start & end_. Các biến này sẽ được sử dụng để lưu các giá trị đọc của dây.
int bắt đầu, end_;
Bây giờ xác định chân buzzer là đầu ra và chân dây là INPUT_PULLUP . Arduino có các điện trở kéo lên bên trong với giá trị khoảng 20k ohm. Các điện trở này có thể được kết nối nội bộ bằng INPUT_PULLUP . Việc xác định INPUT_PULLUP về mặt chức năng giống như việc kết nối điện trở ~ 20k ohm giữa chân và + 5V.
pinMode (buzzer, OUTPUT); pinMode (startPin, INPUT_PULLUP); pinMode (startPin, INPUT_PULLUP);
Bên trong vòng lặp void, đọc trạng thái của các chân dây.
start = digitalRead (startPin); end_ = digitalRead (endPin);
Bây giờ so sánh các số đọc của các chân dây. Nếu cả hai chân đều ở mức thấp, điều đó có nghĩa là bạn đã chạm vào dây nên buzzer sẽ phát ra âm thanh, và nếu chân bắt đầu của dây cao và chốt cuối thấp có nghĩa là bạn đã đạt đến điểm cuối.
if (start == LOW && end _ == LOW) {digitalWrite (buzzer, HIGH); chậm trễ (1000); digitalWrite (buzzer, LOW); lcd.setCursor (0,0); lcd.print ("Thử lại"); Serial.print ("Thử lại"); } else if (start == HIGH && end _ == LOW) {lcd.setCursor (0,0); lcd.print ("Hoàn thành tốt"); Serial.print ("Hoàn thành tốt"); }
Thử nghiệm trò chơi Buzz Wire
Sau khi kết nối phần cứng và tải lên mã đã cho, bạn có thể bắt đầu chơi trò chơi. Vì vậy, hãy cầm dây có hình tròn trong tay và cố gắng luồn dây có hình tròn tới tận diode được hàn bằng dây zig-zag mà không để dây tròn chạm vào bất cứ đâu. Nếu bạn chạm vào dây, còi sẽ phát ra âm thanh và màn hình LCD sẽ hiển thị “ Thử lại ”. Và nếu bạn hoàn thành trò chơi mà không chạm vào dây, thì nó sẽ hiển thị “ Tốt lắm ”.
Đây là cách bạn có thể Tạo một trò chơi Buzz Wire với Arduino. Dưới đây là một video hoạt động và mã hoàn chỉnh.