FT4232H – это интегральная микросхема преобразователя USB – UART, поддерживающая режим High Speed на стороне USB и имеющая четыре порта на стороне UART.
Подключив к этой микросхеме EEPROM-память можно задать специфические режимы работы или изменить данные производителя.
Разберемся на примере и сконфигурируем FT4232H непосредственно в системе под управлением GNU/Linux. Делать это будем с помощью утилиты ftdi_eeprom.
Установка ftdi_eeprom
Утилита ftdi_eeprom входит в состав open-source библиотеки libFTDI и зависит от libconfuse.
Для установки ftdi_eeprom в Ubuntu или Debian, введите в окне терминала команды:
По умолчанию четыре UART-порта FT4232H работают в режиме RS232, наименование производителя – «FTDI» и название устройства – «Quad RS232-HS».
Изменим наименование производителя на «habr.com», название продукта на «Quad RS485», а UART-порты переведем в режим RS485.
Подготовим конфигурационный файл habr.conf
# Имя файла, содержащий образ EEPROM, который будет создан
filename=habr.bin
# Идентификатор производителя. Для FT4232H значение по умолчанию: 0x0403
vendor_id=0x0403
# Идентификатор продукта. Для FT4232H значение по умолчанию: 0x6011
product_id=0x6011
# Тип EEPROM микросхемы. 0x46 для 93xx46, 0x56 для 93xx56 и 0x66 для 93xx66
eeprom_type=0x56
manufacturer="habr.com"
product="Quad RS485"
serial="1234"
# Разрешить использование серийного номера
use_serial=true
# Ограничение по потреблению микросхемы: (значение параметра) * 2 мА. Значение параметра
# должно быть равно 0, когда self_powered=true
max_power=0
# Микросхема питается не от USB, а от собственного источника питания
self_powered=true
# Если на линии RI логический 0 и значение параметра равно true, то хост контроллер USB
# выйдет из режима ожидания примерно через 20 мс.
remote_wakeup=false
# Задать режим работы порта
cha_type=UART
chb_type=UART
# Использовать драйвер виртуального com-порта
cha_vcp=true
chb_vcp=true
chc_vcp=true
chd_vcp=true
# Разрешить режим RS-485
cha_rs485=true
chb_rs485=true
chc_rs485=true
chd_rs485=true
С помощью утилиты ftdi_eeprom загрузим нашу конфигурацию в eeprom-память, выполнив в окне терминала команду:
ftdi_eeprom --flash-eeprom habr.conf
После перезагрузки устройства можно наблюдать результаты работы:
Пару лет назад стало известно, что группа энтузиастов разрабатывает P2P-браузер с поддержкой протокола Hypercore. Этот браузер получил название Beaker 1.0. Цель проекта — предоставить возможность пользователям разрабатывать и размещать свои сайты не где-то там, а «прямо в браузере». То есть можно создать локальную папку и поделиться URL-адресом, который откроет доступ сторонним пользователям к новому ресурсу.
Узлы сети в этом случае — сами пользователи браузера. Beaker базируется на JavaScript c использованием движка Chromium и платформы Electron. Распространияется Beaker под лицензией MIT. Разработчики подготовили сборки для Linux, macOS и Windows.
А что за протокол такой — Hypercore?
Это весьма удобная технология, которая комбинирует в себе еще две технологии — блокчейна и BitTorrent. Как и говорилось выше, пользователи могут загружать файлы сайта и участвовать в их раздаче. Но отличием от BitTorrent является возможность изменения файлов без создания нового адреса.
Чтобы создать собственный сайт, нужно просто подготовить код, развернуть окружение Hyperdrive и разместить на него ссылку. Доступ к ресурсу обеспечивается при помощи URL «hyper://». Как только ссылка открыта, контент загружается с системы автора — и сразу после загрузки файлов новый пользователь может стать новым узлом в системе раздачи.
Основа протокола — лог, который доступен только для добавления новых данных. Он не допускает изменений уже добавленной информации. Эти логи могут распространяться среди участников в сети в P2P-режиме. При этом каждый узел может загрузить только лишь интересующие отрывки лога и после — участвовать в их раздаче.
Целостность лога проверяется при помощи структуры «Дерево Меркла» (Merkle Tree). В этом случае каждая ветка верифицирует все ветки и узлы, которые находятся ниже. Такая верификация стала возможной благодаря хэш-функции BLAKE2b-256.
Как создавать сайты?
В браузере уже есть все необходимое. Это редактор кода и инструменты для синхронизации каталогов с содержимым сайта. А еще есть web-терминал и специализированный API для чтения и загрузки файлов. Терминал представляет собой командную оболочку для навигации по окружению Hyperdrive.
Разработчики предусмотрели возможность связывания нескольких окружений и их слияния, создание форков и участие в раздаче окружений других пользователей.
Кроме создания независимых от хостинга сайтов, браузер используется также для приватного обмена данным, обучения веб-программированию, тестированию прототипов сайтов и упрощения взаимодействия в командах web-разработчиков.
Вы можете перекупить домен у владельца или зарегистрировать освобождающийся адрес через аукцион доменных имен. На сначала надо проверить домен, чтобы не приобрести «кота в мешке». Расскажу, как проверить и как купить.
Что надо проверить
История домена (бывший владелец, трафик и т. д.)
Отсутствие противозаконного контента на сайте
Попадание в «черный список» за рассылку спама
Авторитет в поисковых системах
По SimilarWeb и Serpstat можно узнать данные о бывшем владельце, хостинге, рейтинги (глобальный, страны, тематический), размер и источники трафика, связанные приложения.
Достаточно бесплатной версии сервисов, чтобы получить данные, — просто введите в строку поиска имя домена.
Similarweb
По выбранному мной домену данных нет, кроме адреса регистрации.
Видимо, сайт давно не был активен. Что ж, это тоже неплохо.
По WayBack смотрю качество контента, который был размещен ранее.
Синим цветом показаны изменения главной страницы, зелеными – внутренних, красным – служебных. Всё отлично, с контентом этого сайта все было в порядке в 2019 году, он не нарушал законодательства при жизни.
Нет попаданий в 9 «черных списках»: «Site is not Blacklisted». Если система обнаружит ваш сайт в блэклистах, то не покупайте такой. Возможно, он попал под санкции из-за спама или незаконного контента. У вас могут быть сложности с его продвижением в поисковых системах.
Теперь проверяю «вес» сайта для поискового продвижения. Смотрю ИКС, PR и DR.
Индекс качества сайта (ИКС)
ИКС показывает, насколько сайт полезен пользователям по мнению Яндекса (заменил тИЦ). Соответственно, чем выше – тем лучше. Для проверки можно воспользоваться любым бесплатным сервисом Arsenkin.
У моего сайта нулевой ИКС, он только в начале пути успешного продвижения.
Google PageRank (PR)
Рейтинг Google рассчитывается не для всего сайта, а для отдельных страниц. Проверяется в PRCHECKER.
У сайта нет внутренних страниц, поэтому смотрю главную:
Рейтинг не определен. Для сайта, который давно не действует, это нормальная ситуация. Максимальный рейтинг может быть 10, но такое редко встречается, даже у Гугла нет десятки.
Эти два показателя важные, но не критичные. Если они высокие, это может улучшить ранжирование сайта. С низкими – при наполнении новым качественным контентом ИКС и PageRank постепенно вырастут. Резко стартовать не удастся, но со временем сайт сможет достичь хороших показателей.
Domain Rating (DR)
Авторитет домена (от 0 до 100), показывающий, как он будет ранжироваться в поисковиках. Смотрю на Ahrefs.
У домена низкий рейтинг, но это тоже не страшно, его можно со временем нарастить.
Идем дальше. Так как у меня есть платный аккаунт на ahrefs, то я могу узнать больше о домене. Например, бэклинки.
На скриншоте — список урлов статей на сторонних сайтах, они содержат ссылки на компанию, которая в 2017 году продавала системы видеонаблюдения с этого сайта.
В общем, с этим доменом всё ок, точнее, с ним ничего :) Могу покупать и начинать свою доменную историю.
Как купить
Захожу на Whois сервис, ввожу в строку доменное имя. И получаю информацию о домене и самое главное — admin-contact, жму на ссылку и перехожу в форму письма.
Прямые контакты не предоставляются по закону о защите персональных данных. Конечно, нет гарантии, что администратор выйдет на связь. Но я могу ему написать или воспользоваться услугой брокера. Если вы не хотите ждать, пока администратор прочтет письмо и соблаговолит ответить, и если вы не любите торговаться и переписываться, то можете заплатить брокеру 2500—3000 тысяч рублей, он сделает это за вас.
Обязательно получите у администратора доступы к Google Search Console и Google Analytics, чтобы провести более подробный анализ доменного имени.
Покупка через аукцион
Допустим, ваша компания называется ООО «Система», и вы хотите, чтобы доменное имя содержало слово «system», но среди свободных доменов нет ничего подходящего. Идите на аукцион.
На аукционах выставляются дроп-домены – это адреса с истекшим сроком регистрации, которые могут скоро освободиться. Чтобы выбрать адрес, задайте параметры поиска.
Я оставлю в списке только адреса в зоне «ru», ограничу поиск названиями до 10 знаков, исключу дефисы, а также имена с нелатинскими буквами (IDN).
Теперь можно выбрать из списка понравившийся. Число предзаказов не ограничено, но обратите внимание, что на лицевом счете до конца аукциона будет заблокирован задаток за каждый выбранный домен в зависимости от тарифа (ставки). Если же вы оплатите, а владелец продлит регистрацию, то деньги у вас не спишутся.
Теперь мне нужно проверить домен. Иду по своему списку проверки, и, если проблем с этим доменом нет, перехожу к заказу!
Такая предварительная регистрация еще не значит, что домен перейдет к вам. Если кто-то зарегистрирует по более высокому тарифу, то домен получит он.
Какие могут быть «подводные камни»
Если домен проверен, то основной риск при покупке – потерять деньги. Посмотрим, почему это может произойти и как не попасть в ловушку.
Оплата без товара
При самостоятельном оформлении сделки есть вероятность не получить доменное имя после оплаты. Также может оказаться, что оно принадлежит другому лицу, поэтому будет передано только в частичное управление без смены администратора.
Как избежать:
Первый вариант – заключить договор с «прозрачными» гарантиями. Если речь идет о дорогом адресе, то не лишним будет пригласить юриста.
Второй вариант – провести покупку через регистратора, который будет нести ответственность за передачу доменного имени и выступит гарантом законности сделки. Такая передача прав собственности считается более безопасной — вы не потеряете деньги и точно получите домен.
Как понять, завышена ли цена, и что с этим делать
Цена у частного продавца может быть завышенной. Факторов оценки много (длина и запоминаемость, возраст, доменная зона, история, тематика, рейтинги, наличие цифр, дефисов), поэтому стоимость не всегда прозрачна. Три основные критерия: благозвучность (простота), рейтинг в поисковых системах, время использования. Соответственно, чем старше, красивее и популярнее доменное имя, тем оно будет дороже.
При сомнениях можно проконсультироваться с доменными инвесторами, компетентными в ценообразовании. Самостоятельно – сравнить с конкурентными предложениями или узнать через сервисы PR-CY, CY-PR.
Ваш домен мечты PR-CY может оценить в 8287 рублей, а владелец может запросить 350 000 рублей. В этом случае нужно уметь грамотно торговаться. Если у вас много свободного времени, попробуйте сначала сами, и если не выйдет, обратитесь к доменному брокеру или купите более дешевый домен.
Всем привет, на связи Лиза, UX-писатель, и Стася, UX-аналитик Центра Развития Финансовых Технологий Россельхозбанка.
Ближе к релизу наших площадок в продуктовых командах все чаще стали слышны споры о текстах. Все началось с экрана «404» — кто-то считал, что в сообщении об ошибке нужно пошутить, чтобы расслабить пользователя, а другие, что шутить с человеком, раздраженному ошибкой — некорректно. Любители шуток победили в том споре, но появился следующий вопрос: а допустим ли юмор в нашей экосистеме? Все-таки мы серьезная организация, банк. Если юмор допустим, то насколько игривый? У нас не было однозначного ответа на эти вопросы.
За короткое время у нас накопился приличный список вопросов и проблем, которые касались текстов. Мы поняли, что даже если зажмуримся, список не пропадет, и начали думать, как бы нам помочь себе писать оригинальные тексты, а командам — больше не тратить время на споры.
Поиск решения
Для начала мы разделили накопившиеся вопросы по группам. Их оказалось две.
К первой группе относились вопросы по стилистике, используемым словам и орфографии:
Беды с «ё»: пишем ли мы Своё Фермерство или допустимо писать Свое Фермерство
Склоняем ли название бренда?
Как обращаемся к пользователям: на «ты», на «вы», а может лучше на «Вы»?
Как правильно называть нашу систему: платформа, сайт или площадка?
Какие аббревиатуры стоит расшифровывать, а какие настолько очевидны специалистам агросферы, что объяснения будут казаться лишними?
Используем ли мы в наших текстах строгое «АПК» или радушное «сельское хозяйство»?
Во вторую группу вошли следующие вопросы:
Как позиционировать систему для разных целевых аудиторий?
Как правильно расставить акценты, рассказывая о новых фичах?
Допустимо ли шутить в текстах интерфейсов? Если да, то какой юмор допустим?
Нужен ли онбординг и насколько подробно нужно объяснять нашим пользователям, как пользоваться интерфейсом?
Мы поняли, что вопросы из первой группы отпадут, когда мы создадим редполитику. Чтобы найти ответы на вторую группу вопросов, мы решили описать Tone of Voice (голос бренда).
Создание редполитики
Про создание редполитики написано уже много, поэтому дополнительно останавливаться на этом вопросе не будем. Если поймем, что тема востребована, напишем об этом отдельную статью :)
Верхнеуровневая структура нашей редполитики получилась следующей:
Правила написания бренда.
Объясняем про многострадальную «ё», склонения, использование кавычек и т.п. Все эти вопросы часто кажутся очевидными, до тех пор, пока пользователи не начинают путаться в множестве различных написаний бренда. Поэтому советуем прописать эти правила как можно раньше и позаботиться, чтобы все члены команды узнали о них.Также даем название нашей системе и поясняем, что понимаем под экосистемой, платформой, площадкой. Полезная штука — помогает и архитекторам, и аналитикам, и маркетологам.
Используемый стиль и слова.
В этом разделе решаем, как обращаемся к пользователю (на «ты» или «вы») и как их называем (господа, друзья, коллеги?). Определяемся, используем ли восклицательные знаки, выбираем ли эмоционально-нейтральный или эмоционально-насыщенный тон. При формировании этой части нам очень помог Tone of Voice. Поэтому советуем приступать к этому документу уже после того, как проработаете голос бренда.
Отрекаемся от слов-паразитов и бесполезных усилителей и прилагаем их список.
Веб-элементы.
Рассказываем, какой текст может быть на кнопках, а какой нет, пишем правила. Также прописываем шаблоны текстов для модальных окон, экранов успеха, согласия с обработкой персональных данных. Это позволит сохранить единообразие во всей системе и сэкономит время UX-писателю.
Эти три раздела покрывают наиболее насущные вопросы, возникающие при разработке и создании маркетинговых материалов. Но уже сейчас мы понимаем, что это только MVP редполитики и в скором времени нам придется расширить и дополнить наш документ. Чем дальше в лес, тем гуще дебри :)
Создание Tone of Voice (голоса бренда)
Tone of Voice отвечает на вопросы что мы пишем и как, но, в отличие от редполитики, акцентирует внимание на эмоциональной стороне текстов.
Определяем целевую аудиторию
Мы начали создание Tone of Voice с определения групп нашей целевой аудитории — к кому именно мы будем обращаться? Глобально наши потенциальные пользователи — все, кто связан с сельским хозяйством. Мы разделили их на 7 основных групп и выделили наиболее приоритетные:
Поставщики товаров для фермеров
Фермеры
Потребители (те, кто хотел бы покупать фермерскую продукцию в розницу)
По отношению к ним мы и будем выстраивать основной тон. Далее рассмотрим создание Tone of Voice для фермеров.
Вырабатываем правила для Tone of Voice
Чтобы выработать правила и определить, о чем писать, мы выделили основные проблемы и страхи фермеров. Выяснили, какие негативные эмоции и мысли вызывают эти проблемы. Голос бренда должен звучать так, чтобы нивелировать их.
Проблема
Эмоции
Трудно найти нужных людей (поставщиков, специалистов), т.к. везде много мошенников.
Психологическое напряжение: «меня могут обмануть»
Сложно продавать онлайн (непонятно, как выбрать площадку, как зарегистрироваться и т.п.)
Боязнь технологий: «я не справлюсь с компьютером, запутаюсь»
Сложно разобраться с государственной поддержкой, законами и их изменениями — много документов, правил, написано бюрократическим языком; непонятно, где актуальная информация, за всем нужно уследить, чтобы не получить штраф
Затем мы взяли список проблем и негативных мыслей, результаты нескольких юзабилити-тестирований и переработали их в список того, что может помешать пользователям использовать платформу. Для каждого пункта из списка мы выработали правило, описывающее как мы будем устранять тот или иной страх.
Часть списка:
Что может помешать использованию платформы
Как это решаем (Правило)
Непонятно, для кого предназначена система/сервис
Чётко обозначаем, для кого предназначена система/сервис
Не хватает фактической информации
Не говорим абстрактно (без «мы лучшие, первые», говорим конкретно - мы сделали то и то)
Не хватает информации об актуальности документов
Указываем на видном месте актуальность документов, даты
Не воспринимают сайты экосистемы как площадку сбыта
Анонсируем, что именно и каким клиентам можно продавать
Большое количество текстовой информации
Пишем лаконично, без стен текста, где возможно пишем тезисно
Бюрократические термины
Не используем бюрократический язык, непонятные слова и аббревиатуры, даем объяснения во всплывающих подсказках или в скобках
Технические термины
Объясняем значения технических терминов во всплывающих подсказках, а также даем подробные инструкции о действиях на сайте
Боязнь, что «это экосистема для фермеров, а я еще недостаточно фермер»
Позиционируем себя как экосистема «для всех», для клиентов всех банков
Будут думать, что экосистема от Банка только для клиентов Банка
Мы решили дополнить картину, того, о чем должны говорить. Основывались на списке страхов и негативных эмоций и описали то, что хотим дать нашим пользователям через интерфейс. Часть списка выглядит так:
Безопасность
Ненагруженный интерфейс, с которым может справиться даже неопытный пользователь
Заинтересованность в проблемах пользователей, внимательность к их потребностям
Уважение к труду и продукту, который производят фермеры
Также, исходя из миссии экосистемы и ценностей, которые мы разделяем с нашими пользователями (приведены ниже), мы выделили основные цели наших клиентов:
Заинтересованность в агротехнологиях и выходу в онлайн
Стремление к расширению бизнеса
Уважение к чужому труду
Энтузиазм от вовлечения в крупное сообщество единомышленников
Создаем персонажа
Чтобы завершить наш Tone of Voice, придать душевности нашему бренду, а также понять, как и в каком тоне мы будем общаться с пользователями, мы решили описать персонажа, от лица которого будем обращаться к нашей целевой аудитории.
Сначала мы решили определить, кем будет являться персонаж по отношению к нашим пользователям: другом, коллегой, бизнес-партнером, ментором, менеджером, родителем. Чтобы понять, какая роль лучше подойдет, мы обратились к миссии и ценностям экосистемы.
Миссия:
Собрать в одном месте всё необходимое для ведения и развития агробизнеса
Перевести в онлайн процессы управления бизнесом
Сделать доступными агротехнологии для всех фермерских хозяйств
Помогать кооперироваться фермерам друг с другом, находить полезные связи
Предоставлять лучшие, наиболее выгодные на рынке банковские продукты и предложения
Популяризировать фермерство среди населения
Сделать доступным и понятным вхождение в сферу сельского хозяйства
Ценности:
Агротехнологии — это будущее сельского хозяйства
Любовь к Родине, патриотизм, вклад в развитие сельского хозяйства в нашей стране
Любовь к природе, земле, животным
Любовь к семье, забота о благосостоянии семьи
Пропаганда здорового образа жизни, трудолюбие, активность
Для качественного и комфортного общения с пользователями мы определили голос нашей компании. А точнее, создали персонажа, который олицетворяет нашу компанию. И уже его наделили голосом, которым он будет говорить с пользователями.
Наш персонаж — это бизнес-партнёр для нашей целевой аудитории, для предпринимателей в сфере сельского хозяйства. Главное для бизнес-партнёров — взаимовыгода и взаимоуважение.
Оттолкнёмся от последнего:
Как может выиграть фермер от использования нашей платформы?
Оформить документы удалённо
Проконсультироваться с ветеринаром через онлайн-сервис
Узнать о новых агротехнологиях и внедрить их в своё хозяйство
Подобрать семена под свои земли и получить с них хороший урожай
Проследить за состоянием хозяйства с помощью сервиса — собрать больше урожая
Со всем этим может помочь IT-специалист. Особенно специалист, погружённый в сферу сельского хозяйства.
Мы кратко описали его внешность, биографию и характер.
Представив себе персонажа, а также, как он живет и как разговаривает, мы сделали инфографику, наглядно изображающую какой тон мы будем использовать в текстах:
Примеры использования
Приведем несколько примеров, что у нас получилось в результате использования всех этих артефактов.
У нас ещё много работы: экосистема Своё развивается быстро, выпускает новые проекты и дорабатывает уже выпущенные.
Поэтому много текстов, кнопок и подсказок ждут, когда их проговорит наш персонаж. Будем держать вас в курсе!
По информации портала CNBC, сооснователь Apple Стив Возняк стал одним из владельцев стартапа Efforce. Цель этой компании — внедрять блокчейн в мировую энергетику и развивать «зеленые» технологии.
Компания Efforce была зарегистрирована на Мальте в 2019 году. Ее учредителями также являются Джекопо Визетти, Джекопо Ванетти, Кен Харести и Стефано Скорцезе.
На сайте Efforce указано, что это первая децентрализованная платформа, которая позволяет каждому получать финансовую выгоду от реализации по всему миру проектов по энергоэффективности, а также вносить свой вклад в защиту окружающей среды.
С середины 2019 года платформа Efforce работала в тестовом режиме. Компания позволяет владельцам различных корпоративных или промышленных зданий зарегистрировать «зеленый» проект по модернизации энергоснабжения. Планировалось, что они смогут получать финансирование от инвесторов уже в конце этого года.
В презентации Efforce указано, что компании и пользователи уже могут приобрести токен WOZX и этим помогать реализовывать «зеленые» проекты другим компаниям. Фактически деньги за покупку WOZX будут выделяться зарегистрированным на платформе компаниям. Далее, в долгосрочной перспективе, в случае получения выгод от реализации своих «зеленых» проектов, полученная экономия в компаниях будет распределяться между держателями токенов без посредников с помощью «смарт»-контрактов и блокчейна.
Согласно заявлению Стива Возняка на CNBC, человечество может уменьшить свой энергетический след и снизить потребление энергии, используя инновации, в том числе блокчейн и криптовалюту. Именно поэтому он стал совладельцем Efforce.
Токен WOZX был официально представлен 1 декабря 2020 года. В настоящий момент он уже доступен на бирже HBTC, в свободном обороте 20 млн токенов. Всего будет выпущено 1 млрд токенов. Для частного обмена будут доступны 45% токенов, 20% будут принадлежать Efforce, 20% можно будет намайнить, 15% будут использованы в экосистеме и отданы консультантам.
В октябре Efforce рассказала, что уже появились фейковые токены WOZX на бирже UNISWAP. Компания предупредила, чтобы пользователи обязательно проверяли официальный адрес токена и биржи, где он доступен, на сайте платформы.
Возможно, вы слышали присказку: «Господи, отбери всё, только не лишай разума». Но, к сожалению, старость у всех разная, и зачастую, чтобы потом не страдать раскаянием, выбирать её надо чуть ли не с детства. И что самое печальное, наше общество так или иначе привыкло к стереотипу «тупеющих стариков». Мало кто знает, что под старческой деменцией, или, проще говоря, маразмом, или возрастным слабоумием, скрываются вполне реальные заболевания. Зачастую тот, кого мы называем сумасшедшим стариком - просто больной человек, которого общество бросило ещё тогда, когда его можно было спасти. Как не превратиться в монстра и не сойти с ума на пенсии?
Альцгеймер, Паркинсон и болезнь Пика. Добро пожаловать в один из постов серии «Всадники маразма» на ScientaeVulgaris.
Вы удивитесь, но в развитых странах, там, где болезнь Альцгеймера изучают очень активно, установлено, что она занимает третье место в причинах смертности после болезней сердца и рака. И именно она является наиболее распространённой причиной деменции (слабоумия) у пожилых людей. От неё нет и, вероятно, не будет лекарств. Заболев ею вы потеряете себя, как личность, как человеческое существо, забудете кто вы и что вы есть. А смерть вас настигнет из-за апатии и безразличия, которое станет настолько поглощающим что вы перестанете замечать даже самую острую боль, вы растворитесь в самом забвении, утратив всё что вас составляет.
Наказание долгой жизни.
Что касается болезни Альцгеймера, наверное, первым вопросом будет - почему она ждёт нас именно в старости, а не за поворотом, как все остальные приключения. Во многом ответ скрывается в износе организма. В голове, как и во всех других местах вашей тушки, постоянно происходит множество процессов. Клетки умирают, делятся, делают свои делишки и иногда после них остаются отходы, которые нужно убирать. У мозга тоже есть своя канализация, и если она сломается в одном из мест, всё пойдёт к лососю, и есть неплохие шансы, что вы к 60 годам будете «агукать», размазывая памперсы по стенам и вызывая искреннюю ненависть близких. В некоторых случаях этот процесс может принять даже агрессивные или вульгарные формы, и те, кто видел его вживую, никогда не пожелают такой судьбы ни себе, ни кому бы то ни было.
Но где бы вы ни стали искать про болезнь Альцгеймера, вы не увидите ничего, кроме истории немецкого психиатра Алоиса Альцгеймера и простого описания какого-то белка, превращающего ваш мозг в швейцарский сыр. Но если мы говорим про историю деменции, как основного симптома, то она так же стара, как и само человечество - с неё не просто сыпется песок и веет болью, она безумно смеётся вам в лицо, заглядывая в ваши округляющиеся глазки со страниц истории. Причём буквально, пусть и устами Децима Юния Ювенала, жившего в первом веке нашей эры. Римский поэт-сатирик, видевший своими глазами покорением даков Марком Ульпием Нерва Траяном, издал всего 5 книг с «сатирами», 10-ая сатира, опубликованная в 4-ой книге, высмеивает близорукость всех человеческих желаний перед лицом неизбежной судьбы. Я переведу вам отрывок про деменцию из «Наказаний долгой жизни» :
«О, где же молодость моя! У одного ослабли плечи,Другой стал слаб на поясницу, ногами - третий, А тот, что зрением увечный, мечтает,Завидуя лишь тем, кто видит, хотя бы мутно, Вот этот бледными губами ест, Лишь то, что чужаки ему дают, любовью милосердной……Но хуже всех болезней тела,Деменция - недуг, что затуманивает Разум старика, и он не узнает, Ни имена, ни слуг своих, ни лиц друзей, С которыми он ужинал вчера, Ни имена детей, что он смог воспитать…»
Ну что же, если у вас нет деменции, вы сможете похвастаться, что знакомы с римской сатирой. А если есть, то, возможно, будете делать это постоянно, пока не утратите функции речи. Хотя первое вероятное упоминание болезни Альцгеймера ещё старше. За 2500 лет до нашей эры древнеегипетский сановник и мудрец Птахотэп, что переводится как «угодный Птаху», градоначальник, хранитель царской печати, верховный жрец, переписчик священных книг, лауреат древнеегипетских орденов, почётных званий, наград и медалей, народный египтянин, надзиратель двух зернохранилищ, казначей, и, в общем, успешный чиновник, как ни странно, осуждавший коррупцию (смотри папирус «Поучения Птаххотепа»). В общем, этот уважаемый писал о недуге, поражающем стариков, когда каждую ночь они становились по своему состоянию всё ближе и ближе к младенцу, и так продолжалось, пока они не умирали.
Во времена античности, просвещения и средних веков упоминания о деменции найти сложно. Но нет никаких сомнений, что в «тёмные века» это заболевание внесло свою лепту в деятельность инквизиции, записав множество пожилых женщин в разряд ведьм из-за того, что они не могли что-либо сделать наравне с другими. Или внезапно забывали, что делали прошлой ночью и как оказались на площади города в непотребном виде. Сегодня бабульку, которая будет нести бред про Ильича или своих детей, которые её бросили просто проигнорируют, а раньше бы вот сожгли.
В начале 17-го века в умах современников проблема деменции всплывает снова. К примеру, Фрэнсис Бэкон написал работу под названием «Методы предотвращения старения», где впервые упомянул заболевание полноценно. Он пишет, что слабоумие это болезнь мозга. «А состояние затылочной части мозга подтверждает, что старость - есть дом забвения». Достаточно туманно, но если вы посмотрите на МРТ больных или непосредственно на их мозг в патологоанатомическом отделении, картина станет чуть ясней и сильно неприятней. Ведь состояние мозга в момент последних стадий заболевания действительно можно представить, как само олицетворение забвения и распада. Из-за массовой гибели нейронов внутри черепа, в буквальном смысле, образуются пустые места, а серое вещество сокращается в объёме.
И пусть в «Короле Лир» Уильяма Шекспира старческое слабоумие лишь хитрый драматургический приём. Нет никаких сомнений, что деменция, вызванная болезнью Альцгеймера, была, есть и будет одним из многих заболеваний, преследующих нас с самой зари времён.
Первый пациент: "Я потеряла себя."
Настоящее первое научное открытие болезни действительно принадлежит Алоису Альцгеймеру. Но оно было бы невозможным без ещё одного человека - Огюст Детер (Августа Д.). Пятидесятилетней немки, первого пациента, которому поставили диагноз «Болезнь Альцгеймера». Незадолго до того, как ей исполнилось 50, в конце 1890-х гг., у неё начались симптомы деменции: потеря памяти, бред, апатия. Она не могла спать, нормально есть, вскакивала по ночам, разбрасывала вещи и кричала. 25 ноября 1901 года её бедный муж, Карл Детер, работавший на железнодорожной станции не выдержав состояния супруги и не имея средств поддерживать её самостоятельно, отдал её в «Учреждение для душевнобольных и эпилептиков» во Франкфурте, где её и принял Алоис Альцхаймер (если называть его правильно).
Спустя 90 лет после смерти Алоиса Альцхаймера при реорганизации его дома в музей удалось найти копию истории болезни этой женщины. Файл состоял из 32 страниц и содержал 3 версии, 1 на латыни и 2 на старонемецком. История начинается с вопросов о её муже, доставившем её в госпиталь, и продолжается деталями о течении её болезни, заканчиваясь её посмертной гистологией. В истории болезни содержится также клочок бумаги с транскрипцией Огюст Д., показывающий развитие амнестического расстройства письма, авторства самой Огюст. Записи Алоиса на старонемецком фиксируют детальный отчёт о симптомах пациентки в первые 4 дня её нахождения в госпитале, в папку вложено несколько её фотографий, а также записи их диалогов.
Приведу вам их перевод.
Дата 26 ноября 1901 года.
Пациентка сидит на кровати с беспомощным выражением лица. - Как ваше имя? - Августа. Фамилия?- Августа.- Имя вашего мужа?- Августа.- Вашего мужа?- Я думаю.- Вашего мужа? - А... моего мужа.
Она выглядит так, как будто не поняла вопрос. - Вы замужем? - За Августом. - Миссис Д.?- Да, да, Августа Д.- Как долго вы здесь находитесь?
Она, кажется пытается вспомнить. - Три недели. - Что это? (Я показываю карандаш). - Ручка.
Кошелёк, ключи, дневник и сигару она идентифицировала правильно. На обед она ела цветную капусту со свининой. Спросил её, что она ела, она ответила - "Шпинат". Когда она жевала мясо, я спросил, что она делает, она ответила - "Ем картошку с хреном". Когда ей показывают разные объекты, через небольшой промежуток времени она не может вспомнить, что ей показывали. Между делом, постоянно говорит про каких-то близнецов. Когда её просят что-либо написать, она держит книгу так, что кажется, будто она не видит ничего с правой стороны. Когда я прошу её написать Августа Д., она начинает писать миссис и забывает остальную часть. Нужно диктовать ей каждое слово...
Дата 29 ноября 1901 года.
... - Какой сейчас год?- 1800-ый. - Вы больны? - Второй месяц.- Вы помните имена других пациентов? (Отвечает быстро и правильно). - А какой сейчас месяц?- Одиннадцатый.- Как называется одиннадцатый месяц?- Последний, если он не последний.- Это вы про который?- Я не знаю. ... - Если вы купите 6 яиц по 70 центов каждое, сколько это будет стоить?- По-разному.
- На какой улице вы живёте?- Я отвечу, но мне нужно немного времени.- Что я вас сейчас спросил? - Это Франкфурт на Майне. - На какой улице вы живёте?- Вальдемар стрит, о нет, не...- Когда вы вышли замуж? - Сейчас. Не знаю. Эта женщина живёт на том же этаже.- Какая женщина? - Ну та женщина, там где мы живём.
Запись от 7 ноября 1905 года указывает на двухстороннюю пневмонию пациентки, а 8 апреля 1906 года она умирает из-за начавшегося сепсиса в местах пролежней.
В одной из бесед Огюста говорит доктору Алоису - Ich habe mich verloren. Что переводится как - «Я потеряла себя». Случай Огюсты заинтриговал психиатра, в частности, её молодостью, но точно вряд ли привлекательностью. На момент её смерти он был всего на 13 лет моложе. Ему было 41, а ей 55. Позднее повторное изучение этого дела и сохранившихся биоматериалов в конце 20-го века объяснило причину столь раннего развития болезни. В случае с Детер это была генетическая мутация гена PSEN1, который отвечает за производство гамма секретазы, которая является компонентом для создания другого белка - амилоида... Но это долгая история.
Как всё начинается?
Косвенно этому способствуют и травмы головы, и депрессия, и гипертония. Снижение активности и всё, что влияет на сосуды: холестерин, диабет 2-го типа, курение, ожирение, слабый мышечный тонус. Первые симптомы ловко прячутся за вашим стрессом или наступающей на пятки старостью. Может быть вы просто не выспались, а может через 8 лет у вас в голове появится много свободного места, так или иначе, список возглавляет утрата кратковременной памяти. Это и первые трудности по запоминанию новой информации и отчасти проблемы с кратковременной памятью. Затем начинаются проблемы с внимательностью, планированием, гибкостью и абстрактностью мышления. Сколько цифр на картинке?
Ответ 8. И это семантическая память: значения и концепции. Не нашли и расстроились? Не расстраивайтесь, это уже не важно. Затем появляется и остаётся до конца стремительно тающей жизни апатия.
Но это красивые эпитеты. Как правило, обращать внимание нужно на более конкретные явления, как у Огюсты. С тех пор ничего не изменилось, и я не зря привёл этот пример. Человек с болезнью Альцгеймера может повторять одну и ту же фразу или вопрос несколько раз подряд. Забывать о прошедших встречах и событиях. Помещать вещи в нелогичные места. Больной может потеряться в знакомом месте. Забыть обозначение или название вещи, которую часто использует.
Затем начинаются сложности с языком, исполнительными функциями, восприятием, пониманием, выполнением простых движений, в процесс включается утрата эпизодической памяти (старые воспоминания о выпускном или свадьбе), неявной памяти (как держать вилку, пользоваться туалетом). Вслед за мозгом умирают функции мелкой моторики, вы теряете навык письменности, умирают речевые центры (из сознания пропадают значения слов), долгосрочная память (узнавание родственников, мест и событий). Появляется раздражительность, иногда агрессия, недержание, полная потеря речи, крайние формы апатии и истощение. Умирают обычно от внешних факторов, заражения из-за пролежней или пневмонии. Из-за утраты основных функций мозга больной может вдохнуть пищу или жидкость в лёгкие, получить перелом в результате падения, умереть от обезвоживания или недоедания. В крайних стадиях больные люди просто не смогут сказать даже о таких проблемах как кариес, пульпит, перитонит и заражение.
Как избежать?
Болезнь Альцгеймера не лечится. Никак, никогда и ничем, можете не надеяться на медицину. Вам нужно быть активней. Не запираться дома на пенсии, обретая диабет и ожирение. Вытаскивать своих любимых стариков на улицу, заниматься спортом, стимулировать мозговую активность - чтением, танцами, настольными играми, игрой на музыкальных инструментах. В развитых странах досуг для стареющих пенсионеров часто организовывают на государственном уровне, выгоняя их на зарядку, уроки ИЗО, да хоть что-то... да вообще что угодно. И только если человек никому не нужен, и ему нечем заняться, стагнация умножается на старение и приводит к одной из самых ужасных в морально-этическом отношении смертей.
Механизм забвения.
Рассмотрим физиологию болезни. В частности, первый элемент системы, отвечающей за обмен веществ с мозгом - ГЭБ или Гематоэнцефалический барьер, защищающий мозг от попадания в него вредных веществ из кровотока. Эта штука ослабевает по мере износа вашего организма. В норме он разделяет вашу кровеносную и нервную систему в вашей неуёмной головушке. Как селективный фильтр он сбрасывает отходы мозга в венозное русло, пропуская взамен полезное и нужное из всех этих печенек, шоколадок, борщей и кашеобразных обедов, что вы в себя усваиваете. Сломанный фильтр не выводит некоторые типы белков и может служить первым местом проблемы.
Капилляры и устройство ГЭБ.
Со временем удалось выяснить, что есть связь не только с возрастом, но и с некоторыми генерализованными процессами, нарушающими работу организма. Например вот недосыпание. Proceedings of the National Academy of Sciences доказали, что даже единственная бессонная ночь приводит к увеличению количества бета-амилоида внутри вашей заспанной головы. Этот белок является результатом естественной жизнедеятельности клеток и входит в состав метаболических отходов мозга. И именно он - те отходы, которые в итоге могут вызвать болезнь Альцгеймера. Но в случае с недосыпом виноват не фильтр - ГЭБ, а Глимфатическая система. Она выполняет роль сифона между тканевыми жидкостями мозга и спинномозговой жидкостью, откуда уже потом всё смывается дальше. Смыв глимфатической системы работает за счёт пульсации артерий и наиболее эффективен ночью. Вот такие пироги. Пока вы спите, унитаз центральной нервной системы работает.
Экспериментально это было подтверждено на грызунах и дрозофилах с моделью болезни Альцгеймера. В нескольких работах доказали связь между бессонницей и повышением количества бета-амилоида в тканевой жидкости мозга у здоровых людей, установили связь между хроническим недосыпанием и деменцией у пожилых людей. Значит ли это, что если всю жизнь вы пахали как вол, и ночами не спали, то в старости вас ждёт Альцгеймер? Может быть. Завещайте тело науке, узнаем после вскрытия.
Вообще, Бета-амилоиды - это не один белок, а целая толпа. Только название для них общее. Состоят они из пептидов. Именно за Альцгеймера отвечает пептид из 42 аминокислотных остатков (Aβ42). Его роль в нормальной физиологии остаётся неизвестной - почему именно образуется и зачем мы не знаем. Знаем, что вроде не нужен, и что мозг его выбрасывает. Ну и раз выбрасывает, значит так надо. Это же мозг. А не жопа какая-нибудь.
В голове пациента, страдающего болезнью Альцгеймера, этот пептид может образовывать, так называемые, амилоидные бляшки, состоящие из скоплений пептида. Проще говоря, их сносит в кучи. Кучи белков, состоящие из одинаковых молекул подряд, называются олигомерами. Параллельно с этим начинается процесс образования патологических тау-белков. Если вы не микробиолог, вы, скорее всего, не особо в курсе про то, где они у вас и чего делают. А клетка в вашем воображении - воздушный шарик, наполненный всякими клеточными органами и внутриклеточной требухой. Не расстраивайтесь, по сути так и есть. С одним «но»: если вы не какое-нибудь собрание прокариот, то ваши клетки твёрдые. Структурную целостность поддерживают специальные опоры, а органеллы висят и двигаются по магистральным подвесам - микротрубкам. В общем, полезная штука эти трубки.. структуру клеток создают, функционировать ей помогают. Вот они-то и состоят из Тау-белков. Амилоидные бляшки:
Накопление Aβ42 в том или ином виде (если скажите точно в каком - дадут Нобелевскую премию) вызывает брак на производстве и Тау аномалии. Бракованный Тау-белок начинает распространяться от одной клетки к другой. Попав внутрь, он мешает процессу сборки трубок и разрушает структуру уже готовых, и вместо целых Тау, нужных для строительства, получаются бракованные, а рельсы для органелл разваливаются. Процессом размножения это безумие назвать сложно, но в целом такие инфекционные агенты принято называть прионами.
"Скелет" клетки и где найти микротрубки:
Процесс развала трубки (бракованный Тау - жёлтым, нормальный Тау - красным):
Губка вместо мозгов.
Произнеся это слово в слух, мы затрагиваем губчатую плохо изученную материю прионных болезней, о которых мы мало что знаем, и много с кем спорим. Будь-то коровье бешенство, болезнь Крейтцфельдта-Якоба, или Куру каннибалов - смысл всегда один и тот же. В организм, наследственным путём, прямым заражением или спонтанно, возникнув сам по себе, попадает взбесившийся белок. Распространяясь по клеткам, он нарушает процесс производства нормальных белков - формируются амилоидные бляшки, клетка оказывается облепленной мутантами и включает апоптоз.
Это такое контролируемое безопасное для окружающих саморазрушение, когда клетка разбивается на куски, окутанные мембранной, а наш организм увидев это быстро и без лишних разрушений убирает всё это безобразие. В итоге, при прионной инфекции мозги редеют, превращаясь в губку с множеством мелких пор. При болезни Альцгеймера со временем будет недоставать целых отделов мозга - голова будет пустеть буквально, как будто её выедают невидимые черви. Но суть в том, что ваши клетки из-за ошибки единственного из сотен белков не могут функционировать, запускают протокол безопасности, самоуничтожаются, и ваш организм их выбрасывает.
Так что, если вы видите историю про то, как 60-летний мужчина или женщина совершили что-то необычное - выехали на встречу, съели не ту таблетку, упали с лестницы, не заметили поезд, или забыли вас поздравить с днём рождения - может быть это не обычный старческий маразм, а у вашей мамы/бабушки мозгов не хватает в буквальном смысле. И это не тупая шутка, над которой вам можно посмеяться - болезнь Альцгеймера и наследственность идут рука об руку… В России официальные данные по этому заболеванию почти полностью отсутствуют (посмотрите сами), в то время как даже по самым общим оценкам, реальное число страдающих деменцией только в 2004 году было больше миллиона (отчёт ВОЗ, стр. 6.11.14.) и с тех пор во всём мире, наблюдается устойчивые рост числа заболевших, с ожиданием увеличения вплоть до 300-500% к 2050 году от текущих цифр. В США например число больных сегодня оценивается почти в 6 000 000 человек, а всего в мире - более 44 млн.
Как инженеру мне всегда импонировала русская прагматичная манера именования новых продуктов. Если какой-нибудь западный маркетолог может назвать небольшое игровое устройство на базе ЭЛТ «The Vectormatic Score-Master 3000» (Векторматический рекордсмен 3000), то русские склонны использовать более содержательные названия. И поскольку рассматривается третья попытка создания векторной системы отрисовки, то и назвали бы они ее «Векторная рисовальная машина №3». Счет инженеры — маркетологи (15: 0).
Еще много лет назад меня увлекла идея использования небольшой осциллографической электронно-лучевой трубки для отображения аналоговых часов. Это начинание, конечно, сулило эстетическое удовольствие, но в то же время казалось нелепым. Идея заменить цепочку механических связей на микроконтроллер, управляющий двумя высоковольтными дифференциальными усилителями, и независимый высоковольтный источник питания только, чтобы, грубо говоря, показывать время – казалась немного глупой.
Если при этом учесть всю работу по реализации каждого этапа процесса, в результате которого должно получиться достойного вида устройство, и прибавить детальную проработку дизайна, то весь проект уже намекал на свою монументальность.
Ни одна из множества предполагаемых задач не представляла особых трудностей сама по себе, но если брать в целом, то именно этап интеграции всего воедино в таких проектах и раскрывает сложности взаимосвязей отдельных компонентов.
В данной статье рассматривается сборка простой космической игры на базе ЭЛТ. В этом проекте описывается архитектура, приводятся конструкторские заметки, комментируется использованное оборудование, электроника, реализация питания высокого напряжения, а также процесс лазерной резки корпуса.
Общие сведения
Корпус собран из двух основных частей, изготовленных из плиты МДФ при помощи лазерной резки. В верхней части размещается ЭЛТ-дисплей, БП высокого напряжения, каналы отклонения и соответствующие калибраторы. В нижней части размещен джойстик, кнопки, микроконтроллер и БП низкого напряжения. Сзади расположен разъем питания и гнездо USB mini B. Верхний сегмент корпуса одевается на нижний, и вся эта конструкция фиксируется плоской панелью управления, на которой находится джойстик и кнопки.
ЭЛТ
Используемая ЭЛТ – это D7-16G, которая имеет чуть больше 76мм в диаметре, 160мм в длину и работает от аккумулятора. Три таких ЭЛТ я купил много лет назад как раз для подобных проектов.
ЭЛТ D7-16G
В ней используется 11-контактный коннектор типа 30-232, найти который весьма проблематично. После недолгих раздумий у меня возникла идея собрать собственный, вырезав заготовку лазером из листа акрила и подобрав подходящие контактные штырьки от цоколя ламповой панели.
Сборный коннектор 30-232
Для этого я разработал в Autocketch две составные заготовки таким образом, чтобы контакты электронно-лучевой трубки располагались вдоль контура “D” левой детали. Затем каждая эта деталь была вырезана из 3мм акрилового листа и склеена. Контакты я извлек из новой ламповой панели B9A, вставил в склеенную заготовку и слегка загнул для фиксации, после чего припаял к их выводам провода, заизолировав соединения термоусадкой.
Высоковольтный блок питания
Этот блок основан на импульсном стабилизаторе SG3525, запускающем двухтактный каскад N-FET, сопровождаемый небольшим ферритовым трансформатором со вторичными катушками высокого и низкого напряжения. Высоковольтная сторона проходит через положительный полуволновой выпрямитель, генерируя около 240В постоянного тока, после чего понижается параллельным стабилизатором до 210В. Выпрямленное напряжение подается на усилители отклонения и потребляет около 7мА. Напряжение вторичной обмотки ВН также удваивается, генерируя примерно -600В, 1мА, для смещения луча электронной пушки. Балансировка любого постоянного тока вторичной обмотки, способного насыщать сердечник или вызывать его магнитное смещение, реализуется положительными и отрицательными выпрямителями.
Структура трансформатора начинается с первичной обмотки в середине, после которой идет заземленное начало вторичной обмотки ВН, заканчивающейся выводом под анодным напряжением. В завершении идет обмотка низкого напряжения, которая используется для накала спирали электронно-лучевой трубки. Такой порядок выбран, чтобы избежать пробоя между обмотками высокого и низкого напряжения. Проговорив все это, я задумался о данной топологии и, пожалуй, найду время для ее доработки.
Блок ВН и устройство отклонения
Я так давно не использовал ферритовый броневой сердечник, что совершенно забыл о его электропроводности. Это привело к возникновению электронных дуг между верхней частью вторичной обмотки и заземленным ферритом, в результате чего из строя вышло несколько пар транзисторных драйверов первичной стороны STN3NF06L. В ходе выяснения причины я заменил их на пару более устойчивых TO252 (100A/8mΩ), способных выдержать даже подачу 12В, 1А и запустить трансформатор с короткозамкнутыми витками.
Я был несколько растерян, обнаружив, что стабилизатор SG3525 бывает не только в широком, но и в узком корпусе SOIC. В итоге посадочное место на печатной плате оказалось неподходящим, и пришлось заказывать узкую деталь из Великобритании.
Усилитель отклонения
Проектирование этой подсистемы оказалось непростой задачей, в связи с чем много времени ушло на работу с симулятором SPICE, который помог понять все нюансы.
Вот краткая спецификация:
• несимметричный вход 0..5В
• дифференциальный выход с размахом >80В на каждое плечо
• при 210В ток потребления менее 2мА
• возможность питания от 12В
• отсутствие отрицательных шин
• полоса пропускания >500кГц со сдвигом фазы менее 5° по отношению к расчетной
В течение нескольких дней я изучил несколько топологий, начиная с каскодной двухтактной схемы с источником втекающего тока. Изначально был опробован и оптимизирован только стационарный режим. После достижений базовых значений постоянного тока, я занялся параметрами переменного. Конденсатор, соединяющий эмиттеры двухтактной схемы (что не удивительно) существенно влияет на усиление переменного тока, частоту, фазовые характеристики и, судя по всему, выраженно взаимодействует с эмиттерными резисторами, а также связанными с ними стоками.
Здесь в качестве улучшения можно применить термостабилизацию путем термоскрепления выходных устройств (если учесть, что сейчас это SOT-233, то задача не из легких). В качестве альтернативы, конечно же, можно перейти на их монтирующиеся в отверстия аналоги, что существенно упростит задачу.
Было бы неплохо использовать схему, в которой фазовый сдвиг и усиление оказались бы менее зависимыми. Но текущий простой вариант, итак, преодолел многие сложные технические преграды, поэтому дополнительное требование стало бы уже чересчур обременительным.
Плата контроллера и ЦАП
Учитывая, что основная задача микроконтроллера в повторяющемся вычислении строки векторных пар каждые несколько десятков миллисекунд, то мне показалось резонным использовать для этого недорогой и простой вариант.
Очевидными кандидатами были ATmega328P и ST micro STM32F103C8T6. В итоге был выбран первый исключительно за более широкие возможности и (некогда) популярность. В процессе сборки платы на удивление выяснилось, что мной по случайности был куплен контроллер версии “B”, но об этом чуть позже.
В целом его плата проста и включает в себя USB-преобразователь FT232RL, двухканальный 8-битный ЦАП, интерфейс для джойстика и кнопок, дополнительный интерфейс I2C и стабилизатор 5В. Можно было использовать Arduino Nano с материнской платой, но текущее решение отличалось простотой и удобством подключения.
Плата контроллера и ЦАП
Системные требования подразумевают работу с одной шиной, что ограничивает выбор ЦАП. Изначально я взял TLC7528, который, вроде как, имеет токовый выход, но при более подробном изучении оказалось, что он может быть настроен на работу в режиме выхода напряжения. В сочетании с операционными усилителями TSH82 это оказалось плохим вариантом, так как искажение даже на минимальных уровнях сигнала составляло несколько процентов. Решил я эту проблему, заменой ЦАПа на AD7302, в котором реализовано два выхода напряжения и время установления 2мкс.
Искажение в несколько процентов может все испортить
Оглядываясь назад, можно предположить, что искажение при использовании TLC7528 могло быть связано с ограниченным входным синфазным диапазоном связанных с ним TSH82. Это легко проверить, удалив эти операционные усилители, и нарисовав круг Лиссажу на осциллографе непосредственно с помощью щупов.
В итоге ряд конструктивных ошибок подтолкнули меня к пересборке этой, казалось бы, простой платы: выбор ЦАП, изначальное использование FT232RL и отсутствие привязки соответствующего вывода TST к земле. Так же я совершил ошибку в схеме подключения USB-разъёма на плате (перепутал сигнальные провода), которую временно исправил с помощью самодельного кабеля.
Новый микроконтроллер, набор инструментов и загрузчик
Как я уже говорил, на удивление обнаружилось, что заказанные мной ранее ATmega328P непостижимым образом оказались менее популярной разновидностью “B”. Они полностью бинарно-совместимы со своими младшими собратьями за исключением лишь сигнатуры чипа. При этом в более новом варианте есть ряд полезных дополнительных функций, включая поддержку второго USART.
Arduino предоставляет новейший набор инструментов, который, как ни странно, не был доступен на сайте Atmel. Эти инструменты пришлось извлечь и собрать в портативный пакет, в связи с чем они больше не опирались на фреймворк Arduino. После я обновил соответствующий makefile проекта, чтобы он ссылался на новый контроллер и инструменты.
С учетом совместимости чипов, стандартный загрузчик Arduino был запрограммирован на более новом при помощи относительно небольшой AVR Studio 4 IDE, которую я выбрал за простоту интерфейса. XML-файл описания нового контроллера нужно было создать на основе старой версии. В итоге основными отличиями стали его номер и соответствующая сигнатура.
Для прошивки проекта использовалась утилита make и, соответственно, файл makefile. При таком подходе набор инструментов занял всего около 30Мб, а не сотни, как в случае с использованием «современных» интегрированных IDE.
Реальные программисты не используют IDE
Прошивка
Система спроектирована рисовать около 10К векторных пар в секунду. При скорости обновления в 50Гц это означает возможность отрисовки 200 векторов. После каждых 200 векторов (20мс) передний план получает сигнал для обновления их списка, чтобы игра могла выполняться в достаточно плавном режиме.
Несколько процессов системы требуют возможности вращения векторов. При этом, несмотря на очевидную резонность использования десятичного значения в диапазоне 0..359 градусов, такое решение потребует задействовать U16 и окажется излишне громоздким. После недолгих размышлений я решил, что будет уместным обработать максимально возможный объем данных с помощью S8 (от +127 до –128). Это также подойдет для представления координат X/Y (с учетом применения 8-битного ЦАП) для выражения угла (примерно ±180 градусов).
Обновление экрана осуществляется посредством прерывания таймера и является единственным способом управления ЦАПами. Векторы считываются из буфера ping или pong и повторяются до момента переключения буфера задачей переднего плана. Каждый буфер начинается со счетчика U8 и продолжается до следующей доступной точки записи, сопровождаемой точкой чтения. После этого он содержит список значений X и Y, сохраненных в формате U8.
Направление космического корабля изменяется движением джойстика влево/вправо. Сам корабль отображается в виде четырех точек а-ля с шеврона из сериала Стар Трек, вращающихся вокруг своего центра. Для каждого вектора требуется поиск sin и cos, 4 операции умножения и две сложения. Всего получается 37 вычислений за одно вращение, что в целом составляет примерно 200 инструкций. Космический корабль всегда будет отрисовываться первым, и первой векторной парой всегда будет его носовая часть, поэтому в выходном буфере эта векторная пара будет стартовой точкой для пуска ракет.
Запуск ракет осуществляется нажатием соответствующей кнопки. Они вылетают из носовой части корабля и продолжают движение по его текущему курсу. Уничтожение ракеты, которых одновременно может быть запущено не более 16, происходит при столкновении с астероидом или при достижении ей видимого радиуса космоса. Данная модель полета основана на рисовании линий между носом корабля и границей видимого радиуса, где дельта X и дельта Y вычисляются при запуске. Дельта X/Y – это фиксированная точка 8.8, так же, как и скорость.
Корабль в центре, астероид внизу
Объекты астероидов появляются в случайном месте радиуса и летят по нему прямо под углом между 80 и 140 градусами. При их появлении генерируется случайная стартовая и конечная позиции, которые затем преобразуются в декартовы координаты, и вопрос о прямой линии решается во многом аналогично ситуации с ракетами.
При столкновении ракеты с астероидом, обе сущности уничтожаются, и текущий счетчик очков увеличивается. Численные объекты дисплея берутся из «7-сегментной» таблицы поиска.
Весь «тяжелый» процесс игры выполняется при помощи функции «вращения», которая используется для добавления входного объекта (астероид, космический корабль, 7-сегментное значение и т.д.) в выходной буфер. Помимо этого, она позволяет входному объекту вращаться, а также применять смещение по осям X и Y. При этом ничто не мешает добавить во входной буфер взвод инопланетных кораблей в составе 2х2, после чего взять их как группу и развернуть перед отрисовкой.
Механическая часть
Придание этому космическому устройству эстетичности потребовало уже гораздо больше усилий, хотя сам процесс оказался намного занятнее, чем я ожидал. Изначально наклон корпуса ЭЛТ получился заметно ниже, чем планировалось, и в итоге несколько часов ушло на поиск способа вырезать сдвижной фиксирующий сегмент таким образом, чтобы верхние и нижние части можно было соединить подходящим образом.
Первичный дизайн
Какую же оказывается большую разницу могут внести буквально несколько градусов. Я был поражен тем, насколько в итоге изменился эстетический вид, и насколько криво смотрелся первый вариант с наиболее развернутым углом.
Комплект: модуль ЭЛТ, нижний сегмент корпуса и крышка передней панели
ЭЛТ зафиксирована при помощи круглых кронштейнов из МДФ, приклеенных к верхней части отсека. Изнутри эти кронштейны обшиты эластичным поролоном на клейкой основе.
Пустой ЭЛТ-фронт с фиксатором корпуса и разметкой под печатную плату
По фотографиям сложно заметить, что панель управления с джойстиком и кнопками надежно фиксирует ЭЛТ-модуль, препятствуя его обратному выдвижению.
Пакеты, использованные для проектирования корпуса
Для начального проектирования верхнего и нижнего сегментов корпуса использовался редактор Inkscape с расширением “The Laser Cut Box”. В качестве связки этих сегментов выступили только зубчатые вырезы. Итоговую заготовку из Inkscape я просто скопировал и вставил в Autosketch, в котором произвел все необходимые доработки.
Для нарезки заготовок из МДФ я использовал лазерный резак 70Вт. Рабочий цикл оказался достаточно быстрым, что позволило параллельно успеть опробовать альтернативные конструкторские идеи.
Заключение
Как я и рассчитывал, на этом проекте мне удалось многому научиться, поскольку все, кроме разве что встроенного микроконтроллера, оказалось за гранью моего обывательского опыта.
Очевидно, что на базе этого устройства отрисовки векторов можно разработать много разных игр и приложений. Пока что я однозначно хочу добавить на плату модуль синхронизации (через I2C), реализовав свой давний замысел по отображению аналоговых часов. Остальные возможные доработки будут вноситься постепенно.
Неприличный, конечно, получился промах со схемой USB mini B и первой безуспешной попыткой использовать ЦАП с токовым выходом в режиме выхода напряжения. Но в остальном я даже не знаю, что бы еще исправил в случае повторной сборки такого агрегата.
В текущем проекте были достигнуты все намеченные цели, включая расширение кругозора, в процессе чего, как это часто бывает, не обошлось без сюрпризов.
Связаться с автором Mark Atherton можно по почте markaren1@xtra.co.nz