Mục lục:
- Bước 1: Vật liệu
- Bước 2: Sơ đồ hộp đen
- Bước 3: Kết nối loa ngoài
- Bước 4: Sơ đồ cấu trúc
- Bước 5: Sơ đồ Máy trạng thái hữu hạn (FSM)
Video: Hệ thống Buzzer cạnh tranh: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Hệ thống còi cạnh tranh được thiết kế trong dự án này hoạt động tương tự như hệ thống còi được sử dụng trong Cuộc thi tô khoa học khu vực và quốc gia. Dự án này được truyền cảm hứng bởi sự tham gia của tôi với nhóm khoa học tô của trường trung học của tôi trong ba năm. Chúng tôi luôn mong muốn tạo lại hệ thống còi khóa với bộ đếm thời gian 5 giây và 20 giây.
Để cung cấp một số thông tin cơ bản về hệ thống còi, bộ rung bát khoa học được lập trình để nhập tối đa 8 người chơi (với 8 bộ rung riêng biệt). Khi một bộ rung đã được nhấn, bộ rung của người đầu tiên sẽ sáng để cho biết người chơi nào nhận được câu hỏi. Những người chơi còn lại sẽ bị "khóa" có nghĩa là bộ rung của họ sẽ không phản hồi cho đến khi người điều hành đặt lại hệ thống bộ rung.
Sau khi người điều hành đọc câu hỏi, anh ta sẽ nhấn một nút để bắt đầu đồng hồ đếm ngược sẽ được hiển thị trên màn hình bảy phân đoạn. Sau một câu hỏi "tung lên", người điều hành có thể nhấn nút bên phải để bắt đầu đếm ngược từ 5 giây. Trong khi đó, sau một câu hỏi "bonus", người điều hành có thể nhấn nút bên trái để bắt đầu đếm ngược từ 20 giây. Khi bộ đếm thời gian về 0, một bộ rung âm thanh sẽ cho biết rằng người chơi đã hết thời gian.
Để thiết lập lại hệ thống và đồng hồ đếm ngược, người điều hành có thể nhấn vào nút trung tâm. Để đặt lại cơ chế khóa và đèn LED trình phát, các công tắc cho trình phát 1 và trình phát 2 phải ở mức thấp.
Bước 1: Vật liệu
Bạn sẽ cần những thứ sau:
- Bảng Basys3 (hoặc bảng FPGA tương đương)
- Cáp USB Micro-B
- Loa (tôi đã sử dụng loa thụ động)
- 2 dây
- Phần mềm để triển khai trên FPGA (tôi đã sử dụng Vivado)
- Tệp Hệ thống Buzzer Cạnh tranh
Bước 2: Sơ đồ hộp đen
Sơ đồ hộp đen hiển thị các đầu vào và đầu ra sẽ được sử dụng trong hệ thống còi này.
ĐẦU VÀO:
player1, player2 Các đầu vào này được kết nối với hai công tắc trên bảng Basys3. Để thuận tiện, các công tắc ngoài cùng bên trái và ngoài cùng bên phải sẽ được sử dụng.
đặt lại Nút trung tâm sẽ được sử dụng để đại diện cho nút đặt lại.
count_down_20_sec Nút bên trái sẽ được sử dụng để đại diện cho nút hẹn giờ 20 giây.
count_down_5_sec Nút bên phải sẽ được sử dụng để biểu thị nút hẹn giờ 20 giây. Để đảm bảo rằng cả bộ hẹn giờ 20 giây và 5 giây đều bắt đầu, hãy giữ nút cho đến khi màn hình bảy đoạn hiển thị bộ hẹn giờ.
CLK Bo mạch FPGA sẽ tạo ra một đồng hồ chạy với tần số 10 ns.
ĐẦU RA:
loa Đầu ra loa được kết nối với bộ rung hoặc loa ngoài. Bạn sẽ phải kết nối loa với các cổng JA pmod của bảng Basys3. Bước này sẽ được trình bày bên dưới.
Speaker_LED Đầu ra này được kết nối với đèn LED ở giữa bảng và sẽ chỉ báo khi đầu ra loa của FPGA ở mức cao. Bạn có thể sử dụng điều này để kiểm tra loa ngoài của mình. Lưu ý rằng một số cổng pmod có thể hoạt động không tốt, vì vậy bạn có thể thử các cổng khác nhau và sử dụng đèn LED để kiểm tra xem loa có được bật hay không.
PHÂN ĐOẠN Đầu ra này được kết nối với tám phân đoạn riêng lẻ trên màn hình bảy phân đoạn, bao gồm cả dấu thập phân.
DISP_EN Đầu ra này được kết nối với bốn cực dương trên màn hình bảy đoạn.
player_LED Đầu ra này là tín hiệu 2 gói được kết nối với các đèn LED phía trên các công tắc player1 và player2. Người chơi đầu tiên lật công tắc tương ứng của họ sẽ được hiển thị bằng đèn LED. Lưu ý rằng cả hai đèn LED không thể bật đồng thời.
Bước 3: Kết nối loa ngoài
Để kết nối loa ngoài với bo mạch Basys3, hãy lấy hai dây của bạn và gắn chúng như được chỉ ra trong hình trên. Đường màu trắng kết nối cực âm của loa với cổng nối đất trên bo mạch. Đường màu đỏ kết nối cực dương của loa với cổng pmod JA10 trên bo mạch.
Tệp ràng buộc được thiết kế để bất kỳ cổng nào từ JA1 đến JA10 đều hoạt động. Tuy nhiên, một số chân cắm trên bo mạch là vô trách nhiệm, vì vậy nếu JA10 không hoạt động, bạn có thể thử các cổng khác.
Bước 4: Sơ đồ cấu trúc
Hình ảnh trên cho thấy sơ đồ cấu trúc của hệ thống còi cạnh tranh bao gồm tất cả các thành phần tạo nên mô-đun chính. Mô tả của họ như sau:
player_lockout_LED1 Thành phần LED khóa trình phát là một máy trạng thái hữu hạn sử dụng mã hóa một nóng. Nó có bốn đầu vào: player1, player2, reset và CLK. Nó chứa trình phát đầu ra gói 2 bit_LED. Các đầu vào và đầu ra của thành phần player_lockout_LED1 đều được kết nối trực tiếp với các đầu vào và đầu ra có tên giống hệt nhau của mô-đun chính.
buzzer_tone1 Thành phần buzzer dựa trên mã này được đăng trên một diễn đàn
stackoverflow.com/questions/22767256/vhdl-… Tuy nhiên, nó đã được sửa đổi để phát ra âm thanh liên tục với tần số 440 Hz (Một nốt nhạc). Đầu vào cho phép được kết nối với tín hiệu buzzer_enable là đầu ra của thành phần down_counter_FSM1.
clk_div1 Thành phần bộ chia đồng hồ là phiên bản sửa đổi của bộ chia đồng hồ của Giáo sư Bryan Mealy được cung cấp trên PolyLearn. Nó làm chậm đồng hồ để chu kỳ đầu ra là 1 giây.
down_counter_FSM1 Bộ đếm xuống là một FSM được thiết kế để đếm ngược đến không. Hai thời gian bắt đầu có thể có là 20 hoặc 5 được chọn bởi đầu vào của người dùng. Nó xuất '1' khi bộ đếm thời gian về 0 để cho biết thời gian đã hết. Đầu ra này hoạt động như một kích hoạt cho thành phần âm báo rung. Bộ đếm cũng xuất ra tín hiệu gói 8 bit gửi BCD 8 bit được gửi đến bộ giải mã phân đoạn. Một đầu ra khác là counter_on cũng được kết nối với đầu vào hợp lệ trên bộ giải mã phân đoạn.
sseg_dec1 Thành phần bộ giải mã bảy đoạn được cung cấp trên PolyLearn và được viết bởi Giáo sư Bryan Mealy. Nó sử dụng đầu vào BCD được cung cấp bởi down_counter_FSM1 và xuất ra giá trị thập phân tương đương trên màn hình bảy đoạn. Khi bộ đếm được bật, thì giá trị đầu vào hợp lệ ở mức cao. Điều này cho phép bộ giải mã hiển thị số thập phân trên màn hình bảy đoạn. Khi bộ đếm tắt, thì đầu vào hợp lệ ở mức thấp. Sau đó, màn hình bảy phân đoạn sẽ chỉ hiển thị bốn dấu gạch ngang.
Bước 5: Sơ đồ Máy trạng thái hữu hạn (FSM)
Danh sách độ nhạy cho máy trạng thái hữu hạn bao gồm player1, player2, reset và đồng hồ. Đầu ra FSM là một trình phát gói 2-bit_LED được kết nối với hai đèn LED trên bảng Basys3. Máy trạng thái hữu hạn hiển thị ba trạng thái sau:
ST0 là trạng thái bắt đầu. Ở trạng thái này, hai đèn LED được tắt. FSM sẽ vẫn ở trạng thái này nếu cả người chơi 1 và người chơi 2 đều ở mức thấp. Thiết lập lại không đồng bộ cũng đặt trạng thái thành ST0. Khi công tắc player1 được đặt ở mức cao, trạng thái tiếp theo sẽ là ST1. Nếu công tắc player2 được đặt thành cao, trạng thái tiếp theo sẽ là ST2.
ST1 là trạng thái mà đèn LED của player1 đang bật. FSM sẽ vẫn ở trạng thái này cho bất kỳ đầu vào nào. Điều này có nghĩa là ngay cả khi công tắc player2 được đặt ở mức cao ngay sau khi công tắc player1 ở mức cao, nó sẽ vẫn ở ST1. Chỉ thiết lập lại không đồng bộ mới có thể đặt trạng thái tiếp theo thành ST0.
ST2 là trạng thái mà đèn LED player2 đang bật. Tương tự như ST !, FSM sẽ vẫn ở trạng thái này cho bất kỳ đầu vào nào, ngay cả khi công tắc player1 được đặt ở mức cao ngay sau khi công tắc player2 ở mức cao. Một lần nữa, chỉ thiết lập lại không đồng bộ mới có thể đặt trạng thái tiếp theo thành ST0.
Đề xuất:
Cách tạo Robot tránh cạnh dựa trên Arduino: 4 bước
Cách tạo rô bốt tránh biên dựa trên Arduino: Hãy tạo rô bốt tự động hoàn toàn bằng cách sử dụng cảm biến Arduino và IR. Nó khám phá bề mặt của bàn mà không bị rơi. Xem video để biết thêm
Robot cạnh tranh tiếp quản tháp VEX: 8 bước
VEX Tower Takeover Competition Robot: Trong hướng dẫn này, tôi sẽ chỉ cho các bạn những kiến thức cơ bản về Vex Robotics Tower Takeover Competition cùng với cách chế tạo một robot cho trò chơi này. XIN VUI LÒNG kiểm tra tab để tìm nguồn cung cấp. LƯU Ý: Các bộ phận của Vex EDR RẤT đắt, nếu bạn không đủ khả năng chi tiêu $
Xây dựng hệ thống thủy canh tự làm mini & vườn thảo mộc thủy canh tự làm với cảnh báo WiFi: 18 bước
Xây dựng Hệ thống thủy canh tự làm nhỏ & Vườn thảo mộc thủy canh tự làm với cảnh báo WiFi: Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách xây dựng hệ thống #DIY #hydroponics. Hệ thống thủy canh tự làm này sẽ tưới theo chu kỳ tưới thủy canh tùy chỉnh với 2 phút bật và 4 phút tắt. Nó cũng sẽ theo dõi mực nước hồ chứa. Hệ thống này
CẠNH TRÁNH ROBOT: 7 bước
CẠNH TRÁNH ROBOT: CẠNH TRÁNH ROBOT
Trò chơi cạnh tranh 2 người chơi VS tính thời gian: 4 bước
Game Cạnh tranh 2 người chơi VS Định thời gian: Bạn sẽ cần: 1.Digilent Basys 3, FPGA Board (hoặc bất kỳ FPGA nào khác,) 2. Một phiên bản tương đối cập nhật của Vivado hoặc một số môi trường VHDL khác3. Một máy tính có thể chạy chương trình đã đề cập