Table des matières:

Traducteur de lettre au code Morse : 5 étapes
Traducteur de lettre au code Morse : 5 étapes

Vidéo: Traducteur de lettre au code Morse : 5 étapes

Vidéo: Traducteur de lettre au code Morse : 5 étapes
Vidéo: APPRENDRE LE MORSE EN QUELQUES MINUTES pendant le confinement ! 2024, Novembre
Anonim
Lettre au traducteur du code Morse
Lettre au traducteur du code Morse

Voir les représentations du code Morse en ligne pour l'apprendre est utile, mais ne peut être comparé à le voir en personne avec de véritables lumières/sons clignotants. Ce traducteur vous permettra de choisir la lettre que vous souhaitez apprendre en code Morse et de la traduire sous vos yeux en faisant clignoter des LED dans le modèle qu'elle représente pour cette lettre spécifique ! Ce traducteur prend une représentation binaire d'une lettre de l'alphabet (un graphique peut être vu plus tard pour l'équivalent binaire de chaque lettre, mais supposez que A - 01, B - 10, C - 11, et ainsi de suite) et convertit en un équivalent en code Morse en faisant clignoter des lumières pour l'utilisateur. La version décimale du nombre est également affichée sur un affichage à sept segments, cependant, pour vous faire savoir que vous créez l'équivalent binaire correct.

Le nombre binaire est créé avec les commutateurs sur le côté droit et monte à partir du bit le moins significatif, un peu comme on peut s'y attendre lors de la création d'un nombre binaire. Le nombre que vous créez est affiché sur l'affichage à sept segments comme indiqué précédemment et est situé sur la gauche du tableau, il vous dira simplement si vous avez fait une erreur ou non en représentant le nombre binaire avec les commutateurs, ou confirmera que vous avez fait le bon numéro. Il prend 1 lettre à la fois, la stocke en mémoire, puis imprime le code Morse lorsque l'utilisateur est prêt en activant le "commutateur d'impression" situé à l'extrême gauche de la carte BASYS3 (c'est simplement un autre commutateur que nous affecté au "Print Switch", ou à un autre commutateur si vous utilisez un autre type de carte FPGA et affectez un autre commutateur (voir étape 3) Il est recommandé d'utiliser une carte BASYS3 pour plus de simplicité, mais ce n'est pas obligatoire.

Étape 1: Étape 1: Rassemblez vos documents

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

Hardware-Basys3 Board (ou un FPGA équivalent que vous pouvez câbler en conséquence)

-(FACULTATIF) Fils si vous prévoyez de connecter des LED supplémentaires ou des commutateurs différents à un autre FPGA

Logiciel-Vivado Design Suite (Nous recommandons 2014+)

Étape 2: Étape 2: Créer un fichier

Il s'agit du fichier écrit en VHDL pour exécuter le traducteur Morse 1 Bit dans Vivado. Ce fichier fonctionne avec toutes les versions de Vivado. S'il y a des problèmes avec le téléchargement du fichier, une représentation textuelle du code peut être trouvée dans un autre fichier ci-dessous et peut facilement être copiée-collée dans le dossier de fichiers que vous créez. Assurez-vous que la source principale et le fichier de contraintes sont présents et dans leurs propres sources distinctes avant d'essayer de générer un flux binaire ou de synthétiser quoi que ce soit. Pour ceux qui veulent comprendre une explication plus approfondie du code et de ce qu'il fait vraiment, consultez l'étape 3. Si vous voulez simplement aller droit au but et commencer à traduire, passez directement à la section 4.

Étape 3: Étape 3: le Code

Notre code comporte 4 processus distincts qui s'exécutent tous simultanément. Chacune des sous-sections suivantes de cette étape ira plus en profondeur dans ce que chacune d'elles fait.

Processus 1:

Le premier processus que nous avons créé utilisait un diviseur d'horloge pour faire fonctionner l'affichage à sept segments pour deux segments afin de montrer l'équivalent binaire de la lettre que la personne créait. Nous devions nous assurer que l'horloge affichait correctement le numéro dans les sept sections de segment correctes que nous voulions. Nous avons attribué les segments en conséquence, afin qu'ils affichent également certains chiffres lorsque nous leur avons demandé, et nous avons fait défiler les 2 derniers chiffres car nous n'avions besoin que de 2 pour afficher tous les nombres de l'alphabet. Nous avons fait l'affichage à sept segments dans le système de nombres décimaux afin qu'il soit plus facile pour les gens de voir quelle lettre ils essayaient de représenter, puisque la majorité de la population utilise des systèmes de nombres de base 10.

Processus 2:

Le deuxième processus crée notre horloge pour que les LED fonctionnent, afin que nous puissions voir les impulsions clairement et différencier entre le point et le tiret, ainsi qu'avoir suffisamment de temps entre chaque section de code Morse. Nous avons utilisé un signal pour faire passer un bus rempli de sorties LED de code Morse en dehors du processus et sur les LED de la carte afin que nous puissions en allumer plusieurs à la fois, plutôt que d'avoir un seul flash LED.

Processus 3:

Notre troisième processus examine les états actuels des commutateurs et attribue la lettre à la représentation binaire affichée à ce moment-là. Cela passe par chacune des lettres, avec un espace, un point et une virgule. Ce processus se termine ici et toutes les parties sont rassemblées dans le quatrième processus pour terminer la traduction.

Processus 4:

Le quatrième processus est le processus « traducteur », qui recueille toutes les informations que nous avons recueillies jusqu'à présent, telles que si le bouton de magasin a été activé ou non, si le commutateur d'impression est activé ou désactivé, et quel numéro est en cours. représenté par les interrupteurs. Cela examine ensuite un tableau que nous avons créé, qui a des représentations en code Morse de ce que serait la sortie avec des 1 et des 0 égalant les commandes On/Off pour les LED. Au lieu d'utiliser deux horloges à rapport cyclique distinctes, nous avons créé une seule horloge à rapport cyclique de 50 % qui, selon nous, était une bonne vitesse pour le code Morse, et lui avons fait effectuer un point avec 1 "impulsion" élevée et un tiret pour 3 hautes " impulsions." Pour simplifier le code et le rendre plus rapide, nous avons juste fait un Dot égal à "010" et un Dash égal à "01110".

Étape 4: Étape 4: Générer le Bistream et mettre en œuvre

Ce projet est très facile à mettre en place si vous avez une carte BASYS3 puisque tous les commutateurs et boutons nécessaires sont déjà présents sur la carte pour que vous puissiez les utiliser, ainsi que les contraintes préréglées sur les broches que vous souhaitez. Si vous utilisez un FPGA différent, vous devrez aller dans le code et trouver les contraintes et les réacheminer vers les contraintes correctes pour votre FPGA. Cela est également vrai si vous prévoyez de connecter d'autres LED et commutateurs à votre carte pour une utilisation. Nous n'entrerons pas dans des exemples de cela, mais l'utilisation du manuel d'instructions de votre FPGA spécifique serait très utile pour déterminer comment câbler et tout acheminer vers les bonnes broches.

À ce stade, une fois le code téléchargé et le fichier ouvert, générez simplement le flux binaire dans Vivado et programmez votre appareil. Une fois que vous l'aurez fait, vous pourrez commencer à saisir des lettres à traduire en code Morse ! Prendre plaisir!

*REMARQUE: Le "Print Switch" est situé à l'extrême gauche de la carte (Switch R2 pour la BASYS3 Board) et le "Store Button" est le bouton U18 (Le bouton central de la BASYS3 Board) si les contraintes sont directement issues de notre exemple de code.

Étape 5: Problèmes/Dépannage

Si vous rencontrez des problèmes pour télécharger le fichier, vous pouvez copier-coller le code manuellement à partir de ce fichier Word. Il y a aussi une pièce jointe à vérifier pour des conversions faciles entre le binaire à la lettre et ce que la lettre devrait représenter, nous vous recommandons donc de les vérifier ! Si vous utilisez la carte BASYS3, vous devriez pouvoir suivre ces instructions et télécharger le code sans aucun problème, et l'implémenter sans problème une fois que vous avez connecté la carte et l'avez programmée.

*REMARQUE: si vous trouvez que votre traducteur semble fonctionner lentement, c'est normal ! Il y a un petit délai entre le moment où vous appuyez sur imprimer et le moment où vous en voyez la représentation en code Morse. Si vous mettez le cycle en pause en éteignant l'interrupteur d'impression, le code devra terminer le cycle avant d'imprimer la nouvelle lettre, vous laissant attendre la fin du cycle et le début de la lettre suivante.

Conseillé: