Mục lục:
- Bước 1: Sơ đồ hộp đen
- Bước 2: Đồng hồ chậm
- Bước 3: Bộ đếm
- Bước 4: Giờ truy cập
- Bước 5: Báo thức
- Bước 6: Trình điều khiển hiển thị bảy phân đoạn phổ biến
- Bước 7: Liên kết tệp
- Bước 8: Arduino
- Bước 9: Định tuyến cáp
Video: Đồng hồ báo thức Basys 3: 9 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Dự án của chúng tôi tạo đồng hồ báo thức bằng cách sử dụng bảng FPGA Basys 3, Arduino và bảng điều khiển loa. Người dùng có thể nhập thời gian hiện tại vào bảng bằng 11 công tắc đầu vào trên Basys 3 và khóa giá trị bằng nút giữa trên bảng. Sau đó, người dùng có thể nhập thời gian báo thức bằng cách sử dụng các công tắc tương tự nhưng nhấn nút bên trái để khóa thời gian báo thức. Nếu nhập sai thời gian, có thể nhấn nút đặt lại (nút trên cùng) và đặt giờ đồng hồ hiện tại và thời gian báo thức thành 00:00. Sau đó, người dùng có thể khởi động đồng hồ bằng công tắc ngoài cùng bên trái và bật báo thức bằng công tắc tiếp theo. Khi bật báo thức, đồng hồ báo thức sẽ phát ra âm thanh khi thời gian đồng hồ và cài đặt thời gian báo thức khớp với nhau.
Bước 1: Sơ đồ hộp đen
Chúng tôi bắt đầu dự án của mình bằng cách vẽ sơ đồ hộp đen để hình dung các đầu vào và đầu ra cần thiết trong chương trình của chúng tôi. Các đầu vào sau cho chương trình của chúng tôi, chẳng hạn như đầu vào 5 bit (Hour_in) được khởi tạo để chỉ định thời gian 24 giờ, đầu vào 6 bit (Min_in) để hiển thị lên đến 60 phút, nút đặt lại (Rst_b) để cho phép người dùng thay đổi đầu vào thời gian của chúng, đầu vào 1 bit (alm_en) tải đầu vào cảnh báo, đầu vào 1 bit (alert_sw) để tắt đồng hồ báo thức khi nó được kích hoạt, đầu vào 1 bit (e_sec) điều khiển khi bộ đếm giây sẽ chạy, đầu vào 1 bit (Led_btn) đặt thời gian hiện tại và cuối cùng là đầu vào 1 bit (clk) kiểm soát thời gian được hiển thị bởi bảng Basys 3. Các đầu ra là (alm_on) gửi tín hiệu đến Arduino, đầu ra sseg hiển thị thời gian đầu vào trên Basys 3 và đầu ra anode kiểm soát nơi đầu vào được hiển thị trên màn hình bảy đoạn.
Bước 2: Đồng hồ chậm
Đồng hồ chậm hoặc tệp clock_div2 tạo ra một đồng hồ có tần số là 2 hz. Nếu chúng ta đưa đồng hồ này vào bộ đếm giây của mình, giá trị giây sẽ tăng lên một giây sau mỗi giây. Đồng hồ chậm được sử dụng để tạo ra một tín hiệu đồng hồ đáng tin cậy thay đổi từ thấp đến cao một lần mỗi giây.
Bước 3: Bộ đếm
Bộ đếm thành phần (phút và giây):
Chức năng cơ bản của phút và giây là chúng là bộ đếm. Bộ đếm phút nhận đầu vào (Vin) là tín hiệu từ đầu vào (Min_in), sau đó đếm cho đến khi đạt được đầu vào mong muốn. Số giây chỉ nhận đầu vào của công tắc (e_Sec) vì nó không thể được hiển thị trên bảy phân đoạn và được tính trong nền khi công tắc ở mức cao '1'. Cả hai đều xuất giá trị ở đó đến (Qout), và sau đó nó được lưu trữ trong (dữ liệu) sẽ gửi nó đến SSEG được thực hiện trong tệp liên kết. Ngoài ra, khi phút và giây đạt đến giá trị 59, nó sẽ đặt lại và đầu ra của chúng là ‘1’ để tăng phút / giờ. Nó cũng có thể được ánh xạ với một thiết lập lại (rst_b) cho các đầu vào của chúng.
Bước 4: Giờ truy cập
Giờ bộ đếm thành phần
Tương tự, đối với bộ đếm thành phần phút và giây, thành phần giờ nhận đầu vào như (Vin), là tín hiệu từ việc liên kết đầu vào tệp (Giờ_in) và có các đầu ra được liên kết theo cách tương tự như phút và giây. Khi giá trị đếm của giờ đạt đến 24 00, nó sẽ đặt lại thành 00 00.
Bước 5: Báo thức
Tệp.vhd cảnh báo được tạo thành từ các d-flip-flops là thiết bị lưu trữ có thể lưu trữ dữ liệu kỹ thuật số. Tệp báo thức được sử dụng để lưu trữ thời gian mà báo thức sẽ được kích hoạt. Để lưu trữ dữ liệu giờ (đầu vào 5 bit) và phút (đầu vào 6 bit), chúng ta phải dập 11 d-flip-flops trong tệp báo thức của chúng tôi. Để làm điều này, trước tiên chúng ta phải nhập logic điều chỉnh hoạt động của d-flip-flops và ánh xạ các thành phần. Mỗi trong số 11 d-flip-flops sẽ lưu trữ một bit dữ liệu từ các đầu vào và cho phép dữ liệu được ánh xạ tới các đầu ra của tệp cảnh báo. Bởi vì d-flip-flops lưu trữ dữ liệu, chúng tôi có thể sử dụng dữ liệu tại thời điểm sau đó ngay cả khi các công tắc đầu vào đã được thay đổi.
Bước 6: Trình điều khiển hiển thị bảy phân đoạn phổ biến
Trình điều khiển hiển thị bảy phân đoạn phổ biến nhận các đầu vào từ đồng hồ và bộ đồng hồ và có thể xuất chúng ra màn hình hiển thị bảy phân đoạn trên bảng. Trình điều khiển có thể xuất ra hai số đếm riêng biệt trên bảng cùng một lúc. Chúng tôi đã sử dụng chức năng này để hiển thị cả giờ và phút một cách riêng biệt. Màn hình bảy phân đoạn chỉ có thể kích hoạt một số tại một thời điểm vì tệp sseg phải sử dụng ghép kênh để hiển thị tất cả các số cùng một lúc. Tín hiệu đồng hồ bảng được đưa vào sseg để giữ đúng thời gian ghép kênh. Một bộ mã hóa thập phân được mã hóa từ nhị phân sang nhị phân là cần thiết để chuyển đổi các đầu vào vào tệp thành một dạng có thể xuất ra màn hình bảy phân đoạn. Đầu ra cuối cùng của tệp sseg được ánh xạ tới màn hình bảy phân đoạn và thời gian chính xác được hiển thị trên màn hình.
Bước 7: Liên kết tệp
Tệp liên kết kết nối tất cả các khía cạnh khác của chương trình và ánh xạ các tín hiệu đến vị trí chính xác của chúng. Mỗi thành phần được đưa vào và khởi tạo trong tệp. Tín hiệu được sử dụng để truyền dữ liệu từ thành phần này sang thành phần khác. Ánh xạ cổng sẽ tuân theo sơ đồ hộp đen được liệt kê ở trên. Tệp liên kết cũng chứa logic chi phối khi cảnh báo được kích hoạt. Hầu hết dự án sẽ được hoàn thành vào thời điểm này. Công việc còn lại là định tuyến từng tín hiệu đến vị trí thích hợp.
Bước 8: Arduino
Arduino được sử dụng để kích hoạt loa cũng như kiểm soát âm sắc và thời lượng của nốt nhạc được phát qua loa. Arduino đọc tín hiệu kỹ thuật số từ bảng Basys 3. Khi tín hiệu này ở mức cao, arduino sẽ xuất ra tín hiệu PWM điều khiển âm báo và thời lượng của cảnh báo. Tín hiệu đầu ra từ arduino kết nối với tín hiệu đầu vào của bảng trình điều khiển loa làm tăng âm lượng của loa. Arduino thực hiện quá trình này rất nhanh lặp lại nhiều lần trong một giây.
Bước 9: Định tuyến cáp
Bo mạch arduino và Basys 3 phải được kết nối vật lý để chuyển tín hiệu giữa các bo mạch. Cáp đầu tiên để nối dây sẽ là từ chân nối đất của JA PMOD của Basys 3 đến chân nối đất của arduino. Tiếp theo, kết nối dây từ chân 1 của JA PMOD của Basys 3 đến chân số 7 của arduino. Tiếp theo, kết nối hai chân nối đất từ arduino với chân nối đất của trình điều khiển loa. Tiếp theo, kết nối đầu ra 3,3 V của arduino với chân Vcc của trình điều khiển loa. Tiếp theo, kết nối chân số 9 của arduino với chân Trong của trình điều khiển loa.
Đề xuất:
Đồng hồ báo thức bong bóng giúp thức dậy thú vị (ish): 7 bước (có hình ảnh)
Đồng hồ báo thức bong bóng khiến thức dậy thú vị (ish): Thức dậy với một chiếc đồng hồ báo thức kêu inh ỏi. Tôi là một trong những người không thích thức dậy trước khi mặt trời tắt (hoặc đã ở ngoài nhiều giờ). Vì vậy, còn cách nào tốt hơn để làm cho việc thức dậy trở nên thú vị hơn là tổ chức một bữa tiệc bong bóng trên giường! Sử dụng arduino và
Đánh thức tôi - Đồng hồ báo thức thông minh: 6 bước
Wake Me Up - Đồng hồ báo thức thông minh: Hãy đánh thức tôi là một chiếc đồng hồ báo thức thông minh cũng có thể được sử dụng như một chiếc đèn thông minh. Đèn led tích hợp mô phỏng ánh sáng tự nhiên chiếu vào phòng của bạn. Điều này cho phép bạn bắt đầu ngày mới một cách bình tĩnh và tự nhiên. Đồng hồ báo thức cũng được trang bị segme 4 * 7
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: 10 bước (có hình ảnh)
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: Bạn đã bao giờ muốn có một chiếc đồng hồ thông minh chưa? Nếu vậy, đây là giải pháp cho bạn! Tôi đã làm Đồng hồ báo thức thông minh, đây là đồng hồ mà bạn có thể thay đổi thời gian báo thức theo trang web. Khi chuông báo thức kêu, sẽ có một âm thanh (còi) và 2 đèn sẽ
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Đồng hồ báo thức LED Sunrise với Báo thức bài hát có thể tùy chỉnh: 7 bước (có hình ảnh)
Đồng hồ báo thức LED Sunrise với báo thức bài hát có thể tùy chỉnh: Động lực của tôi Mùa đông này bạn gái tôi gặp rất nhiều khó khăn khi thức dậy vào buổi sáng và dường như đang bị SAD (Rối loạn cảm xúc theo mùa). Tôi thậm chí còn nhận thấy rằng việc thức dậy vào mùa đông khó khăn hơn bao nhiêu vì mặt trời chưa ló dạng