INHOUDSOPGAWE:

Bewegingsriggers: 5 stappe
Bewegingsriggers: 5 stappe

Video: Bewegingsriggers: 5 stappe

Video: Bewegingsriggers: 5 stappe
Video: ПОЛТЕРГЕЙСТ 5 УРОВНЯ СНОВА НЕ ДАЕТ ПОКОЯ, ЖУТКАЯ АКТИВНОСТЬ / LEVEL 5 POLTERGEIST, CREEPY ACTIVITY 2024, November
Anonim
Motion Triggered Lights
Motion Triggered Lights

Hierdie gids sal u wys hoe u 'n FPGA kan gebruik om 'n bewegingsensor van verskillende kleure te aktiveer, solank daar beweging is. Die vlakke van rooi, blou en groen word almal beheer deur 'n waarde aan elke individuele kleur vas te stel. Hierdie projek is geskep deur Timmy Nguyen en Ryan Luke vir 'n finale projek van CPE 133 klas.

Stap 1: Onderdele

Dele
Dele
Dele
Dele
Dele
Dele
Dele
Dele

Versamel die volgende dele:

-1 Basys 3 FPGA bord

-1 Broodbord

-1 RGB analoog LED

-3 npn/n-kanaal MOSFET's

-1 220 ohm weerstand

-1 PIR bewegingsensor

-veelvoudige springkabels

Stap 2: Programmeer die FPGA Basys 3

Programmeer die FPGA Basys 3
Programmeer die FPGA Basys 3

Vir hierdie projek gebruik ons Pulse Width Modulation (PWM) om die helderheid en kleur van 'n RGB LED te beheer, wat aan- en uitskakel op grond van die uitset van 'n bewegingsopsporende PIR -sensor. As die sensor beweging opspoor, sal die LED ongeveer 4 sekondes aanskakel, wat 'n funksie van die sensor is.

Alle lêers wat vir hierdie projek benodig word, is in hierdie afdeling ingesluit.

Modules:

Klokverdeler: die basys 3 se ingeboude klok het 'n frekwensie van 100 MHz, so ons wil die frekwensie tot 10 KHz verlaag om dit beter in die toonbank te bestuur.

Teller: Die teller gebruik die verminderde 10 KHz as 'n inset en tel tot 255 as dit deur die bewegingsensor geaktiveer word.

3 D flipflops: die gebruiker sal enige verskeidenheid van die 8 skakelaars op die bord omdraai, en hierdie flipflops sal die waarde van die skakelaars in die vergelyker in die vergelyking hou as dit geaktiveer word deur op die aanskakelknoppie te druk. Hierdie vasgestelde waarde bepaal die werksiklus, of polswydte, van die uitsetsein wat na die LED gaan.

3 Vergelykers: Die 8 -bis -uitset van die toonbank gaan afsonderlik na elk van die vergelykers en word vergelyk met die 8 -bis -uitset van die flip -flop. As die telleruitset minder is as die vasgestelde waarde van die D Flip Flop, sal die vergelyker 'n een-bit hoë waarde lewer; as die telleruitset groter is as die toegesluitde waarde, sal die vergelyker 'n een-bit lae waarde lewer. Die vergelyker voer dan sy waarde in die sensordekodeerder uit.

3 Sensor -dekodeerders: Die sensor -dekodeerder gee óf die waarde van die vergelyker af as daar beweging deur die sensor (1) of lae spanning (0) waargeneem word as daar geen beweging is nie. Hierdie uitsette gaan direk na die RGB LED.

Nadat u die VHD -lêers afgelaai het:

Sodra die lêers afgelaai en in 'n projek geplaas is, sintetiseer, implementeer en skryf die bitstroom vir die projek. Koppel dan die basys 3 -bord en programmeer die toestel.

Stap 3: Bou stroombaan op broodbord

Bou stroombaan op broodbord
Bou stroombaan op broodbord
Bou stroombaan op broodbord
Bou stroombaan op broodbord
Bou stroombaan op broodbord
Bou stroombaan op broodbord

U kan die skema volg en foto's skep die kring. Die gronde is algemeen in die stroombaan, en daar kan ekstra weerstande in serie met die mosfets bygevoeg word om die rooi, blou of groen seine verder te demp.

Stap 4: Koppel komponente aan die Basys 3 -bord

Koppel komponente aan die Basys 3 -bord
Koppel komponente aan die Basys 3 -bord
Koppel komponente aan die Basys 3 -bord
Koppel komponente aan die Basys 3 -bord
Koppel komponente aan die Basys 3 -bord
Koppel komponente aan die Basys 3 -bord

U kan die skematika en verwysings op die foto's gebruik om u Basys 3 -bord aan die broodbord te koppel.

Stap 5: Hoe om dit te gebruik

U kan 'n binêre waarde invoer wat deur die skakelaars SW0-SW7 voorgestel word. Sodra u hierdie waarde het, kan u op die knoppies BTN_L (rooi), BTN_C (blou) en BTN_R (groen) druk om die waarde in die kleur te hou wat deur die knoppie gekies is. Intussen sal die bewegingsensor die LED aanskakel om by elke beweging te verlig.

Aanbeveel: