Spisu treści:

Zegar Hellschreiber: 13 kroków (ze zdjęciami)
Zegar Hellschreiber: 13 kroków (ze zdjęciami)

Wideo: Zegar Hellschreiber: 13 kroków (ze zdjęciami)

Wideo: Zegar Hellschreiber: 13 kroków (ze zdjęciami)
Wideo: dcf 2024, Listopad
Anonim
Zegar Hellschreibera
Zegar Hellschreibera

Mały mikrokontroler jest zaprogramowany do wyprowadzania serii tonów, które po wprowadzeniu do karty dźwiękowej komputera i przetworzeniu przez program analizujący widmo, wyświetla obraz bieżącego czasu.

Krok 1: Oprogramowanie do laboratorium widma

Oprogramowanie do laboratorium widma
Oprogramowanie do laboratorium widma

Cała ciężka praca związana z analizowaniem i wyświetlaniem tonów jest wykonywana przez darmowe oprogramowanie "Spectrum Lab" napisane przez entuzjastę krótkofalarstwa, DL4YHF. Analizuje dźwięk podawany przez kartę dźwiękową i wyświetla wynik w postaci obrazu.

Zastosowany tutaj typ wyświetlacza nazywa się wyświetlaczem „wodospadu” i jest ustawiony na przewijanie od prawej do lewej. Tradycyjnie przewija się od góry do dołu, stąd określenie wodospad. Ten program jest używany przez amatorów między innymi do komunikowania się w połowie Ziemi z ułamkami wata. Jest to bardzo wydajny program i ma wiele ustawień, które należy odpowiednio dostosować, aby uzyskać dobry wyświetlacz. Termin „Hellschreiber” powstał w dziedzinie telegrafii dawno temu i dosłownie oznacza pisanie światłem. Wyświetlacz przedstawiony na wstępie jest wykresem natężenia częstotliwości w funkcji czasu. Mikrokontroler jest zaprogramowany do generowania serii tonów, tak że obraz informacji jest malowany przez ten program. Ten tryb jest zdefiniowany jako „sekwencyjny wielotonowy Hellschreiber” i jest używany do komunikacji na duże odległości przy użyciu stosunkowo prostego sprzętu nadawczego.

Krok 2: Czas jako sekwencja częstotliwości

Czas jako sekwencja częstotliwości
Czas jako sekwencja częstotliwości

Ten zrzut ekranu pokazuje przechwycenie z zegara wysyłającego informację sekwencyjną w sekundach. W rzeczywistości jest to fałszywe, ponieważ wygenerowanie każdego zestawu cyfr zajmuje kilka sekund, a zatem wyświetlacze obejmują większy przedział czasu niż sugerowane trzy sekundy.

Układ kropek widoczny nad linią cyfr wynika z harmonicznych tonów: mikrokontroler generuje tony przełączając linię portu do zasilania lub masy, a powstała fala prostokątna ma wiele harmonicznych. Ponieważ jest on podawany bezpośrednio na kartę dźwiękową, wyświetlacz pokaże wszystkie te harmoniczne wraz z pożądaną częstotliwością podstawową. Ponieważ zaaranżowanie czystej fali sinusoidalnej jest trudne, różnica między maksymalną i minimalną częstotliwością używaną do wyświetlania musi być ustawiona tak, aby była mniejsza niż oktawa. Innymi słowy, maksymalna częstotliwość musi być mniejsza niż dwukrotność częstotliwości minimalnej.

Krok 3: Wyświetlaj co dziesiątą sekundę

Wyświetlaj co dziesiątą sekundę
Wyświetlaj co dziesiątą sekundę

Wyświetlacz pokazany na rysunku jest bardziej realistyczny w porównaniu z wydajnością, jaką można uzyskać z zegara: Aktualizuj co dziesięć sekund.

Cyfry zostały zaprogramowane tak, aby były od siebie oddalone, aby były ładniejsze wizualnie. Wszystkie programy, które wyprodukowały te wyświetlacze, zostały zawarte w pliku zip w ostatnim kroku tej instrukcji. Schemat obwodu jest zawarty w postaci ASCII w plikach asm. Mikrokontrolerem był Microchip 12F510, ośmioprzewodowy mikrokontroler, który był taktowany z częstotliwością 32,768 kHz przy użyciu małego kryształu z nieistniejącego zegarka. Użyto tylko jednej linii wyjściowej, pozostawiając dwie linie I/O i jedną linię wejściową wolną do innych zastosowań.

Krok 4: Przebiegi

Przebiegi
Przebiegi
Przebiegi
Przebiegi

Te dwie figury pokazują rodzaj kształtów fal, które trafiają do karty dźwiękowej, aby umożliwić takie wyświetlanie.

Pierwsza pokazuje kolejno wszystkie siedem częstotliwości, a pierwsza częstotliwość ponownie. Jest to cyfra „1”, bieg siedmiu częstotliwości tworzących linię pionową, a ostatnia po prawej stronie podstawy. Drugi pokazuje, w jaki sposób luki powodują puste miejsca na wyświetlaczu. Jeśli określona przestrzeń w matrycy punktowej tworzącej znak jest pusta, odpowiadająca jej częstotliwość nie jest wysyłana w jego szczelinie czasowej, tworząc w ten sposób znak z punktami świetlnymi i pustą przestrzenią.

Krok 5: Wyświetlanie arbitralnych bitmap

Wyświetlanie dowolnych bitmap
Wyświetlanie dowolnych bitmap

Wyświetlanie czasu lub innych takich danych alfanumerycznych jest w porządku, ale czasami możemy chcieć mieć ładny wyświetlacz losowych rzeczy.

Można to zrobić, co zostanie omówione i zademonstrowane. Będę pisał programy, które wyświetlają wiersz tekstu „Instruktaże” jako bitmapę, a robota instruktażowego jako grafikę o wysokości 24 pikseli. Najpierw należy zdigitalizować wymagane obrazy. Pierwszym krokiem jest narysowanie ich na papierze milimetrowym. „Instructables” napisano czcionką o wysokości pięciu pikseli. Ponieważ jest to przesyłane jako bitmapa, połączyłem litery tam, gdzie to możliwe, nie psując czytelności. Obraz robota instruktażowego został zmniejszony do 24 pikseli w pionie, a następnie zaznaczyłem jego kontur kropkami i dodałem kilka kropek we wnętrzu. Myślę, że ludzie rozpoznają robota, zwłaszcza jeśli powiesz im z góry, że taki ma być.

Krok 6: Digitalizacja „instrukcyjnych”

Digitalizacja
Digitalizacja

Rysunek przedstawia sposób digitalizacji mapy bitowej wiersza tekstu.

Weźmy na przykład skrajną lewą kolumnę, wszystkie jej piksele są czarne. Czyli wszystkie są jednym: 11111 Grupujemy razem przez czwórki, tworząc dwa półbajty: 1 1111 Te dwa są następnie wyrażane szesnastkowo, dla zwartej reprezentacji: 1 F Ponieważ znaki mają wysokość pięciu bitów, pierwsza cyfra będzie albo 0 lub 1, a druga cyfra to 0-1, AF. Dół jest uważany za bardziej znaczący koniec. Druga kolumna jest pusta, więc wszystkie zero: 00 hex. W trzeciej kolumnie znajdują się pierwsze trzy jedynki, po których następują dwa zera: 1 1100 -> 1 C I tak dalej, aż do samego końca. To wszystko jest upchane w pliku dołączanym o nazwie "instructlables.inc". W ten sposób zmieniając linię określającą plik dołączany w głównym programie, możesz zmienić wyświetlaną mapę bitową. W przypadku, gdy tworzysz inną bimapę pokazującą twoje imię, na przykład, możesz umieścić ją w pliku "twojanazwa.inc" i wywołać ją w głównym programie.

Krok 7: Wynikowy wyświetlacz

Wynikowy wyświetlacz
Wynikowy wyświetlacz

Działa, jak widać po wynikowym obrazie na ekranie.

Oprogramowanie Spectrum Lab pozwala wybrać kolory i odcienie wyświetlacza, dzięki czemu poprzez rozsądny wybór można wyświetlać bardzo piękny tekst za pomocą tego programu.

Krok 8: Sekwencja częstotliwości

Sekwencja częstotliwości
Sekwencja częstotliwości
Sekwencja częstotliwości
Sekwencja częstotliwości

Przyjrzyjmy się bliżej, jak powstał ten obraz.

Pierwszy rysunek poniżej pokazuje sekwencję częstotliwości emitowanych przez mikro, z krótką rozdzielczością czasową. Wyraźnie pokazuje schodkowy charakter tonów, ponieważ tony tworzące kropki są emitowane w sekwencji szeregowej. Możesz również zobaczyć, dlaczego postacie utworzyły wszystkie pochyłości w prawo. Drugi pokazuje ten sam wyświetlacz, z innym ustawieniem filtra. Rozdzielczość czasowa tego filtra jest zmniejszona, tak że kropki wydają się zajmować więcej czasu. Powstały rozmaz w poziomie sprawia, że tekst jest łatwiejszy do odczytania. Sygnał musi mieć odpowiednie ustawienie programu, zanim zostanie wyświetlony jako rozpoznawalny obraz.

Krok 9: Digitalizacja robota

Digitalizacja robota
Digitalizacja robota

Robot ma 24 bity wysokości, więc nie mieści się w jednym ośmiobitowym słowie. Do digitalizacji robota zastosowano inną technikę, tym razem zapożyczając z programu używanego do instrukcji „muzycznej kartki z życzeniami”.

Ponieważ obraz składa się z sekwencji tonów, program muzyczny powinien być w stanie wyświetlić robota, pod warunkiem, że robot jest do niego podawany jako sekwencja częstotliwości, która ma zostać przekonwertowana na muzykę. Rysunek przedstawia robota z rzędami oznaczonymi wartościami opóźnień, które należy podłączyć do programu muzycznego. Wartości te zostały nieznacznie zmodyfikowane i są dostępne jako listing robot.asm, co zaowocowało prawie rozpoznawalnym wyświetlaczem robota.

Krok 10: Robot na ekranie komputera

Robot na ekranie komputera
Robot na ekranie komputera

To ptak… To samolot… To marsjański latający spodek…

To robot instruktażowy.

Krok 11: Sprzęt

Sprzęt
Sprzęt
Sprzęt
Sprzęt

Na rysunkach pokazano zdjęcie i schemat obwodu mikrokontrolera wytwarzającego te obrazy.

Jest to ośmiopinowy mikrokontroler 12F510 wyprodukowany przez firmę microchip. Ekranowany kabel po lewej łączy się z kartą dźwiękową komputera. Złącze po prawej łączy się z programatorem, a także dostarcza zasilanie. Bez odłączania czegokolwiek lub zmiany jakichkolwiek połączeń, mikrokontroler można wymazać i przeprogramować za pomocą ICSP, po prostu uruchamiając odpowiednie programy na komputerze.

Krok 12: Zasada

Zasada
Zasada

Rysunek pokazuje zasadę wyświetlania matrycy kropek tworzących znaki. Sekwencja narastających tonów tworzy falę klatki schodowej, która, powtarzając się w określonych odstępach, tworzy piłokształtny w poprzek pasma częstotliwości tworzących znak. instruktażowy, https://www.instructables.com/id/Oscilloscope-clock/, o wyświetlaniu czasu na oscyloskopie. Zasada jest podobna, z tą różnicą, że poprzedni używał poziomów napięć, a ten częstotliwości. Różnica polega na tym, że poziomy napięć są bardzo trudne do wyświetlenia za pomocą karty dźwiękowej, a prawie każdy program wyświetlający poziomy napięć nie wyświetla ich w trybie co sprawia, że znaki są widoczne. Każdy znak jest wyświetlany jako sekwencja kolumn o wysokości siedmiu pikseli. Jeśli najniższy piksel ma się świecić, odpowiadająca mu częstotliwość jest włączana na krótki czas. W przypadku „zegara oscyloskopowego” przez ten czas utrzymywany jest określony poziom napięcia. Jeśli piksel ma być ciemny, ton w ogóle nie jest wytwarzany lub zamiast tego wysyłany jest poziom wygaszania. Ponieważ te częstotliwości (lub poziomy napięcia) są wysyłane sekwencyjnie, jedna po drugiej, nie tworzą pionowej linii. Tworzą linię, która pochyla się w prawo. Możliwe jest wysyłanie tych bitów w odwrotnym kierunku, a wynikowe znaki będą pochylać się w lewo. Wygląda to nienaturalnie, dlatego preferowany jest obecny układ. Inny rodzaj hellschreibera, który wysyła jednocześnie wszystkie tony, jest w stanie wytworzyć idealnie pionowe znaki. Ponieważ wymaga to wytworzenia wszystkich tonów jednocześnie, bez zniekształceń, nie jest możliwe zrealizowanie tego w prosty sposób przy użyciu jednego mikrokontrolera.

Zalecana: