Инженер-электронщик
3D-печать электроники на примере дрона: провода и платы больше не нужны
Снимок дрона, напечатанного на 3D-принтере
3D-печать электроники с проводящими контурами внутри — вам больше не нужны провода и платы; принтер остановится ровно в тот момент, когда надо разместить процессор, транзистор или элемент питания, а затем продолжит печать.
Питание электроники от сигнала Wi-Fi
Разработана уникальная 2D-ректенна с диодом Шоттки из MoS2 толщиной всего три атома
Инженеры давно научились извлекать энергию из радиосигнала. Для этого применяют ректенны (выпрямляющие антенны), которые преобразуют энергию поля электромагнитной волны в энергию постоянного тока. Простейшим вариантом может быть полуволновый вибратор, между плечами которого устанавливается диод.
Инженеры Массачусетского технологического института предложили новую конструкцию ректенны из MoS2, которая обладает рядом преимуществ. Во-первых, это плоская конструкция толщиной всего три атома, она гибкая, в отличие от выпрямителей на кремнии и арсениде галлия. Во-вторых, сульфид молибдена гораздо дешевле. И главное, что гибкая ректенна питается от электромагнитного излучения с частотой до 10 ГГц и отлично работает в диапазоне Wi-Fi, то есть от 2,4 до 5,9 ГГц. Выдаёт примерно 40 микроватт. Немного, но достаточно для светодиода или простого чипа.
Разбор демки на 128 байт из архива 1997 года
Объективно оценивая свои силы я взял 128 байтовое интро которое мне понравилось визуально. Файл
pentagra.com
за подписью Mcm, 128 байт, последнее изменение 24.09.1996 18:10:14, шестнадцатеричный дамп:000000: b0 13 cd 10 68 00 a0 07 06 1f ac ba c8 03 ee 42
000010: b1 40 ee 40 6e 6e e2 fa b8 3f 3f bb 40 01 bf 40
000020: 05 57 b1 78 ab 03 fb e2 fb 5f b1 60 88 01 aa 03
000030: fb 03 fb e2 f7 b1 61 88 01 aa 2b fb 2b fb e2 f7
000040: bf d1 99 57 b1 78 ab 2b fb e2 fb 5f b1 8f f3 ab
000050: 81 fe 00 fa 73 12 ac 0a c0 74 0d 48 88 44 fe 88
000060: 04 88 40 ff 88 84 bf fe 03 f2 42 75 e3 e4 60 3c
000070: 01 75 a5 b8 03 00 cd 10 c3 00 00 00 00 4d 63 6d
Как было реализовано пламя в Doom на Playstation
Целая глава моей книги Game Engine Black Book: DOOM посвящена консольным портам DOOM и сложностям, с которыми сталкивались их разработчики. Можно долго рассказывать о полном провале на 3DO, о сложностях на Saturn из-за аффинного наложения текстур и о потрясающем «реверс-инжиниринге с нуля», выполненном Рэнди Линденом для Super Nintendo.
Изначально двинувшись в направлении, ведущем к катастрофе[1], разработчики порта под Playstation 1 (PSX) в дальнейшем смогли сменить курс и создать порт, завоевавший успех у критиков и рынка. Final DOOM был первым истинным портом, сравнимым с PC-версией. Цветовые сектора с альфа-смешением не только усовершенствовали визуальное качество, но и улучшили геймплей благодаря индикации ключа нужного цвета. Также благодаря эффектам реверберации Audio Processing Unit консоли PSX был улучшен звук.
Команда разработчиков выполнила настолько качественную работу, что у неё осталось ещё немного свободных циклов ЦП, которые они решили использовать для генерации анимированного огня в интро и геймплее. Меня это настолько привело в благоговейный трепет, что я решил разобраться, как был реализован эффект. Когда первые поиски не дали ответа, я приготовился уже сдувать пыль с книги по MIPS для взлома исполняемого файла, но Сэмюэль Вильяреал вовремя ответил в Twitter, что он уже выполнил обратную разработку версии для Nintendo 64[2]. Мне достаточно было просто немного её подчистить, упростить и оптимизировать.
Если .NET работает везде, то на Windows 3.11 и DOS тоже
Но кому-то всё-таки мало. Михал Стреховски хочет запускать C# действительно везде.
C# в Windows 3.11
Он запустил код C# в двух «невозможных» системах, которые теперь дополнили наше определение «работает везде». Хотя это забавные эксперименты (не повторяйте их в продакшне), они подчёркивают как технические способности Михала, так и гибкость базовой платформы.
Сортировка выбором минимумов (максимумов)
Многие программисты думают, что Quick Sort — самый быстрый алгоритм из всех существующих. Отчасти это так. Но работает она действительно хорошо только если правильно выбран опорный элемент (тогда сложность составляет
При этом, если массив уже отсортирован, то алгоритм всё-равно будет работать не быстрее, чем O (n log n)
Исходя из этого, я решил написать свой алгоритм для сортировки массива, который работал бы лучше, чем quick_sort. И если массив уже отсортирован, то не прогонять его кучу раз, как это бывает у многих алгоритмов.
«Дело было вечером, делать было нечего», — Сергей Михалков.
Требования:
- Лучший случай
O (n) - Средний случай
O (n log n) - Худший случай
O (n log n) - В среднем быстрее быстрой сортировки
А теперь давайте обо всём по порядку
Чтобы наш алгоритм всегда работал быстро, нужно чтобы в среднем случае асимптотика была хотя бы O (n log n), а в лучшем — O (n). Все мы прекрасно знаем, что в лучшем случае сортировка вставками работает за один проход. Но в худшем ей придётся гонять по массиву столько раз, сколько в нём элементов.
В 26 лет Яна Харлан руководит разработкой космического двигателя. В следующем году его планируют запустить
В 2017 году российские ученые из команды Avant Space занялись разработкой уникального геликонного сеточного двигателя для космических спутников. С ним бы они могли поддерживать орбиту и выполнять межорбитальные переходы.
«Это простое на первый взгляд устройство повелевает воистину сложными плазменными процессами и позволяет разгонять рабочее тело двигателя до скоростей в десятки километров в секунду. Базовая схема не нова — мы лишь постарались сделать максимально эффективным сам плазменный разряд с помощью возбуждения геликонных волн», — говорит со-основательница и гендиректор проекта Avant Space Яна Харлан.
Отслеживаем прогресс выполнения в Python
Зачем нужны индикаторы прогресса?
Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.
Человек ранее не использовавший индикаторы прогресса может предположить, что их внедрение может сильно усложнить код. К счастью, это не так. Небольшие примеры ниже покажут, как быстро и просто начать отслеживать прогресс в консоли или в интерфейсе быстро набирающей популярность графической библиотеки PySimpleGUI.
ESP32 и файловая система SPIFFS
SPIFFS – (Serial Peripheral Interface Flash File System) файловая система флеш-памяти, подключаемой по последовательному периферийному интерфейсу. Простыми словами: есть микроконтроллер ESP32 (рисунок 1), у него есть встроенная перезаписываемая энергонезависимая NOR-память, в которой хранятся: настройки (Preferences), загрузчик (Bootloader), микропрограмма (скомпилированный скетч), файловая система (SPIFFS) и ещё что-нибудь, типа обновления "по воздуху" (OTA).
Разработка отладочной платы для К1986ВЕ1QI (авиа)
Несколько лет назад я познакомился с российскими микроконтроллерами фирмы Миландр. Это был 2013 год, когда инженеры бурно обсуждали первые результаты ФЦП «Развития электронной компонентной базы и радиоэлектроники» на 2008-2015 годы. На тот момент уже был выпущен контроллер К1986ВЕ9x (ядро Cortex-M3) и только-только появился контроллер 1986ВЕ1Т (ядро Cortex-M1). Он же в пластиковом корпусе LQFP-144 имел в документации обозначение К1986ВЕ1QI (авиа), а на самой микросхеме обозначение MDR32F1QI. На сайте изготовителя у него стоит суффикс «авиа», так как он имеет интерфейсы специфичные для авиастроения (ARINC 429, MIL_STD_1553).
Цифро-аналоговое и смешанное моделирование в PADS Professional
Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотехнические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих вариантов моделей позволяет выполнять более гибкую и точную проверку сложных мехатронных систем. Выполняя моделирование до начала этапа компоновки, трассировки или производства, вы сможете гарантировать, что ваши схемотехнические решения будут работать так как вы задумывали, исключив при этом проблемы, связанные с их эксплуатационными характеристиками. В рамках этой статьи мы спроектируем и смоделируем схему генератора с использованием моделей SPICE и VHDL-AMS. Затем мы рассмотрим, как использовать интегрированные функции AMS для моделирования уже существующих схем.
Все самое интересное под катом.
Шлюз для UDP между Wi-Fi и LoRa
Делаем шлюз между Wi-Fi и LoRa для UDP
У меня была детская мечта — выдать каждому бытовому «безВайФайному» устройству билет в сеть, т. е. IP-адрес и порт. Спустя какое-то время я понял, что не стоит откладывать. Надо взять и сделать.
Техническое задание
Сделать шлюзом M5Stack с установленным Модулем LoRa (рисунок 1). Шлюз будет подключён к Wi-Fi-сети, в которой получит по DHCP локальный IP-адрес. Шлюз с определённой периодичностью будет вещать в «LoRa-эфир» своё имя (аналог SSID для Wi-Fi) и диапазон допустимых портов, чтоб другие устройства знали, что есть такая сеть, к которой можно подключиться и в каком диапазоне можно «повыбирать» свободный порт. Поскольку это будет прототип, аутентификация не в этот раз. Новые устройства-клиенты будут находить доступную LoRa-сеть и передавать ей выбранный порт. После того, как шлюз получил от нового клиента порт, проверяет свободен ли он, если да, то регистрирует нового клиента и начинает слушать данный порт на собственном асинхронном UDP-сервере. После регистрации клиент получит согласие или отказ на использование заявленного порта. Порядок работы отображён в таблице 1.
Рисунок 1
Таблица 1
сторона | направление и данные | сторона | сеанс |
---|---|---|---|
[ клиент ] | <— сигнал-маяк — | [ шлюз ] | 0xA1 |
[ клиент ] | — выбранный порт —> | [ шлюз ] | 0xB1 |
[ клиент ] | <— согласие или отказ — | [ шлюз ] | 0xA2 |
[ клиент ] | — UPD-пакет —> | [ шлюз ] | 0xB2 |
[ клиент ] | <— UPD-пакет — | [ шлюз ] | 0xA3 |
[ сеть ] | <— UPD-пакет — | [ шлюз ] | 0xC1 |
Передо мной на столе лежат всякие Модули для M5Stack и скучают. Давайте возьмем LoR’у и развлечёмся с ней. Сама концепция модулей прекрасна! Что тут скажешь? Но, модули у меня первой ревизии, в которых ужаснейшая встроенная антенна, выполненная на гибкой печатной плате и приклеенная к боковой стенке корпуса. Я проводил однажды полевые тесты таких модулей (можно посмотреть на русскоязычном канале на YouTube):
Естественно, пришлось удалить эти рудименты и впаять стандартные спиралевидные антенны, которые идут в комплекте с Ra-01. После такой кастомизации дальность связи заметно улучшилась, но появился побочный момент — антенна имеет диаметр больший, чем допустимое расстояние между модулями. Пришлось отказаться от Завершающего модуля на время проекта.
На моей визитке работает Linux
Кликабельно
Я инженер встроенных систем. В свободное время я часто ищу то, что можно будет использовать в проектировании будущих систем, или что-то из разряда моих интересов.
Одна из таких областей – дешёвые компьютеры, способные поддерживать Linux, и чем дешевле, тем лучше. Поэтому я зарылся в глубокую кроличью нору малоизвестных процессоров.
Я подумал: «Эти процессоры настолько дешёвые, что их практически можно раздавать даром». И через некоторое время ко мне пришла идея сделать голую карточку для Linux в форм-факторе визитной карточки.
Памятка по борьбе с алкоголем или Как пережить фуршеты
Меня, если честно, достаточно сильно раздражают всевозможные застолья. Потому что гораздо приятнее посидеть с паяльником или читая книгу, а не "… хорохорясь, ерепенясь и валяясь, как колода..." провести выходные. Но традиции-с, будь они неладны, формировались столетиями и не умея пить — бывает достаточно сложно вписаться в коллектив, найти нужный подход и т.д. Особенно грешат этим делом всевозможные руководящие кадры из старого поколения. Что же делать тем, для кого алкоголь и необходимость его употреблять — это просто лишняя головная боль? Самый простой ответ — НЕ ПИТЬ, но на практике полностью это очень сложно реализовать. Эффективнее в наших реалиях принять тезис «алкоголь — просто инструмент» и учиться с ним правильно работать и использовать для решения своих задач с минимизацией ущерба для здоровья.
Статью кладем в закладки и рассылаем всем друзьям, подчиненным и т.д. и т.п. Есть время подготовиться и встретить новогодние корпоративы во всеоружии. Практически уверен, что многое из описанного активно используют те, кто «не напиваться» обязан по долгу службы. Простой же обыватель чаще про это не думает, полагаясь на удачу и легкую руку. И чаще всего оказывается в проигрыше. Предупрежден = вооружен, поэтому под катом читаем, как победить в битве с алкоголем.
Чуткий дом приходит на смену умным домам
Институт программных систем РАН
(Игорь Шелапутин, Wikimedia Commons, CC-BY)
Член-корреспондент РАН Сергей Абрамов рассказал о проекте «Чуткий дом» (27 ноября). Развивая понятие «умного дома», он предлагает наблюдать за домашним оборудованием, строить и запоминать шаблоны его поведения, учиться на его ошибках, загодя предсказывать его состояние и проблемы.
Изучение нейтрино привело к неожиданному открытию в математике
Три физика хотели обсчитать процесс изменения нейтрино. В итоге они обнаружили неожиданное взаимоотношение между одними из самых распространённых объектов математики.
Однажды в августе, утром после завтрака математик Теренс Тао открыл емейл, написанный тремя физиками, с которыми он не был знаком. Троица объяснила ему, что наткнулась на простую формулу, которая в случае, если она окажется верной, опишет неожиданное взаимоотношение между одними из наиболее базовых и важных объектов линейной алгебры.
Формула «выглядела слишком хорошо, чтобы быть правдой», сказал Тао, профессор из Калифорнийского университета в Лос-Анджелесе, лауреат Филдсовской премии, один из ведущих математиков мира. «Нечто настолько короткое и простое уже давно должно было оказаться в учебниках, — сказал он. – Поэтому сначала я подумал – нет, этого не может быть».
А потом он подумал ещё немного.
Опыт создания продукта в России или Как создавался “народный” беспроводной пылесос PRO-EXPERT
- список подводных камней
- чек-лист для старта продаж
- примерные затраты по каждому из этапов
А остальным — может быть просто интересна история
Функциональное программирование — это не то, что нам рассказывают
Функциональное программирование — это очень забавная парадигма. С одной стороны, про неё все знают, и все любят пользоваться всякими паттерн матчингами и лямбдами, с другой на чистом ФП языке обычно мало кто пишет. Поэтому понимание о том, что же это такое восходит больше к мифам и городским легендам, которые весьма далеко ушли от истины, а у людей складывается мнение, что "ФП подходит для всяких оторванных от жизни программок расчетов фракталов, а для настоящих задач есть зарекомендовавший себя в бою проверенный временем ООП".
Хотя люди обычно признают удобства ФП фич, ведь намного приятнее писать:
int Factorial(int n)
{
Log.Info($"Computing factorial of {n}");
return Enumerable.Range(1, n).Aggregate((x, y) => x * y);
}
чем ужасные императивные программы вроде
int Factorial(int n)
{
int result = 1;
for (int i = 2; i <= n; i++)
{
result *= i;
}
return result;
}
Так ведь? С одной стороны да. А с другой именно вторая программа в отличие от первой является функциональной.
Как же так, разве не наоборот? Красивый флюент интерфейс, трансформация данных и лямбды это функционально, а грязные циклы которые мутируют локальные переменные — наследие прошлого? Так вот, оказывается, что нет.
SamsPcbGuide, часть 13: Использование IBIS-моделей
Information
- Rating
- Does not participate
- Location
- Дубна, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity