Spisu treści:

Tłumacz liter na alfabet Morse'a: 5 kroków
Tłumacz liter na alfabet Morse'a: 5 kroków

Wideo: Tłumacz liter na alfabet Morse'a: 5 kroków

Wideo: Tłumacz liter na alfabet Morse'a: 5 kroków
Wideo: MÓWIMY TYLKO NA „P” PRZEZ CAŁY DZIEŃ! 2024, Lipiec
Anonim
Tłumacz listu do alfabetu Morse'a
Tłumacz listu do alfabetu Morse'a

Oglądanie reprezentacji alfabetu Morse'a online w celu nauczenia się tego jest pomocne, ale nie można go porównać do zobaczenia go osobiście z prawdziwymi migającymi światłami/dźwiękami. Ten tłumacz pozwoli Ci wybrać literę, której chcesz się nauczyć alfabetem Morse'a, i przetłumacz ją na twoich oczach, migając diodami LED we wzorze, który reprezentuje dla tej konkretnej litery! Ten tłumacz przyjmuje binarną reprezentację litery w alfabecie (wykres można zobaczyć później dla binarnego odpowiednika każdej litery, ale załóżmy, że A - 01, B - 10, C - 11 itd.) i konwertuje go w odpowiednik alfabetu Morse'a, migając światłami dla użytkownika. Wersja dziesiętna liczby jest również wyświetlana na wyświetlaczu siedmiosegmentowym, aby poinformować Cię, że tworzysz poprawny odpowiednik binarny.

Liczba binarna jest tworzona za pomocą przełączników po prawej stronie i rośnie od najmniej znaczącego bitu, podobnie jak można się spodziewać podczas tworzenia liczby binarnej. Utworzona liczba jest wyświetlana na siedmiosegmentowym wyświetlaczu, jak wspomniano wcześniej, i znajduje się po lewej stronie tablicy, po prostu powie ci, czy popełniłeś błąd, czy nie, przedstawiając liczbę binarną za pomocą przełączników, lub potwierdzi, że popełniłeś poprawny numer. Przyjmuje jedną literę na raz, przechowuje ją w pamięci, a następnie drukuje kod Morse'a, gdy użytkownik jest gotowy, aktywując „przełącznik drukowania” znajdujący się po lewej stronie płyty BASYS3 (jest to po prostu kolejny przełącznik, który przypisany jako „przełącznik drukowania” lub inny przełącznik, jeśli używasz innego typu płyty FPGA i przypisz inny przełącznik (patrz krok 3) Dla uproszczenia zaleca się użycie płyty BASYS3, ale nie jest to wymagane.

Krok 1: Krok 1: Zbierz swoje materiały

Do tego projektu potrzebujesz tylko:

Sprzęt - płyta Basys3 (lub odpowiednik FPGA, który można odpowiednio okablować)

-(OPCJONALNIE) Przewody, jeśli planujesz podłączyć dodatkowe diody LED lub różne przełączniki do alternatywnego FPGA

Software-Vivado Design Suite (zalecamy 2014+)

Krok 2: Krok 2: Utwórz plik

Jest to plik napisany w VHDL w celu uruchomienia translatora Morse Code 1 Bit w Vivado. Ten plik działa ze wszystkimi wersjami Vivado. Jeśli wystąpią problemy z pobieraniem pliku, tekstową reprezentację kodu można znaleźć w innym pliku poniżej i można ją łatwo skopiować i wkleić do tworzonego folderu plików. Upewnij się, że zarówno źródło główne, jak i plik ograniczeń są obecne i znajdują się w osobnych źródłach, zanim spróbujesz wygenerować strumień bitów lub cokolwiek zsyntetyzować. Dla tych, którzy chcą zrozumieć bardziej dogłębne wyjaśnienie kodu i tego, co naprawdę robi, zapoznaj się z krokiem 3. Jeśli chcesz po prostu przejść do sedna i zacząć tłumaczyć, przejdź od razu do sekcji 4.

Krok 3: Krok 3: Kodeks

Nasz kod zawiera 4 oddzielne procesy, które działają jednocześnie. Każda z poniższych podsekcji w tym kroku będzie bardziej szczegółowo omawiać, co każdy z nich robi.

Proces 1:

Pierwszy stworzony przez nas proces wykorzystywał dzielnik zegara, aby wyświetlacz siedmiosegmentowy działał dla dwóch segmentów, aby pokazać binarny odpowiednik litery, którą tworzyła dana osoba. Musieliśmy się upewnić, że zegar poprawnie wyświetla liczbę w odpowiednich siedmiu sekcjach segmentów, które chcieliśmy. Odpowiednio przypisaliśmy segmenty, aby wyświetlały pewne cyfry, gdy ich o to poprosiliśmy, i przeszły przez ostatnie 2 cyfry, ponieważ potrzebowaliśmy tylko 2, aby pokazać wszystkie liczby w alfabecie. Zrobiliśmy wyświetlacz siedmiosegmentowy w systemie liczb dziesiętnych, aby łatwiej było ludziom zobaczyć, jaką literę próbują przedstawić, ponieważ większość populacji korzysta z systemu liczb dziesiętnych.

Proces 2:

Drugi proces tworzy nasz zegar dla diod LED, dzięki czemu możemy wyraźnie widzieć impulsy i rozróżniać kropkę i kreskę, a także mieć odpowiedni czas między każdą sekcją kodu Morse'a. Wykorzystaliśmy sygnał do przekazania magistrali pełnej wyjść diod LED kodu Morse'a poza proces i na diody LED na płycie, abyśmy mogli zapalić kilka naraz, zamiast mieć tylko jedną lampę błyskową LED.

Proces 3:

Nasz trzeci proces analizuje bieżące stany przełączników i przypisuje literę do dowolnej wyświetlanej w tym czasie reprezentacji binarnej. To przechodzi przez każdą z liter, wraz ze spacją, kropką i przecinkiem. Ten proces kończy się tutaj, a wszystkie części są zbierane w czwartym procesie, aby zakończyć tłumaczenie.

Proces 4:

Czwarty proces to proces „tłumacza”, który pobiera wszystkie informacje, które do tej pory zebraliśmy, takie jak to, czy przycisk sklepu został aktywowany, czy przełącznik drukowania jest włączony, czy nie oraz jaki numer jest aktualnie reprezentowane przez przełączniki. To następnie zagląda do utworzonej przez nas tablicy, która ma reprezentacje kodu Morse'a tego, jaki byłby wynik z jedynkami i zerami równymi poleceniom włączania/wyłączania dla diod LED. Zamiast używać dwóch oddzielnych zegarów cyklu pracy, stworzyliśmy pojedynczy zegar o cyklu pracy 50%, który naszym zdaniem był dobrą szybkością dla alfabetu Morse'a i wykonał kropkę z 1 wysokim „impulsem” i kreską dla 3 wysokich” impulsy”. Aby uprościć kod i przyspieszyć jego działanie, właśnie utworzyliśmy kropkę równą „010” i kreskę równą „01110”.

Krok 4: Krok 4: Wygeneruj Bistream i zaimplementuj

Ten projekt jest bardzo łatwy do skonfigurowania, jeśli masz płytę BASYS3, ponieważ wszystkie wymagane przełączniki i przyciski są już obecne na płycie, abyś mógł ich użyć, wraz z ograniczeniami wstępnie ustawionymi dla pinów, które chcesz. Jeśli używasz innego FPGA, będziesz musiał przejść do kodu i znaleźć ograniczenia i przekierować je do poprawnych ograniczeń dla twojego FPGA. Dotyczy to również sytuacji, gdy planujesz podłączyć inne diody LED i przełączniki do swojej płyty w celu użycia. Nie będziemy wchodzić w przykłady tego, ale użycie instrukcji obsługi konkretnego FPGA byłoby bardzo pomocne w określeniu, jak podłączyć i poprowadzić wszystko do właściwych pinów.

W tym momencie, po pobraniu kodu i otwarciu pliku, po prostu wygeneruj strumień bitów w Vivado i zaprogramuj swoje urządzenie. Gdy to zrobisz, będziesz mógł zacząć wpisywać litery do przetłumaczenia na alfabet Morse'a! Cieszyć się!

*UWAGA: „Przełącznik drukowania” znajduje się po lewej stronie płyty (przełącznik R2 dla płyty BASYS3), a „przycisk zapisywania” to przycisk U18 (środkowy przycisk na płycie BASYS3), jeśli ograniczenia są pobierane bezpośrednio z nasz przykładowy kod.

Krok 5: Problemy/Rozwiązywanie problemów

Jeśli masz problemy z pobraniem pliku, możesz ręcznie skopiować i wkleić kod z tego pliku tekstowego. Istnieje również załącznik, który możesz sprawdzić, aby ułatwić konwersję między binarnym na literę i tym, co powinna reprezentować litera, więc zalecamy ich sprawdzenie! Jeśli używasz płyty BASYS3, powinieneś być w stanie postępować zgodnie z tymi instrukcjami i pobrać kod bez żadnych problemów i wdrożyć go bez problemów po podłączeniu płyty i zaprogramowaniu jej.

*UWAGA: jeśli okaże się, że tłumacz działa wolno, jest to normalne! Pomiędzy naciśnięciem przycisku print a wyświetleniem jego reprezentacji w alfabecie Morse'a występuje niewielkie opóźnienie. Jeśli zatrzymasz cykl poprzez wyłączenie przełącznika drukowania, kod będzie musiał ukończyć cykl przed wydrukowaniem nowej litery, pozostawiając oczekiwanie na zakończenie cyklu i rozpoczęcie następnej litery.

Zalecana: