
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36

Нашият проект създава будилник с помощта на Basys 3 FPGA платка, Arduino и платка с драйвер за високоговорители. Потребителят може да въведе текущото време на дъската с помощта на 11 входни превключвателя на Basys 3 и да заключи стойността с помощта на средния бутон на дъската. След това потребителят може да въведе времето за аларма, използвайки същите ключове, но натиснете левия бутон, за да заключи времето за аларма. Ако е въведен грешен час, бутонът за нулиране (горният бутон) може да бъде натиснат и текущият часовник и аларменото време ще бъдат настроени на 00:00. След това потребителят може да стартира часовника с помощта на крайния ляв превключвател и да включи алармата, като използва следващия превключвател. Когато алармата е включена, будилникът ще издаде звук, когато времето на часовника и зададеното време на алармата съвпадат.
Стъпка 1: Диаграма на черна кутия


Започнахме нашия проект, като начертахме диаграма в черна кутия, за да визуализираме входовете и изходите, необходими в нашата програма. Следните входове за нашата програма, като 5-битов вход (Hour_in), бяха инициализирани, за да определят 24-часовото време, 6-битов (Min_in) вход за показване до 60 минути, бутон за нулиране (Rst_b), за да позволи на потребителя да промяна на техния вход за време, 1-битов вход (alm_en), който зарежда алармения вход, 1-битов вход (alarm_sw) за изключване на будилника, когато е активиран, 1-битов вход (e_sec), който контролира кога броячът секунди, 1-битов вход (Led_btn), който задава текущото време, и накрая 1-битов вход (clk), който контролира времето, показвано от дъската Basys 3. Изходите са (alm_on), който изпраща сигнала към Arduino, изходът sseg, който показва входното време на Basys 3, и анодният изход, който контролира къде се показват входовете на дисплея на седемте сегмента.
Стъпка 2: Бавен часовник

Бавният часовник или файлът clock_div2 създава часовник, чиято честота е 2 hz. Ако подадем този часовник към брояча на секундите, стойността на секундите ще се увеличава с една всяка секунда. Бавният часовник се използва за създаване на надежден часовник сигнал, който се променя от ниско на високо веднъж в секунда.
Стъпка 3: Брояч


Брояч на компоненти (минути и секунди):
Основната функция на минути и секунди е, че те са броячи. Броячът на минути приема вход (Vin), който е сигнал от входове (Min_in), и след това брои, докато достигне желания въведен вход. Секундите приемат само входа на превключвателя (e_Sec), тъй като не може да бъде показан в седемте сегмента и се брои във фонов режим, след като превключвателят е на високо „1“. И двамата извеждат стойност на (Qout) и след това се съхраняват в (данни), които го изпращат до SSEG, което се прави във файла за свързване. Също така, когато минутите и секундите достигнат стойностите на 59, той се нулира, а изходът от тях е „1“, за да се увеличи минутите/час. Той също така може да бъде картографиран с нулиране (rst_b) на техните входове.
Стъпка 4: Counter Hour


Час за брояч на компоненти
По подобен начин, към брояча на компонентите на минутите и секундите, часовият компонент приема входове s, като (Vin), който е сигнал от свързване на файловия вход (Hour_in), и има изходи, които са свързани по същия начин минутите и секундите. Когато стойността на броя на часа достигне 24 00, тя се нулира до 00 00.
Стъпка 5: Аларма




. Vhd файлът на алармата се състои от d-джапанки, които са устройства за съхранение, които могат да съхраняват цифрови данни. Аларменият файл се използва за съхраняване на часа, в който алармата ще бъде активирана. За да съхраняваме данните за часове (5-битов вход) и минути (6-битов вход), трябва да отпечатаме 11 d-джапанки в нашия алармен файл. За да направим това, първо трябва да импортираме логиката, управляваща работата на d-джапанките и да картографираме компонентите. Всеки от 11-те джапанки ще съхранява по един бит данни от входовете и ще позволява да се картографират данните към изходите на алармения файл. Тъй като d-джапанките съхраняват данни, ние можем да ги използваме в по-късен момент, дори ако превключвателите за вход са променени.
Стъпка 6: Универсален седемсегментен дисплей драйвер



Универсалният драйвер за седем сегмента на дисплея получава входовете от часовника и часовника и може да ги извежда на дисплея със седем сегмента на платката. Драйверът може да изведе два отделни броя на дъската едновременно. Използвахме тази функция, за да показваме отделно часа и минутата. Седемсегментният дисплей може да активира само едно число наведнъж, затова sseg файлът трябва да използва мултиплексиране, за да покаже всички номера на времето едновременно. Тактовият сигнал на дъските се подава в sseg, за да се запази правилното време за мултиплексиране. Двоичен в двоичен кодиран десетичен енкодер е необходим за преобразуване на входовете във файла във форма, която може да бъде изведена на дисплея със седем сегмента. Крайният изход на файла sseg се съпоставя със седемсегментния дисплей и правилното време се показва на дисплея.
Стъпка 7: Файл за връзка



Файлът с връзки свързва всички други аспекти на програмата и картографира сигналите до правилното им местоположение. Всеки компонент се въвежда и създава във файла. Сигналите се използват за прехвърляне на данни от един компонент към друг. Съпоставянето на портовете ще следва диаграмата на черната кутия, посочена по -горе. Файлът с връзки също съдържа логиката, която управлява, когато алармата е активирана. По -голямата част от проекта вече ще бъде завършен до този момент. Останалата работа е маршрутизиране на всеки сигнал до подходящото място.
Стъпка 8: Arduino


Arduino се използва за активиране на високоговорителя, както и за контрол на тона и продължителността на нотата, свирена през високоговорителя. Arduino чете цифров сигнал от платката Basys 3. Когато този сигнал е висок, arduino ще издава PWM сигнал, контролиращ тона и продължителността на алармата. Изходният сигнал от arduino се свързва с входящия сигнал на платката на драйвера на високоговорителите, което увеличава силата на звука на високоговорителя. Arduino прави този процес много бързо, повтаряйки се много пъти в секунда.
Стъпка 9: Прокарване на кабели

Платката arduino и Basys 3 трябва да бъдат физически свързани, за да предават сигнали между платките. Първият кабел към проводника ще бъде от заземяващия щифт на JA PMOD на Basys 3 до заземяващия щифт на arduino. След това свържете проводник от пин 1 на JA PMOD на Basys 3 към цифров пин 7 на arduino. След това свържете два заземителни щифта от arduino към заземяващите щифтове на драйвера на високоговорителя. След това свържете 3.3 V изхода на arduino към Vcc щифта на драйвера на високоговорителя. След това свържете цифровия щифт 9 на arduino към входа на драйвера на високоговорителя.
Препоръчано:
Интелигентен будилник, използващ Magicbit (Arduino): 10 стъпки

Интелигентен будилник с помощта на Magicbit (Arduino): Този урок показва как да направите интелигентен будилник с помощта на OLED дисплей в Magicbit dev board, без да използвате никакъв RTC модул
Будилник с две звънчета от консерви за сода: 7 стъпки (със снимки)

Будилник с двойна камбана от консерви за сода: Тази инструкция ви показва как да направите аларма с две камбани от сода. За да стане този будилник напълно функционален, беше интегриран модул за кварцов часовник „направи си сам“
Буден будилник: 3 стъпки

Шумен будилник: Аз съм 13 -годишен студент в Тайван. Правя неща за първи път с Arduino, ако можете да ми кажете как да подобря тази работа, моля, оставете коментари за мен, за да мога да направя по -добрата. (Благодаря ) Този часовник може да ви събуди, когато подремнете, но аз
Нощен будилник с будилник MP3: 6 стъпки (със снимки)

Нощен алармен будилник с букви за MP3: За този проект исках да направя удобен и напълно функционален часовник за нощна аларма. Моите лични предпоставки за нощен будилник са: Четене при всяка светлина, без да заслепява през нощта MP3 мелодии за аларма Привличане
Интелигентен будилник: интелигентен будилник, направен с Raspberry Pi: 10 стъпки (със снимки)

Интелигентен будилник: интелигентен будилник, направен с Raspberry Pi: Искали ли сте някога интелигентен часовник? Ако е така, това е решението за вас! Направих Smart Alarm Clock, това е часовник, който можете да промените часа на алармата според уебсайта. Когато алармата изгасне, ще се чуе звук (зумер) и 2 светлини ще