Table des matières:

Détecteur de mouvement Basys3 : 8 étapes
Détecteur de mouvement Basys3 : 8 étapes

Vidéo: Détecteur de mouvement Basys3 : 8 étapes

Vidéo: Détecteur de mouvement Basys3 : 8 étapes
Vidéo: #10 Car Parking Slot System | Basys 3 FPGA Board | Verilog | Step-by-Step Instructions 2024, Juillet
Anonim
Détecteur de mouvement Lumières Basys3
Détecteur de mouvement Lumières Basys3
Détecteur de mouvement Lumières Basys3
Détecteur de mouvement Lumières Basys3
Détecteur de mouvement Lumières Basys3
Détecteur de mouvement Lumières Basys3

Pour notre projet final de conception numérique, nous avons décidé de simuler des lumières de détecteurs de mouvement. Ils s'activent non seulement lorsqu'un objet est à proximité, mais également uniquement à un certain moment de la journée. Nous sommes en mesure de modéliser cela en utilisant FPGA (carte Basys3). Tout en utilisant le FPGA, nous avons permis à un utilisateur de saisir une heure à laquelle les capteurs de mouvement peuvent commencer à s'activer, puis les capteurs enverront un signal en fonction du capteur consiste à allumer cette lumière spécifique dans cette pièce ou cette zone. Nous avons modélisé cela en autorisant l'activation d'un seul capteur de mouvement à un moment donné et en allumant les lumières données en conséquence. En raison de la limitation du temps, nous ne pouvons pas faire en sorte que le temps entré par l'utilisateur affecte l'activation du capteur de mouvement. Cependant, la base de notre logique devrait permettre à quelqu'un de la reproduire facilement et de l'améliorer.

### Le lien ci-dessous montre une vidéo du projet

drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing

Étape 1: Équipement nécessaire

Équipement nécessaire
Équipement nécessaire

Pour ce projet, vous aurez besoin des éléments suivants:

-Carte Basys3

-Câble USB vers micro-usb

-8 fils de cavalier de planche à pain

-Planche à pain

-2 LED diffuses

Étape 2: Diagramme Blackbox/Machine à états finis

Diagramme de boîte noire/machine à états finis
Diagramme de boîte noire/machine à états finis
Diagramme de boîte noire/machine à états finis
Diagramme de boîte noire/machine à états finis

Ce diagramme de boîte noire montre les entrées requises pour que les lumières LED s'allument. L'entrée Heure et les entrées Min représentent le temps que l'utilisateur a entré sur la carte basys3 (à l'aide de commutateurs). Comme, pour l'entrée sw représente dans quelle partie de la pièce se trouve l'utilisateur (encore une fois en utilisant des commutateurs pour représenter l'objet de localisation).

Le FSM montre la transition d'une zone à une autre zone d'une pièce où se trouve un objet à un moment donné. Il y a 4 capteurs différents dans les différentes pièces qui sont représentés par (s1, s2, s3, s4). Qui contrôlent les sorties, ou les lumières dans les différentes pièces par exemple la lumière (L1, L2, L3). L'état initial des capteurs ne détecte personne, donc toutes les lumières sont éteintes. Pour passer à l'état suivant (état 1), s1 doit détecter quelqu'un, s2, s3 et s4 seront désactivés. Cela produira L1 (allumer la lumière 1), L2 et L3 seront éteints. Pour passer à l'état 2 à partir de l'état 1, s1, s3 et s4 doivent être désactivés, s2 doit être activé. Cela activera L1 et L2. Pour passer à l'état suivant à partir de cet état, s3 doit être activé et tous les autres capteurs doivent être désactivés. Cela activera L2 et L3, L1 sera éteint. Pour passer à l'état final, S4 doit être allumé et tous les autres capteurs doivent être éteints. Cela allumera L3 uniquement, toutes les autres lumières seront éteintes. Si une personne entre dans la pièce par le côté s4 et sort par s1, toutes les étapes seront dans l'ordre inverse.

Étape 3: Horloge numérique BlackBox

Horloge numérique BlackBox
Horloge numérique BlackBox

Le but de l'horloge numérique que nous avons créée est que les lumières des capteurs ne s'activent pas pendant la journée et ne fonctionnent que pendant le temps que l'utilisateur a saisi. L'horloge numérique prend en entrée hour_in et mins_in à l'aide de commutateurs sur la carte basys3, et pour pouvoir la charger sur la carte, vous devez appuyer sur (led_btn) pour l'afficher à bord. Nous avons également ajouté un bouton de réinitialisation (rst_b) afin que vous puissiez re-télécharger à une heure différente. Comme le basys3 a suffisamment d'espace pour afficher 3 instances différentes d'informations, nous avons implémenté les secondes en arrière-plan. Pour cela, nous avons implémenté un commutateur de secondes afin qu'il ne s'incrémente dans le temps que lorsque l'utilisateur décide d'activer l'entrée (e_sec) sur la carte basys3. Le travail de trame interne à l'intérieur de l'horloge numérique est composé de bascules qui stockent le temps entré et de compteurs qui incrémentent le temps que l'utilisateur a entré uniquement lorsque (e_sec) est activé. Nous ajouterons le code afin que vous puissiez voir comment il a été mis en œuvre exactement.

Étape 4: Ensemble des composants et description

Composants Ensemble et Description
Composants Ensemble et Description
Composants Ensemble et Description
Composants Ensemble et Description

Les images ci-dessus montrent comment les composants sont connectés ensemble. Il commence par prendre d'abord les heures et les minutes d'entrée. Les signaux de ces entrées sont envoyés au compteur d'heures et de minutes où il additionne les bits, et le signal de sortie des compteurs est envoyé au composant SSEG où il convertit les bits en caractères spécifiques qui seront affichés sur la carte basys3. Cependant, le signal des compteurs ne sera pas envoyé au composant SSEG tant que l'utilisateur n'aura pas appuyé sur input (led_btn). Ceci a été fait car nous n'avons pas créé de FSM pour l'horloge numérique. De plus, le temps entré n'augmentera pas jusqu'à ce que le commutateur d'entrée (e_sec) soit activé, car sinon le compteur de secondes fonctionnerait toujours en arrière-plan. Une fois que le compteur de secondes a atteint « 59 », il enverra un signal aux minutes afin qu'il incrémente les minutes, de même que de minutes en heures. En outre, il existe des entrées de capteur de mouvement et les signaux sont envoyés au composant FSM où il détermine l'état auquel aller en fonction du capteur. Son état initial est lorsque tous les capteurs sont éteints. Toute la description de FSM a été décrite à l'étape 2.

Étape 5: Coder

Étape 6: Modifications futures

À l'avenir, l'ajout de capteurs de mouvement réels avec une combinaison de LED au projet serait une amélioration. Afin que nous puissions augmenter la complexité du projet et voir si nous pouvons créer un capteur de lumière de mouvement moderne. Cela créerait plus de problèmes car vous devrez également penser à la proximité de l'objet afin que les lumières s'allument en conséquence. En outre, toutes les autres fonctionnalités préalables. En outre, améliorer la fonctionnalité de l'horloge numérique à l'aide d'un FSM au lieu d'attendre que l'utilisateur s'allume en secondes (e_sec). Le FSM pour une horloge numérique serait similaire à celui du capteur de mouvement.

Étape 7: Conclusion

Dans l'ensemble, ce projet nous a permis de mieux comprendre le fonctionnement des machines à états finis. De plus, avec FSM, vous devez toujours garder à l'esprit que vous devez savoir dans quel état vous vous trouvez et quand vous souhaitez passer à un autre état. En d'autres termes, vous devez savoir où vous êtes à un moment donné et où vous serez plus tard. En gardant à l'esprit quels facteurs vous permettront (entrées) de passer à un autre état, et ce qu'il fera quand il y arrivera (sortie). Nous avons également appris à stocker des informations dans la carte basys3 à l'aide de bascules qui sont des registres et à incrémenter le temps à l'aide de compteurs qui additionnent des nombres binaires.

Étape 8: Citation

Le two_sseg.vhdl = universal_sseg_dec.vhd

Ratner, James et Cheng Samuel.. Ratface Engineering.universal_sseg_dec.vhd

Conseillé: