Mục lục:
- Bước 1: Kết nối các nút điều khiển với Arduino
- Bước 2: Mã hóa Arduino Leonardo:
- Bước 3:
- Bước 4:
- Bước 5:
- Bước 6:
- Bước 7:
- Bước 8: Chuyển động mã hóa trong thống nhất:
- Bước 9:
- Bước 10:
- Bước 11:
- Bước 12:
- Bước 13:
- Bước 14: Kết nối đèn với Arduino
- Bước 15: Mã hóa Arduino Uno
- Bước 16:
- Bước 17:
- Bước 18: Đèn mã hóa phía Unity:
- Bước 19:
- Bước 20:
- Bước 21:
- Bước 22:
- Bước 23:
- Bước 24:
Video: Bộ điều khiển trò chơi Arduino có đèn phản ứng với trò chơi thống nhất của bạn :: 24 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Trước hết, tôi đã viết điều này thành chữ. Đây là lần đầu tiên tôi sử dụng có thể hướng dẫn nên bất cứ khi nào tôi nói: hãy viết mã ra như vậy để biết rằng tôi đang đề cập đến hình ảnh ở đầu bước đó.
Trong dự án này, tôi sử dụng 2 arduino để chạy 2 bit mã riêng biệt vì tôi đã gặp một số khó khăn khi nó hoạt động chỉ với một
Đây là Uno và Leonardo
tổng cộng đây là những gì bạn sẽ cần để hỗ trợ dự án này.
· 7 nút nhấn
· 23 dây nhảy
· 1 arduino Leonardo + cáp usb
· 4 điện trở · 4 đèn led
· 1 cáp arduino una + usb
· 2 bảng bánh mì
Bước 1: Kết nối các nút điều khiển với Arduino
Những gì bạn cần để kết nối phần này:
· 7 nút nhấn
· 14 dây nhảy
· 1 arduino Leonardo + cáp usb
· Breadboard
Các nút khá đơn giản để kết nối nhưng có thể nhanh chóng lộn xộn để hiển thị dưới dạng hình ảnh.
· Đầu tiên, bạn đặt các nút ấn vào các vị trí mà tôi đã đánh dấu trên hình trên.
· Thứ hai, bạn muốn nối một jumper từ khe cắm trên mặt đất trên arduino Leonardo vào hàng trừ của breadboard.
· Bây giờ bạn nối jumper từ bất kỳ đâu trên hàng trừ đến hàng thẳng hàng với chốt bên phải của nút nhấn. điều này sẽ cung cấp năng lượng cho nó.
· Tiếp theo, bạn muốn nối dây jumper từ một hàng thẳng hàng với chốt bên trái của nút nhấn vào các khe cắm đầu vào kỹ thuật số của Leonardo. Đối với các nút ở đây, tôi đã sử dụng khe 2 - 3 - 4 - 5 - 6 - 7 - 8
Tôi chỉ hiển thị dây đi vào đầu vào 8 trên hình ảnh vì nó trở thành một bức tranh rất lộn xộn để cho bạn thấy tất cả các dây chéo nhau.
Bước 2: Mã hóa Arduino Leonardo:
Vì vậy, để cho bạn biết lý do tôi sử dụng Leonardo cho việc này. Đó là vì nó có một con chip nhất định mà Uno không làm cho máy tính nhận dạng nó là thiết bị đầu vào usb. Giống như một bàn phím. Điều này cho phép chúng tôi làm điều gì đó khiến cuộc sống của chúng tôi với tư cách là lập trình viên cho dự án này trở nên dễ dàng hơn rất nhiều. Bàn phím giả lập. Chúng ta sẽ đánh lừa máy tính nghĩ rằng chúng ta đang nhấn các phím nhất định trên bàn phím trong khi thực tế chúng ta đang nhấn các nút trên bộ điều khiển của mình.
Bây giờ tôi sẽ hướng dẫn bạn từng bước nghĩ mã.
Trước hết, ở trên cùng, chúng tôi bao gồm Keyboard.h. Điều này sẽ cho phép chúng tôi sử dụng các chức năng bàn phím mà chúng tôi sẽ sử dụng trong mã của chúng tôi.
Bước 3:
Sau đó, chúng tôi cần xác định các khe đầu vào kỹ thuật số mà chúng tôi sẽ sử dụng trên
Leonardo cho mỗi nút.
Tôi cũng đã đặt tên cho mọi người trong số họ theo khóa mà tôi sẽ mô phỏng.
Bước 4:
Từ đó chúng ta đi vào chức năng thiết lập. Điều này nói với
arduino nó làm gì khi khởi động.
đầu tiên chúng tôi viết Serial.begin sẽ mở cổng nối tiếp và đặt tốc độ dữ liệu thành 9600 bps
và chúng tôi xác định tất cả các chân được đặt tên để làm đầu vào.
Bước 5:
Và cuối cùng, chúng tôi viết hàm vòng lặp để kiểm tra xem
các nút đang được nhấn và cho arduino biết cách đáp ứng điều đó.
Đầu tiên, chúng tôi viết Keyboard.begin sẽ nói với arduino rằng anh ấy cần chú ý đến chúng tôi bằng cách sử dụng các chức năng bàn phím
Bước 6:
Sau đó, đối với mỗi nút, chúng tôi viết một câu lệnh if / else giống như thế này
Vì vậy, những gì tôi đã nói với arduino ở đây là: Nếu nút bên trái của tôi đang được nhấn trên bộ điều khiển, máy tính sẽ nghĩ rằng chúng ta đang nhấn phím “a” và nếu không phải vậy, hãy làm cho nó nghĩ rằng chúng ta đã buông phím.
Về cơ bản, bạn lặp lại khối mã này cho mọi nút trên bộ điều khiển của mình. với các thay đổi cho mọi biến và các khóa mà biến đó cần phải mô phỏng
Bước 7:
Các phím mà chúng tôi yêu cầu máy tính nhấn ở đây là W - A - S - D
khá nhiều là tiêu chuẩn cho chuyển động trong các trò chơi máy tính và E - Q - và phím cách trong đoạn mã này được công nhận là ‘‘là các nút tôi sử dụng để chọn - loại bỏ và bắn trong trò chơi của mình. Vui lòng thay đổi các phím này thành bất kỳ phím nào bạn cảm thấy hoạt động tốt hơn cho trò chơi / bộ điều khiển của mình.
Sau đó, cuối cùng chúng tôi yêu cầu arduino dừng việc kiểm tra Keyboard.end nào
Bước 8: Chuyển động mã hóa trong thống nhất:
Trước hết, hãy để tôi nói với bạn rằng tôi đang làm cái này cho một trò chơi 2d nên
các ví dụ bạn sẽ thấy được xây dựng cho điều đó. Chủ yếu nghĩa là tôi sử dụng vector2’s nếu bạn đang làm việc trong 3d, bạn sẽ sử dụng vector3’s. bởi vì bạn sẽ cần phải lo lắng về chiều chuyển động bổ sung trong 3d.
Bây giờ lý do tôi sử dụng giả lập Bàn phím ở phía arduino là vì Unity có một cái gì đó tích hợp để nhận ra các phím trên bàn phím mà chúng ta có thể sử dụng.
Nếu bạn mở dự án của mình một cách thống nhất, hãy đi tới Chỉnh sửa -> Cài đặt dự án -> Đầu vào. Bạn có thể thấy trong trình kiểm tra của mình, nó khởi động trình quản lý đầu vào. Nơi nếu bạn nhấp vào Axes, bạn có thể thấy một loạt các tên đầu vào mở ra thường được sử dụng cho các bộ điều khiển máy tính như những cái mà chúng tôi đang làm bây giờ. 2 đầu vào chúng tôi sẽ sử dụng là Ngang và Dọc để kiểm tra xem bạn có đoán nó là W-A-S-D không.
Đầu tiên, bạn muốn tạo một đối tượng trong hệ thống phân cấp các cảnh thống nhất, nó sẽ là người chơi của bạn. Trong trường hợp của tôi là anh chàng vui vẻ này. Đây có thể là bất cứ điều gì bạn cần nhưng vì mục đích trò chơi của tôi, tôi đã tạo ra anh chàng này.
Bước 9:
Bạn muốn cung cấp cho người chơi này 2 thứ. Một máy va chạm hộp 2d và
một Rigidbody 2d và chỉnh sửa chúng để giống như hình trên.
Bước 10:
Sau đó, bạn muốn vào thư mục dự án của mình và tạo
Tập lệnh C #. Mà tôi đặt tên là PlayerMovement.
Trong tập lệnh này, bạn sẽ xác định 2 biến. Một phao công khai mà tôi gọi là moveSpeed. Điều này sẽ quyết định bạn đi nhanh như thế nào. Và một Rigidbody2D riêng mà tôi gọi là RigidPlayer. Mà sẽ tìm kiếm người chơi của bạn cứng nhắc.
Đừng quên đến trình chỉnh sửa thống nhất của bạn, nhấp vào trình phát của bạn thêm tập lệnh mới này bằng cách kéo nó vào trình kiểm tra và đặt giá trị số cho moveSpeed.
Bước 11:
bây giờ trong Start () của bạn, bạn muốn làm một việc và đó là
đảm bảo rằng RigidPlayer của bạn có thể tìm thấy người trả tiền cứng 2d của bạn. Bạn làm điều đó với dòng mã sau:
Bước 12:
Sau đó, chúng tôi chuyển sang bản cập nhật (). Đây là nơi chúng ta đang đi
để làm cho người chơi di chuyển.
chúng tôi làm điều đó với một câu lệnh if khá đơn giản sẽ xem xét các phím âm và dương từ Ngang (AD) và Dọc (SW) và áp dụng nó như một con số để buộc chúng tôi sẽ đặt vào cơ thể cứng nhắc 2d để đẩy người chơi của chúng tôi vào một hướng. Số đó sẽ được nhân với biến moveSpeed.
Bước 13:
Cuối cùng, bạn muốn đảm bảo rằng trình phát của bạn ngừng di chuyển khi
bạn không nhấn bất cứ điều gì. Điều này bạn làm như vậy:
Bây giờ nếu bạn muốn sử dụng 3 nút khác của mình cho bất cứ điều gì bạn làm với câu lệnh if này: if (Input. GetKeyDown (Keycode. Space))
cho phím cách và thay vì khoảng trắng, hãy đặt ký tự của các phím khác mà bạn đã chọn để sử dụng cho các phím khác.
Bước 14: Kết nối đèn với Arduino
·
Những gì bạn cần để kết nối phần này:
· 9 dây nhảy
· 4 điện trở
· 4 đèn led
· 1 cáp arduino una + usb
· Breadboard
Việc nối đèn sẽ được thực hiện thông qua Uno.
Nó sẽ trông giống như hình ảnh bên trên:
Bạn mắc các điện trở vào cạnh dài của đèn LED. Và sau đó, bạn nối một jumper từ một số pin kỹ thuật số trên chưa đến các điện trở. trong trường hợp này, tôi đã sử dụng các khe cắm pin kỹ thuật số 9 - 10 -11 -12, những con số này sẽ có liên quan khi chúng tôi nhận được mã cho đèn.
Từ đó, bạn muốn nối một dây nối từ khe cắm trên mặt đất trên arduino Uno của mình vào vị trí trên bảng của bạn như được thấy với dây màu đen ở hình trên.
Sau đó, bạn muốn có 4 jumper tất cả đều dẫn vào đầu ngắn của mỗi đèn LED
Bước 15: Mã hóa Arduino Uno
Được rồi, trước tiên chúng ta sẽ xác định lại các biến của chúng ta
Vì vậy, đầu tiên chúng tôi đang sử dụng đầu vào kỹ thuật số nào cho đèn của mình. Và chúng tôi sẽ tạo một char có tên là myCol [20]
Bước 16:
Sau đó, trong phần thiết lập, chúng tôi muốn thực hiện lại Serial.begin. Đặt tất cả đèn LED của chúng tôi trên Đầu ra và tắt tất cả chúng khi khởi động.
Bước 17:
Và cuối cùng bạn muốn viết hàm vòng lặp của mình.
Điều này sẽ khiến Arduino đọc bất kỳ dữ liệu nào đến thông qua nối tiếp cho đến khi một trong hai sự kiện xảy ra. Một ký tự nguồn cấp dữ liệu dòng được phát hiện; điều này được xác định bởi lf được đặt thành 10 và là đối số đầu tiên hoặc một lượng byte nhất định đã được đọc vào. Đây là đối số thứ ba và đối với ví dụ này được đặt thành chỉ một byte. Dữ liệu được lưu trữ trong biến myCol, được đặt thành char và giới hạn là 20. Trong readBytes Cho đến khi đây là đối số thứ hai. Hay một cách giải thích khác là Serial.readBytesUntil (terminatorCharacter, buffer, byteLimit);
Và câu lệnh if sẽ đảm bảo một số đèn bật sáng khi sự thống nhất đưa ra tín hiệu. Trong trường hợp này, tôi có 4 đèn màu khác nhau vì vậy tôi thống nhất gửi g để đèn LED màu xanh lá cây bật, b để đèn LED màu xanh dương bật, r cho đèn LED màu đỏ bật và y cho đèn LED màu vàng bật.
Bước 18: Đèn mã hóa phía Unity:
Oke 2 điều đầu tiên trước khi chúng ta đi vào vấn đề này.
1. trong chương trình mã hóa arduino của bạn, đi tới Công cụ -> Cổng -> và kiểm tra cho tôi xem COM của bạn đang bật. Trong trường hợp của tôi, COM3 của nó (điều này sẽ quan trọng trong mã)
2. trong sự thống nhất Đi tới Chỉnh sửa -> Cài đặt dự án -> Trình phát sau đó trong trình kiểm tra nhấp vào cài đặt khác, chuyển đến Mức độ tương thích Api và Chuyển nó từ mạng con. NET 2.0 sang chỉ. NET 2.0
Oke vậy là xong. Hãy bắt đầu.
Nhấp chuột phải vào hệ thống phân cấp của bạn và nhấp vào Tạo trống.
Đây sẽ là một đối tượng trò chơi trống sẽ chỉ tồn tại trong trò chơi của bạn để giữ một tập lệnh cho chúng tôi. Tôi đã gọi đối tượng này là Init.
Bước 19:
Sau đó, chuyển đến tab dự án của bạn và tạo một tập lệnh C # mới
và gọi nó là Đang gửi.
Điều đầu tiên bạn làm là viết những điều này vào các dòng trong phần sử dụng mã của bạn:
sử dụng System. IO. Ports;
sử dụng System. Threading;
điều này làm cho nó để chúng tôi có thể sử dụng biến SerialPort
Bước 20:
trong tập lệnh này, chúng ta sẽ tạo các biến sau. Bây giờ lưu ý rằng tôi đã nhận COM3 ở đó, điều này có thể khác với bạn như chúng ta đã thảo luận ở phần đầu của bước này. Nếu nó là thay thế số 3 bằng số nó đã nói cho bạn.
Bước 21:
Khi bắt đầu, chúng tôi yêu cầu tập lệnh sử dụng là OpenConnection
chức năng mà chúng tôi sẽ viết trong một chút
bản cập nhật là một thử nghiệm nhiều hơn bất cứ điều gì nhưng nếu bạn muốn bao gồm nó để kiểm tra các thông điệp được gửi đến sự thống nhất. Bạn có thể bỏ qua nó một cách trung thực.
Bước 22:
Oke ngay cho chức năng OpenConnection này. Đây chỉ là một lớn
câu lệnh if / else giữ kết nối mở, chỉ cần sao chép nó như đã viết và bạn sẽ ổn.
Bước 23:
Bây giờ hãy nhớ từ mã arduino mà tôi đã kiểm tra nó
tín hiệu rằng sự thống nhất sẽ gửi đến nó.
tốt đây là nơi điều đó xảy ra. Trong trường hợp của tôi, tôi đã mắc 4 đèn vào nên tôi viết 4 chức năng cực kỳ đơn giản. Tất cả những gì họ làm là khi được gọi, họ sẽ gửi một lá thư tới arduino. Khi arduino nhận được chữ cái đó, nó sẽ sáng đèn tương ứng với chữ cái đã nói.
Bước 24:
Bạn có thể tự hỏi làm thế nào để tôi gọi nó là
hàm số? Vâng, bạn làm điều đó với một dòng đơn giản trong bất kỳ tập lệnh c # nào khác mà bạn sử dụng cho trò chơi của mình. Sending. NameFunctionhere ();. Vì vậy, ví dụ trong trò chơi của tôi, người chơi có nhiệm vụ thu thập 4 quả cầu màu. Vì vậy, tôi đã viết một kịch bản nhỏ để đảm bảo rằng khi anh ấy đến gần một quả cầu và nhấn đúng nút, anh ấy sẽ chọn nó và nó sẽ gửi tín hiệu đến arduino rằng trong trường hợp này quả cầu Vàng đã được chọn. Để nó biết, tôi phải bật đèn LED màu vàng:
Bạn có thể đặt một dòng mã này ở bất cứ đâu bạn muốn. Nếu bạn muốn nó sáng lên khi trò chơi bắt đầu, hãy đặt nó vào chức năng bắt đầu. Muốn nó sáng lên khi anh ta chết, hãy đặt nó vào chức năng của bạn cho những người chơi chết. Thử nghiệm xung quanh một chút. Tôi chọn làm cho đèn trở thành một loại yếu tố ui bên ngoài trò chơi để theo dõi các quả cầu bạn phải thu thập mà không làm lộn xộn màn hình.
Đề xuất:
Điều khiển đèn LED của bạn bằng điều khiển từ xa TV của bạn ?! -- Hướng dẫn Arduino IR: 5 bước (có hình ảnh)
Điều khiển đèn LED của bạn bằng điều khiển từ xa TV của bạn ?! || Hướng dẫn sử dụng Arduino IR: Trong dự án này, tôi sẽ chỉ cho bạn cách tôi định vị lại các nút vô dụng trên điều khiển từ xa của TV để điều khiển đèn LED phía sau TV. Bạn cũng có thể sử dụng kỹ thuật này để kiểm soát tất cả mọi thứ với một chút chỉnh sửa mã. Tôi cũng sẽ nói một chút về lý thuyết
Bộ điều khiển trò chơi tự làm dựa trên Arduino - Bộ điều khiển trò chơi Arduino PS2 - Chơi Tekken với tự làm trò chơi Arduino: 7 bước
Bộ điều khiển trò chơi tự làm dựa trên Arduino | Bộ điều khiển trò chơi Arduino PS2 | Chơi Tekken với Bàn điều khiển Arduino tự làm: Xin chào các bạn, chơi game luôn thú vị nhưng chơi với Bộ điều khiển trò chơi tùy chỉnh tự làm của riêng bạn sẽ thú vị hơn
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Trình mô phỏng trò chơi điện thoại thông minh- Chơi trò chơi Windows bằng IMU điều khiển bằng cử chỉ, Gia tốc kế, Con quay hồi chuyển, Từ kế: 5 bước
SmartPhone Game Simulator- Chơi Windows Games Sử dụng IMU Điều khiển bằng cử chỉ, Gia tốc kế, Con quay hồi chuyển, Từ kế: Hỗ trợ dự án này: https://www.paypal.me/vslcreations bằng cách quyên góp cho mã nguồn mở & hỗ trợ để phát triển hơn nữa
Điều khiển các thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) với Màn hình nhiệt độ và độ ẩm: 9 bước
Điều khiển thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) Có Hiển thị nhiệt độ và độ ẩm: xin chào, tôi là Abhay và đây là blog đầu tiên của tôi về Các thiết bị điện và hôm nay tôi sẽ hướng dẫn bạn cách điều khiển các thiết bị điện bằng điều khiển từ xa bằng cách xây dựng cái này dự án đơn giản. cảm ơn atl lab đã hỗ trợ và cung cấp tài liệu