Sommario:

Traduttore da lettera a codice Morse: 5 passaggi
Traduttore da lettera a codice Morse: 5 passaggi

Video: Traduttore da lettera a codice Morse: 5 passaggi

Video: Traduttore da lettera a codice Morse: 5 passaggi
Video: TUTTO quello che vuoi sapere sul CODICE MORSE in 5:18 minuti - Tutorial 2024, Luglio
Anonim
Traduttore da lettera a codice Morse
Traduttore da lettera a codice Morse

Vedere le rappresentazioni del codice Morse online per impararlo è utile, ma non può essere paragonato a vederlo di persona con luci/suoni lampeggianti reali. Questo traduttore ti permetterà di scegliere la lettera che vuoi imparare in codice Morse e tradurla davanti ai tuoi occhi facendo lampeggiare i LED nel modello che rappresenta per quella lettera specifica! Questo traduttore acquisisce una rappresentazione binaria di una lettera dell'alfabeto (più avanti è possibile visualizzare un grafico per l'equivalente binario di ciascuna lettera, ma supponiamo che A - 01, B - 10, C - 11 e così via) e converta in un codice Morse equivalente lampeggiando luci per l'utente. La versione decimale del numero viene visualizzata anche su un display a sette segmenti, tuttavia, per farti sapere che stai creando l'equivalente binario corretto.

Il numero binario viene creato con gli interruttori sul lato destro e sale dal bit meno significativo, proprio come ci si aspetterebbe quando si crea un numero binario. Il numero che crei viene mostrato sul display a sette segmenti come detto prima e si trova sulla sinistra della scacchiera, ti dirà semplicemente se hai commesso un errore o meno nel rappresentare il numero binario con gli interruttori, o ti confermerà di aver fatto il numero corretto. Prende 1 lettera alla volta, la memorizza in memoria, quindi stampa il codice Morse quando l'utente è pronto attivando l'"interruttore di stampa" che si trova all'estrema sinistra della scheda BASYS3 (questo è semplicemente un altro interruttore che assegnato come "interruttore di stampa" o un altro interruttore se si utilizza un tipo diverso di scheda FPGA e assegnare un interruttore diverso (vedere il passaggio 3) Si consiglia di utilizzare una scheda BASYS3 per semplicità, ma non è necessario.

Passaggio 1: Passaggio 1: Raccogli i tuoi materiali

Per questo progetto, avrai solo bisogno di quanto segue:

Hardware- Scheda Basys3 (o un FPGA equivalente che è possibile cablare di conseguenza)

-(OPZIONALE) Cavi se si prevede di collegare LED aggiuntivi o interruttori diversi a un FPGA alternativo

Software-Vivado Design Suite (consigliamo 2014+)

Passaggio 2: Passaggio 2: creare un file

Questo è il file scritto in VHDL per eseguire il traduttore Morse Code 1 Bit in Vivado. Questo file funziona con tutte le versioni di Vivado. Se ci sono problemi con il download del file, una rappresentazione testuale del codice può essere trovata in un altro file di seguito e può essere facilmente copiata e incollata nella cartella del file che stai creando. Assicurati che sia la sorgente principale che il file dei vincoli siano presenti e nelle loro sorgenti separate prima di provare a generare un flusso di bit o sintetizzare qualsiasi cosa. Per coloro che desiderano comprendere una spiegazione più approfondita del codice e di cosa sta realmente facendo, dai un'occhiata al passaggio 3. Se vuoi semplicemente arrivare al punto e iniziare a tradurre, vai alla sezione 4.

Passaggio 3: Passaggio 3: il codice

Il nostro codice presenta 4 processi separati che vengono eseguiti tutti contemporaneamente. Ognuna delle seguenti sottosezioni in questo passaggio approfondirà ciò che ciascuna di esse fa.

Processo 1:

Il primo processo che abbiamo creato utilizzava un divisore di orologio per far funzionare il display a sette segmenti per due segmenti in modo da mostrare l'equivalente binario della lettera che la persona stava creando. Dovevamo assicurarci che l'orologio mostrasse correttamente il numero nelle sezioni corrette di sette segmenti che volevamo. Abbiamo assegnato i segmenti di conseguenza, in modo che mostrassero determinate cifre anche quando glielo chiedevamo, e abbiamo fatto scorrere le ultime 2 cifre perché avevamo solo bisogno di 2 per mostrare tutti i numeri dell'alfabeto. Abbiamo realizzato la visualizzazione a sette segmenti nel sistema di numerazione decimale in modo che fosse più facile per le persone vedere quale lettera stavano cercando di rappresentare, poiché la maggior parte della popolazione utilizza sistemi di numerazione in base 10.

Processo 2:

Il secondo processo crea il nostro orologio per il funzionamento dei LED, in modo che possiamo vedere chiaramente gli impulsi e distinguere tra il punto e il trattino, oltre a disporre di un tempo adeguato tra ogni sezione del codice Morse. Abbiamo utilizzato un segnale per far passare un bus pieno di uscite LED in codice Morse al di fuori del processo e sui LED sulla scheda in modo da poterne accendere più di uno contemporaneamente, invece di avere un solo flash LED.

Processo 3:

Il nostro terzo processo esamina gli stati correnti degli interruttori e assegna la lettera a qualunque rappresentazione binaria venga visualizzata in quel momento. Questo passa attraverso ciascuna delle lettere, insieme a uno spazio, un punto e una virgola. Questo processo termina qui e tutte le parti vengono raccolte nel quarto processo per completare la traduzione.

Processo 4:

Il quarto processo è il processo "traduttore", che raccoglie tutte le informazioni che abbiamo raccolto finora, ad esempio se il pulsante Store è stato attivato o meno, se l'interruttore di stampa è acceso o spento e quale numero viene rappresentato dagli interruttori. Questo quindi esamina un array che abbiamo creato, che ha rappresentazioni in codice Morse di quale sarebbe l'output con 1 e 0 uguali ai comandi On/Off per i LED. Invece di utilizzare due clock con ciclo di lavoro separati, abbiamo creato un singolo clock con ciclo di lavoro del 50% che ritenevamo una buona velocità per il codice Morse e gli abbiamo fatto eseguire un punto con 1 "impulso" alto e un trattino per 3 "alto". impulsi." Per semplificare il codice e renderlo più veloce, abbiamo appena creato un punto uguale a "010" e un trattino uguale a "01110".

Passaggio 4: Passaggio 4: Generare il Bistream e implementare

Questo progetto è molto facile da configurare se si dispone di una scheda BASYS3 poiché tutti gli interruttori e i pulsanti necessari sono già presenti sulla scheda per l'utilizzo, insieme ai vincoli preimpostati sui pin desiderati. Se stai utilizzando un FPGA diverso, dovrai entrare nel codice e trovare i vincoli e reindirizzarli ai vincoli corretti per il tuo FPGA. Questo è vero anche se hai intenzione di collegare altri LED e interruttori alla tua scheda per l'uso. Non entreremo in esempi di questo, ma l'utilizzo del manuale di istruzioni del tuo specifico FPGA sarebbe molto utile per determinare come cablare e instradare tutto ai pin corretti.

A questo punto, una volta scaricato il codice e aperto il file, è sufficiente generare il bitstream in Vivado e programmare il dispositivo. Una volta fatto, potrai iniziare a inserire le lettere da tradurre in codice Morse! Divertiti!

*NOTA: L'"interruttore di stampa" si trova all'estrema sinistra della scheda (interruttore R2 per la scheda BASYS3) e il "pulsante Store" è il pulsante U18 (pulsante centrale nella scheda BASYS3) se i vincoli sono presi direttamente da il nostro codice di esempio.

Passaggio 5: problemi/risoluzione dei problemi

Se hai problemi a scaricare il file, puoi copiare e incollare il codice manualmente da questo file word. C'è anche un allegato da controllare per facili conversioni tra binario in lettera e cosa dovrebbe rappresentare la lettera, quindi ti consigliamo di controllarli! Se stai utilizzando la scheda BASYS3, dovresti essere in grado di seguire queste istruzioni e scaricare il codice senza problemi e implementarlo senza problemi una volta collegata la scheda e programmata.

*NOTA: se trovi che il tuo traduttore sembra funzionare lentamente, è normale! C'è un piccolo ritardo tra il momento in cui premi la stampa e quando ne vedi la rappresentazione in codice Morse. Se metti in pausa il ciclo spegnendo l'interruttore di stampa, il codice dovrà completare il ciclo prima di stampare la nuova lettera, lasciandoti in attesa che il ciclo finisca e la lettera successiva inizi.

Consigliato: