Оглавление:
- Шаг 1. Программное обеспечение Spectrum Lab
- Шаг 2: время как последовательность частот
- Шаг 3: отображать каждую десятую секунду
- Шаг 4: формы волны
- Шаг 5: отображение произвольных растровых изображений
- Шаг 6. Оцифровка "Instructables"
- Шаг 7: итоговый дисплей
- Шаг 8: Последовательность частот
- Шаг 9: оцифровка робота
- Шаг 10: Робот на экране компьютера
- Шаг 11: оборудование
- Шаг 12: Принцип
Видео: Часы Hellschreiber: 13 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:54
Небольшой микроконтроллер запрограммирован на вывод серии тонов, которые при подаче на звуковую карту ПК и обработке программой анализатора спектра отображают изображение текущего времени.
Шаг 1. Программное обеспечение Spectrum Lab
Всю тяжелую работу по анализу и отображению тонов выполняет бесплатное программное обеспечение, Spectrum Lab, написанное энтузиастом радиолюбительства DL4YHF. Он анализирует звук, поступающий через звуковую карту, и отображает результат в виде изображения.
Используемый здесь тип дисплея называется «водопад», и он настроен на прокрутку справа налево. Он традиционно прокручивается сверху вниз, отсюда и термин «водопад». Эта программа используется любителями, среди прочего, для связи на полпути вокруг Земли с помощью долей ватта. Это очень функциональная программа, имеющая множество настроек, которые необходимо отрегулировать как раз для получения хорошего дисплея. Термин «Hellschreiber» возник очень давно в области телеграфии и буквально означает письмо со светом. Дисплей, показанный во введении, представляет собой график зависимости интенсивности от времени. Микроконтроллер запрограммирован на генерацию серии тонов, так что изображение информации окрашивается этой программой. Этот режим определяется как «последовательный многотональный Hellschreiber» и используется для связи на больших расстояниях с использованием относительно простого передающего оборудования.
Шаг 2: время как последовательность частот
На этом снимке экрана показан снимок часов, отправляющих информацию о секундах. На самом деле это подделка, поскольку для генерации каждого набора цифр требуется несколько секунд, и поэтому дисплеи охватывают больший интервал времени, чем предполагаемые три секунды.
Узор из точек, видимый над линией цифр, обусловлен гармониками тонов: микроконтроллер генерирует тоны, переключая линию порта на питание или землю, и результирующая прямоугольная волна имеет много гармоник. Поскольку он напрямую подается на звуковую карту, на дисплее будут отображаться все эти гармоники вместе с желаемой основной частотой. Поскольку создание чистой синусоидальной волны затруднительно, разница между максимальной и минимальной частотами, используемыми для отображения, должна быть меньше октавы. Другими словами, максимальная частота должна быть в два раза меньше минимальной частоты.
Шаг 3: отображать каждую десятую секунду
Дисплей, показанный на рисунке, более реалистичен по сравнению с характеристиками, которые можно получить с помощью часов: обновлять каждые десять секунд.
Цифры запрограммированы таким образом, чтобы они были лучше визуально разнесены. Все программы, которые создавали эти дисплеи, были включены в zip-файл на последнем этапе данного руководства. Принципиальная схема включена в формате ASCII в файлы asm. Микроконтроллер представлял собой микроконтроллер с восемью выводами Microchip 12F510, который работал на частоте 32,768 кГц с помощью небольшого кристалла из неработающих часов. Использовалась только одна линия вывода, две линии ввода-вывода и одна линия ввода оставались свободными для других целей.
Шаг 4: формы волны
На двух рисунках показаны формы сигналов, которые поступают на звуковую карту, чтобы сделать эти дисплеи возможными.
Первый показывает все семь выходных частот последовательно и снова первую частоту. Это цифра «1», последовательность семи частот, образующих вертикальную линию, а последняя - правая сторона основания. Второй показывает, как пробелы вызывают пустые места на дисплее. Если конкретное место в точечной матрице, образующей символ, пусто, соответствующая частота не отправляется в течение его временного интервала, таким образом образуя символ со светлыми пятнами и пустым пространством.
Шаг 5: отображение произвольных растровых изображений
Отображение времени или других подобных буквенно-цифровых данных - это нормально, но иногда нам может потребоваться красивое отображение некоторых случайных вещей.
Это можно сделать, что будет обсуждаться и демонстрироваться. Я напишу программы, которые отображают строку текста «Instructables» в виде растрового изображения, а робот «Instructables» - в виде графического изображения высотой 24 пикселя. Сначала необходимо оцифровать необходимые изображения. Первый шаг - нарисовать их на миллиметровой бумаге. «Instructables» был написан с использованием шрифта высотой в пять пикселей. Поскольку это передается как растровое изображение, я склеивал буквы вместе везде, где это было возможно, без ухудшения разборчивости. Изображение робота с инструкциями было уменьшено до 24 пикселей по вертикали, затем я обозначил его контур точками, а также добавил несколько точек внутри. Я думаю, что люди узнают робота, особенно если вы скажете им заранее, что это то, чем он должен быть.
Шаг 6. Оцифровка "Instructables"
На картинке показано, как оцифровывается растровое изображение строки текста.
Возьмем, к примеру, крайний левый столбец: все его пиксели черные. Итак, они все одно: 11111 Мы группируемся по четыре, образуя два полубайта: 1 1111 Затем эти два выражаются в шестнадцатеричном виде для компактного представления: 1 F Поскольку символы имеют высоту в пять бит, первая цифра будет либо 0 или 1, а вторая цифра должна быть 0-1, AF. Дно считается более значимым концом. Второй столбец пуст, поэтому все ноль: 00 в шестнадцатеричном формате. В третьем столбце первые три единицы, за которыми следуют два нуля: 1 1100 -> 1 C И так до самого конца. Все это втиснуто во включаемый файл, который называется "Instructlables.inc". Таким образом, изменив строку, определяющую включаемый файл в основной программе, вы можете изменить отображаемое растровое изображение. Если вы, например, создаете еще один бимап с вашим именем, вы можете поместить его в файл «yourname.inc» и вызвать его в основной программе.
Шаг 7: итоговый дисплей
Это работает, как вы можете видеть по получившемуся изображению на экране.
Программное обеспечение Spectrum Lab позволяет вам выбирать цвета и оттенки дисплея, поэтому при разумном выборе вы можете отображать очень красивый текст с помощью этой программы.
Шаг 8: Последовательность частот
Давайте подробнее рассмотрим, как сформировался этот образ.
На первом рисунке ниже показана последовательность частот, излучаемых микроконтроллером, с коротким временным разрешением. Это ясно показывает ступенчатую природу тонов, поскольку тона, составляющие точки, излучаются в последовательной последовательности. Вы также можете понять, почему символы образовали наклон вправо. Второй показывает тот же дисплей с другой настройкой фильтра. Временное разрешение этого фильтра уменьшено, поэтому кажется, что точки занимают больше времени. Получающееся в результате горизонтальное размытие делает текст более читабельным. Сигнал должен иметь соответствующую настройку программы, прежде чем он будет отображаться как узнаваемое изображение.
Шаг 9: оцифровка робота
Высота робота составляет 24 бита, поэтому он не умещается в одном восьмибитном слове. Для оцифровки робота использовалась другая техника, на этот раз заимствованная из программы, используемой для инструктажа «Музыкальная поздравительная открытка».
Поскольку изображение состоит из последовательности тонов, музыкальная программа должна иметь возможность отображать робота при условии, что робот подает на него последовательность частот, которая должна быть преобразована в музыку. На рисунке показан робот, ряды которого помечены значениями задержки для подключения к музыкальной программе. Эти значения были немного изменены и доступны как листинг robot.asm, что привело к почти узнаваемому дисплею робота.
Шаг 10: Робот на экране компьютера
Это птица … Это самолет … Это марсианская летающая тарелка …
Это робот-инструктор.
Шаг 11: оборудование
На рисунках показаны фото и принципиальная схема микроконтроллера, формирующего эти изображения.
Это восьмиконтактный микроконтроллер 12F510 производства Microchip. Экранированный кабель слева подключается к звуковой карте компьютера. Разъем справа подключается к программатору, а также обеспечивает питание. Не отключая ничего и не меняя каких-либо соединений, микроконтроллер можно стереть и перепрограммировать через ICSP, просто запустив соответствующие программы на компьютере.
Шаг 12: Принцип
На рисунке показан принцип отображения матрицы точек, составляющих символы. Последовательность нарастающих тонов образует волновую форму лестницы, которая, повторяясь с определенными интервалами, образует пилообразную форму в полосе частот, образующих символ. с инструкциями, https://www.instructables.com/id/Oscilloscope-clock/, по отображению времени на осциллографе. Принцип аналогичен, за исключением того, что в предыдущем использовались уровни напряжения, а в этом - частота. Разница в том, что уровни напряжения очень трудно отобразить с помощью звуковой карты, и почти каждая программа, которая отображает уровни напряжения, не отображает его в режиме что делает символы видимыми. Каждый символ отображается как последовательность столбцов высотой в семь пикселей. Если должен быть освещен самый нижний пиксель, соответствующая ему частота включается на короткое время. В случае «часов осциллографа» в течение этого времени поддерживается определенный уровень напряжения. Если этот пиксель должен быть темным, тон не выдается вообще или вместо него отправляется уровень гашения. Поскольку эти частоты (или уровни напряжения) отправляются последовательно, одна за другой, они не образуют вертикальную линию. Они образуют линию, которая наклоняется вправо. Эти биты можно отправить в обратном направлении, и тогда получившиеся символы будут наклонены влево. Это выглядит неестественно, поэтому предпочтительнее нынешнее расположение. Другой тип адского шрайбера, который передает все тона одновременно, способен воспроизводить идеально вертикальные символы. Поскольку это требует одновременного воспроизведения всех тонов без искажений, невозможно реализовать это простым способом с использованием одного микроконтроллера.
Рекомендуемые:
Часы Vortex: наручные часы с зеркалом бесконечности: 10 шагов (с изображениями)
Часы Vortex: наручные часы с зеркалом бесконечности: целью этого проекта было создание носимой версии зеркальных часов бесконечности. Он использует свои светодиоды RGB для индикации времени, назначая часы, минуты и секунды красным, зеленым и синим светам соответственно и перекрывая эти оттенки t
Фотохромные часы и светящиеся в темноте часы: 12 шагов (с изображениями)
Фотохромные часы и часы, светящиеся в темноте: в этих часах используется специально созданный 4-значный 7-сегментный дисплей, сделанный из ультрафиолетовых светодиодов. Перед дисплеем размещается экран, который состоит либо из фосфоресцирующего («светится в темноте»), либо из фотохромного материала. Загорается кнопка вверху
C51 4-битные электронные часы - деревянные часы: 15 шагов (с изображениями)
C51 4-битные электронные часы - деревянные часы: у меня было немного свободного времени на этих выходных, поэтому я собрал эти 4-битные электронные цифровые часы DIY за 2,40 австралийских долларов, которые я недавно купил на AliExpress
Часы Gixie: самые красивые часы со светящейся трубкой: 4 шага
Часы Gixie: самые красивые часы Glow Tube: мне очень нравятся часы Nixie Tube, но они слишком дороги, я не могу их себе позволить. Итак, я потратил полгода на создание этих часов Gixie Clock. Gixie Clock достигается за счет использования освещения ws2812 для создания акрилового света. Я делаю все возможное, чтобы сделать трубку RGB тоньше
Создайте настоящие часы с боем колокола для вашего ПК и часы с огнетушителем: 3 шага (с изображениями)
Создайте настоящие часы с боем колокола для вашего ПК и часы с огнетушителем: медный колокол, маленькое реле, еще несколько вещей и настоящий колокол могут пробить часы на вашем рабочем столе. Хотя этот проект работает на Windows и Mac OS X тоже, я решил установить Ubuntu Linux на ПК, который я нашел в мусорном ведре, и поработать над этим: у меня никогда не было