Indholdsfortegnelse:
- Trin 1: Black Box Diagram
- Trin 2: Langsomt ur
- Trin 3: Tæller
- Trin 4: Tællertime
- Trin 5: Alarm
- Trin 6: Universal Seven Segment Display Driver
- Trin 7: Link fil
- Trin 8: Arduino
- Trin 9: Kabelføring
Video: Basys 3 vækkeur: 9 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Vores projekt skaber et vækkeur ved hjælp af Basys 3 FPGA -kortet, en Arduino og et højttalerdriverkort. Brugeren er i stand til at indtaste den aktuelle tid til kortet ved hjælp af 11 input switches på Basys 3 og låse værdien ved hjælp af den midterste knap på kortet. Brugeren kan derefter indtaste alarmtiden ved hjælp af de samme kontakter, men tryk på den venstre knap for at låse alarmtiden. Hvis det forkerte tidspunkt indtastes, kan der trykkes på nulstillingsknappen (øverste knap), og det aktuelle ur og alarmtid indstilles til 00:00. Brugeren kan derefter starte uret ved hjælp af kontakten til venstre og tænde alarmen ved hjælp af den næste kontakt. Når alarmen er tændt, vil vækkeuret afgive en lyd, når uret og indstillet alarmtid matcher.
Trin 1: Black Box Diagram
Vi startede vores projekt med at tegne et sort boksdiagram for at visualisere de input og output, der er nødvendige i vores program. Følgende input til vores program, såsom 5-bit input (Hour_in) blev initialiseret for at angive 24-timers tid, 6-bit (Min_in) input for at vise op til 60 minutter, en reset (Rst_b) knap, så brugeren kunne ændre deres tidsindgang, en 1-bit input (alm_en), der indlæser alarmindgangen, en 1-bit input (alarm_sw) for at slukke vækkeuret, når det er aktiveret, en 1-bit input (e_sec), der styrer, når tælleren sekunder kører, en 1-bit input (Led_btn), der indstiller det aktuelle klokkeslæt, og endelig en 1-bit input (clk), der styrer den tid, der vises af Basys 3-kortet. Outputene er (alm_on), der sender signalet til Arduino, sseg -output, der viser inputtiden på Basys 3, og anodeudgangen, der styrer, hvor input vises på de syv segmenters display.
Trin 2: Langsomt ur
Det langsomme ur eller clock_div2 -filen opretter et ur, hvis frekvens er 2 hz. Hvis vi fodrer dette ur til vores sekundærtæller, stiger sekundværdien med et hvert sekund. Det langsomme ur bruges til at skabe et pålideligt urssignal, der skifter fra lavt til højt en gang i sekundet.
Trin 3: Tæller
Komponenttæller (minutter og sekunder):
Den grundlæggende funktion af minutter og sekunder er, at de er tællere. Minuttælleren indtager input (Vin), som er signal fra input (Min_in), og tæller derefter, indtil den ønskede input er indtastet. Sekunderne tager kun input af switch (e_Sec), da den ikke kan vises på det syv segment og tæller i baggrunden, når kontakten er høj '1'. De sender begge værdien til (Qout), og derefter gemmes den i (data), der sender den til SSEG, som udføres i forbindelsesfilen. Når minutter og sekunder når værdierne på 59, nulstilles det også, og output fra dem er '1' for at øge minutter/time. Det kan også kortlægges med en nulstilling (rst_b) til deres input.
Trin 4: Tællertime
Komponent tæller time
Tilsvarende til komponenttælleren for minutter og sekunder tager timekomponenten input som f.eks. (Vin), som er et signal fra sammenkædning af filinput (Time_in) og har output, der er forbundet på samme måde minutter og sekunder. Når tællingsværdien for timen når 24 00 nulstilles den til 00 00.
Trin 5: Alarm
Alarm.vhd-filen består af d-flip-flops, som er lagerenheder, der kan lagre digitale data. Alarmfilen bruges til at gemme det tidspunkt, hvor alarmen aktiveres. For at gemme data om timer (5 bit input) og minutter (6 bit input) skal vi stemple 11 d-flip-flops i vores alarmfil. For at gøre dette skal vi først importere logikken for driften af d-flip-flops og kortlægge komponenterne. Hver af de 11 d-flip-flops gemmer en bit data fra inputene og gør det muligt at kortlægge dataene til alarmfilens output. Fordi d-flip-flops gemmer data, er vi i stand til at bruge dataene på et senere tidspunkt, selvom inputkontakterne er blevet ændret.
Trin 6: Universal Seven Segment Display Driver
Den universelle syv segment display driver modtager input fra uret og uret og er i stand til at sende dem til syv segment display på tavlen. Driveren er i stand til at udsende to separate tællinger på tavlen ad gangen. Vi brugte denne funktion til at vise både timetiden og minuttiden separat. Displayet med syv segmenter er kun i stand til at aktivere et tal ad gangen, derfor skal sseg -filen bruge multiplexering til at vise alle tidens numre samtidigt. Tavlernes ursignal føres ind i sseget for at holde det korrekte tidspunkt for multiplexering. En binær til binær kodet decimal encoder er nødvendig for at konvertere input til filen til en formular, der kan sendes til displayet med syv segmenter. Det endelige output af sseg -filen knyttes til displayet med syv segmenter, og det korrekte tidspunkt vises på displayet.
Trin 7: Link fil
Linkfilen forbinder alle andre aspekter af programmet og kortlægger signalerne til deres korrekte placering. Hver komponent bringes ind og instantieres i filen. Signaler bruges til at overføre data fra den ene komponent til den anden. Portkortlægningen følger det sorte boksdiagram, der er anført ovenfor. Linkfilen indeholder også den logik, der styrer, når alarmen aktiveres. Det meste af projektet vil allerede være afsluttet på dette tidspunkt. Det resterende arbejde dirigerer hvert signal til det passende sted.
Trin 8: Arduino
Arduino bruges til at aktivere højttaleren samt styre tonen og varigheden af den note, der spilles gennem højttaleren. Arduino’en læser et digitalt signal fra Basys 3 -kortet. Når dette signal er højt, udsender arduinoen et PWM -signal, der styrer tonen og varigheden af alarmen. Udgangssignalet fra arduinoen forbinder til input -signalet fra et højttalerdriverkort, som øger højttaleren. Arduinoen udfører denne proces meget hurtigt og gentager mange gange i sekundet.
Trin 9: Kabelføring
Arduino- og Basys 3 -kortet skal være fysisk forbundet for at overføre signaler mellem kortene. Det første kabel til ledning vil være fra jordnålen på JA PMOD i Basys 3 til jordstiften på arduinoen. Tilslut derefter en ledning fra pin 1 på JA PMOD i Basys 3 til digital pin 7 på arduinoen. Tilslut derefter to jordstifter fra arduinoen til jordstifterne på højttalerdriveren. Forbind derefter 3,3 V -udgangen fra arduinoen til Vcc -stiften på højttalerdriveren. Tilslut derefter den digitale pin 9 på arduinoen til In -pin på højttalerdriveren.
Anbefalede:
Smart vækkeur ved hjælp af Magicbit (Arduino): 10 trin
Smart vækkeur ved hjælp af Magicbit (Arduino): Denne vejledning viser, hvordan du laver et smart vækkeur ved hjælp af OLED -display i Magicbit dev board uden at bruge noget RTC -modul
Twin Bell vækkeur fra sodavand: 7 trin (med billeder)
Twin Bell vækkeur fra sodavand: Denne instruktion viser dig, hvordan du laver et dobbeltklokke vækkeur fra sodavand.Projektet bruger sodavand, hvor blækket blev fjernet (Link: Blækfjernelse fra sodavand). For at gøre dette vækkeur fuldt funktionsdygtigt blev et DIY kvartsurmodul integreret
Et støjende vækkeur: 3 trin
Et støjende vækkeur: Jeg er en 13 -årig studerende i Taiwan.Jeg laver ting med Arduino for første gang, hvis du kan fortælle mig, hvordan jeg kan forbedre dette arbejde, bedes du efterlade kommentarer til mig, så jeg kan gøre det bedre. (Tak ) Dette ur kan vække dig, når du tager en lur, men jeg
Smart vækkeur - Intel Edison - Iot RoadShow - São Paulo: 4 trin
Smart vækkeur - Intel Edison - Iot RoadShow - São Paulo: En af de store dyder for alle, der bor eller arbejder i en storby, er tidsstyring. I dag er turene konstante, og da trafik er en af hovedfaktorerne. Når jeg tænker på det, lavede jeg en lille applikation, der bruger integrationen med Google M
Smart vækkeur: et smart vækkeur lavet med hindbær Pi: 10 trin (med billeder)
Smart vækkeur: et smart vækkeur lavet med Raspberry Pi: Har du nogensinde ønsket et smart ur? I så fald er dette løsningen for dig! Jeg lavede Smart Alarm Clock, dette er et ur, hvor du kan ændre alarmtiden i henhold til webstedet. Når alarmen går, kommer der en lyd (summer) og 2 lyser