Inhoudsopgave:

Door beweging geactiveerde lichten: 5 stappen
Door beweging geactiveerde lichten: 5 stappen

Video: Door beweging geactiveerde lichten: 5 stappen

Video: Door beweging geactiveerde lichten: 5 stappen
Video: H5.1 Bewegingen Vastleggen 2HAVO/VWO 2024, November
Anonim
Door beweging geactiveerde lichten
Door beweging geactiveerde lichten

Deze gids laat u zien hoe u een FPGA gebruikt om een bewegingssensor te creëren die licht van verschillende kleuren activeert zolang er beweging is. De niveaus van rood, blauw en groen worden allemaal gecontroleerd door een waarde aan elke individuele kleur te koppelen. Dit project is gemaakt door Timmy Nguyen en Ryan Luke voor een eindproject van de CPE 133-klasse.

Stap 1: Onderdelen

Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen

Verzamel de volgende onderdelen:

-1 Basys 3 FPGA-bord

-1 Breadboard

-1 RGB analoge LED

-3 npn/n-kanaal MOSFET's

-1 220 ohm weerstand

-1 PIR-bewegingssensor

-meerdere startkabels

Stap 2: Programmeer de FPGA Basys 3

Programmeer de FPGA Basys 3
Programmeer de FPGA Basys 3

Voor dit project gebruiken we pulsbreedtemodulatie (PWM) om de helderheid en kleur van een RGB-led te regelen, die aan en uit gaat op basis van de output van een bewegingsdetecterende PIR-sensor. Als de sensor beweging detecteert, gaat de LED ongeveer 4 seconden branden, dit is een functie van de sensor.

Alle bestanden die nodig zijn voor dit project zijn opgenomen in deze sectie.

Modules:

Klokverdeler: de ingebouwde klok van de Basys 3 heeft een frequentie van 100 MHz, dus we willen die frequentie terugbrengen naar 10 KHz om deze beter te beheren in de teller.

Teller: De teller gebruikt de gereduceerde 10 KHz als invoer en telt tot 255 wanneer deze is ingeschakeld door de bewegingssensor.

3 D-flip-flops: de gebruiker zal elke variëteit van de 8 schakelaars op het bord omdraaien en deze flip-flops, wanneer ze worden geactiveerd door op de activeringsknop van die flip-flop te drukken, zullen de waarde van de schakelaars in de comparator vergrendelen. Deze vergrendelde waarde bepaalt de duty-cycle, of pulsbreedte, van het uitgangssignaal dat naar de LED gaat.

3 Comparatoren: De 8-bits uitvoer van de teller gaat naar elk van de comparatoren afzonderlijk en wordt vergeleken met de 8-bits uitvoer van de flip-flop. Als de telleruitgang kleiner is dan de vergrendelde waarde van de D-flipflop, geeft de comparator een hoge waarde van één bit af; als de telleruitgang groter is dan de vergrendelde waarde, zal de comparator een lage waarde van één bit afgeven. De comparator voert dan zijn waarde uit in de sensordecoder.

3 Sensordecoders: De sensordecoder zal ofwel de waarde van de comparator uitvoeren als er beweging wordt gedetecteerd door de sensor (1) of laagspanning (0) als er geen beweging is. Deze uitgangen gaan rechtstreeks naar de RGB-led.

Na het downloaden van de VHD-bestanden:

Zodra de bestanden zijn gedownload en in een project zijn geplaatst, synthetiseert, implementeert en schrijft u de bitstream voor het project. Sluit vervolgens het basys 3-bord aan en programmeer het apparaat.

Stap 3: Bouw een circuit op breadboard

Bouw een circuit op breadboard
Bouw een circuit op breadboard
Bouw een circuit op breadboard
Bouw een circuit op breadboard
Bouw een circuit op breadboard
Bouw een circuit op breadboard

U kunt het schema volgen en foto's maken het circuit. De aardingen zijn in het hele circuit gebruikelijk en er kunnen extra weerstanden in serie met de mosfets worden toegevoegd om de rode, blauwe of groene signalen verder te dimmen.

Stap 4: Sluit componenten aan op het Basys 3-bord

Sluit componenten aan op het Basys 3-bord
Sluit componenten aan op het Basys 3-bord
Sluit componenten aan op het Basys 3-bord
Sluit componenten aan op het Basys 3-bord
Sluit componenten aan op het Basys 3-bord
Sluit componenten aan op het Basys 3-bord

U kunt het schema en de verwijzingen in de foto's gebruiken om uw Basys 3-bord op het breadboard aan te sluiten.

Stap 5: Hoe te gebruiken?

U kunt een binaire waarde invoeren die wordt weergegeven door de schakelaars SW0-SW7. Zodra u deze waarde hebt, kunt u op de knoppen BTN_L (rood), BTN_C (blauw) en BTN_R (groen) drukken om die waarde vast te zetten in de kleur die door de knop is geselecteerd. Ondertussen zorgt de bewegingssensor ervoor dat de LED bij elke beweging oplicht.

Aanbevolen: