Pull to refresh
4
0
Виталий Баутин @JustCat

Инженер-электронщик

Send message

Как настроить китайский левитрон

Reading time5 min
Views50K
В данной статье рассмотрим электронную начинку подобных устройств, принцип работы и метод настройки. До сих пор мне встречались описания готовых фабричных изделий, очень красивых, и весьма не дешевых. Во всяком случае, при беглом поиске цены начинаются от десяти тысяч рублей. Я предлагаю описание китайского набора для самостоятельной сборки за 1.5 тысячи.

image
Total votes 92: ↑91 and ↓1+128
Comments81

3D-печать электроники на примере дрона: провода и платы больше не нужны

Reading time3 min
Views16K

Снимок дрона, напечатанного на 3D-принтере

3D-печать электроники с проводящими контурами внутри — вам больше не нужны провода и платы; принтер остановится ровно в тот момент, когда надо разместить процессор, транзистор или элемент питания, а затем продолжит печать.
Total votes 26: ↑22 and ↓4+18
Comments52

Питание электроники от сигнала Wi-Fi

Reading time3 min
Views22K

Разработана уникальная 2D-ректенна с диодом Шоттки из MoS2 толщиной всего три атома




Инженеры давно научились извлекать энергию из радиосигнала. Для этого применяют ректенны (выпрямляющие антенны), которые преобразуют энергию поля электромагнитной волны в энергию постоянного тока. Простейшим вариантом может быть полуволновый вибратор, между плечами которого устанавливается диод.

Инженеры Массачусетского технологического института предложили новую конструкцию ректенны из MoS2, которая обладает рядом преимуществ. Во-первых, это плоская конструкция толщиной всего три атома, она гибкая, в отличие от выпрямителей на кремнии и арсениде галлия. Во-вторых, сульфид молибдена гораздо дешевле. И главное, что гибкая ректенна питается от электромагнитного излучения с частотой до 10 ГГц и отлично работает в диапазоне Wi-Fi, то есть от 2,4 до 5,9 ГГц. Выдаёт примерно 40 микроватт. Немного, но достаточно для светодиода или простого чипа.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments29

Разбор демки на 128 байт из архива 1997 года

Reading time15 min
Views45K
Очень приятно осуществлять свои желания, особенно из далёкого прошлого, такого далёкого что уже и забыл что этого когда-то хотел. Я мало знаю о демосцене и уж точно никогда не следил ни за авторами ни за их работами, мне просто нравилось смотреть то что получалось. Иногда мне хотелось в этом разобраться, но тогда мне не хватало знаний и опыта, позже усидчивости, а потом и вовсе у меня пропал к этому интерес. Но недавно мой друг, с кем мы учились в то время и который поставлял нам все новинки, включая демки, с BBS и Fidonet, потому что у него чуть ли ни у единственного был и телефон и модем и компьютер одновременно, посетил CAFePARTY со своими работами, что заставило меня открыть архив моего первого компьютера, выбрать демку и разобраться.

pentagra.com

Объективно оценивая свои силы я взял 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
Читать дальше →
Total votes 169: ↑169 and ↓0+169
Comments81

Как было реализовано пламя в Doom на Playstation

Reading time3 min
Views46K

Целая глава моей книги 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]. Мне достаточно было просто немного её подчистить, упростить и оптимизировать.
Total votes 64: ↑61 and ↓3+58
Comments36

Если .NET работает везде, то на Windows 3.11 и DOS тоже

Reading time3 min
Views22K
Я часто повторяю, что .NET Core — это опенсорс и он работает «везде». MonoGame, Unity, Apple Watch, Raspberry Pi и микроконтроллеры, дюжина линуксов, Windows и так далее. Уже немало.

Но кому-то всё-таки мало. Михал Стреховски хочет запускать C# действительно везде.


C# в Windows 3.11

Он запустил код C# в двух «невозможных» системах, которые теперь дополнили наше определение «работает везде». Хотя это забавные эксперименты (не повторяйте их в продакшне), они подчёркивают как технические способности Михала, так и гибкость базовой платформы.
Читать дальше →
Total votes 63: ↑63 and ↓0+63
Comments46

Сортировка выбором минимумов (максимумов)

Reading time14 min
Views24K

imageМногие программисты думают, что Quick Sort — самый быстрый алгоритм из всех существующих. Отчасти это так. Но работает она действительно хорошо только если правильно выбран опорный элемент (тогда сложность составляет O (n log n)). В противном же случае асимптотика будет примерно такой же как и у пузырика (то-есть O (n2)).
При этом, если массив уже отсортирован, то алгоритм всё-равно будет работать не быстрее, чем O (n log n)


Исходя из этого, я решил написать свой алгоритм для сортировки массива, который работал бы лучше, чем quick_sort. И если массив уже отсортирован, то не прогонять его кучу раз, как это бывает у многих алгоритмов.

«Дело было вечером, делать было нечего», — Сергей Михалков.

Требования:


  1. Лучший случай O (n)
  2. Средний случай O (n log n)
  3. Худший случай O (n log n)
  4. В среднем быстрее быстрой сортировки


А теперь давайте обо всём по порядку


Чтобы наш алгоритм всегда работал быстро, нужно чтобы в среднем случае асимптотика была хотя бы O (n log n), а в лучшем — O (n). Все мы прекрасно знаем, что в лучшем случае сортировка вставками работает за один проход. Но в худшем ей придётся гонять по массиву столько раз, сколько в нём элементов.


Читать дальше →
Total votes 19: ↑10 and ↓9+6
Comments39

В 26 лет Яна Харлан руководит разработкой космического двигателя. В следующем году его планируют запустить

Reading time8 min
Views65K
imageЯна Харлан с макетом двигателя (1:1)

В 2017 году российские ученые из команды Avant Space занялись разработкой уникального геликонного сеточного двигателя для космических спутников. С ним бы они могли поддерживать орбиту и выполнять межорбитальные переходы.

«Это простое на первый взгляд устройство повелевает воистину сложными плазменными процессами и позволяет разгонять рабочее тело двигателя до скоростей в десятки километров в секунду. Базовая схема не нова — мы лишь постарались сделать максимально эффективным сам плазменный разряд с помощью возбуждения геликонных волн», — говорит со-основательница и гендиректор проекта Avant Space Яна Харлан.
Читать дальше →
Total votes 111: ↑97 and ↓14+124
Comments312

Отслеживаем прогресс выполнения в Python

Reading time2 min
Views153K

Зачем нужны индикаторы прогресса?


Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.


Человек ранее не использовавший индикаторы прогресса может предположить, что их внедрение может сильно усложнить код. К счастью, это не так. Небольшие примеры ниже покажут, как быстро и просто начать отслеживать прогресс в консоли или в интерфейсе быстро набирающей популярность графической библиотеки PySimpleGUI.

Читать дальше →
Total votes 35: ↑34 and ↓1+41
Comments11

ESP32 и файловая система SPIFFS

Reading time5 min
Views51K


SPIFFS – (Serial Peripheral Interface Flash File System) файловая система флеш-памяти, подключаемой по последовательному периферийному интерфейсу. Простыми словами: есть микроконтроллер ESP32 (рисунок 1), у него есть встроенная перезаписываемая энергонезависимая NOR-память, в которой хранятся: настройки (Preferences), загрузчик (Bootloader), микропрограмма (скомпилированный скетч), файловая система (SPIFFS) и ещё что-нибудь, типа обновления "по воздуху" (OTA).

Читать дальше →
Total votes 8: ↑6 and ↓2+7
Comments10

Разработка отладочной платы для К1986ВЕ1QI (авиа)

Reading time13 min
Views32K
Отладочная плата MDB1986

Несколько лет назад я познакомился с российскими микроконтроллерами фирмы Миландр. Это был 2013 год, когда инженеры бурно обсуждали первые результаты ФЦП «Развития электронной компонентной базы и радиоэлектроники» на 2008-2015 годы. На тот момент уже был выпущен контроллер К1986ВЕ9x (ядро Cortex-M3) и только-только появился контроллер 1986ВЕ1Т (ядро Cortex-M1). Он же в пластиковом корпусе LQFP-144 имел в документации обозначение К1986ВЕ1QI (авиа), а на самой микросхеме обозначение MDR32F1QI. На сайте изготовителя у него стоит суффикс «авиа», так как он имеет интерфейсы специфичные для авиастроения (ARINC 429, MIL_STD_1553).
А дальше...
Total votes 44: ↑43 and ↓1+57
Comments83

Цифро-аналоговое и смешанное моделирование в PADS Professional

Reading time10 min
Views2.7K


Одной из полезных функций, включенных в PADS Professional, является встроенный инструмент моделирования аналоговых смешанных сигналов (AMS), который позволяет моделировать ваши схемотехнические проекты с использованием моделей SPICE и VHDL-AMS. Возможность использования обоих вариантов моделей позволяет выполнять более гибкую и точную проверку сложных мехатронных систем. Выполняя моделирование до начала этапа компоновки, трассировки или производства, вы сможете гарантировать, что ваши схемотехнические решения будут работать так как вы задумывали, исключив при этом проблемы, связанные с их эксплуатационными характеристиками. В рамках этой статьи мы спроектируем и смоделируем схему генератора с использованием моделей SPICE и VHDL-AMS. Затем мы рассмотрим, как использовать интегрированные функции AMS для моделирования уже существующих схем.

Все самое интересное под катом.


Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

Шлюз для UDP между Wi-Fi и LoRa

Reading time4 min
Views8.6K

Делаем шлюз между 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. После такой кастомизации дальность связи заметно улучшилась, но появился побочный момент — антенна имеет диаметр больший, чем допустимое расстояние между модулями. Пришлось отказаться от Завершающего модуля на время проекта.

Total votes 15: ↑15 and ↓0+15
Comments11

На моей визитке работает Linux

Reading time6 min
Views109K
Перевод статьи из блога инженера Джорджа Хиллиарда


Кликабельно

Я инженер встроенных систем. В свободное время я часто ищу то, что можно будет использовать в проектировании будущих систем, или что-то из разряда моих интересов.

Одна из таких областей – дешёвые компьютеры, способные поддерживать Linux, и чем дешевле, тем лучше. Поэтому я зарылся в глубокую кроличью нору малоизвестных процессоров.

Я подумал: «Эти процессоры настолько дешёвые, что их практически можно раздавать даром». И через некоторое время ко мне пришла идея сделать голую карточку для Linux в форм-факторе визитной карточки.
Читать дальше →
Total votes 167: ↑162 and ↓5+210
Comments116

Памятка по борьбе с алкоголем или Как пережить фуршеты

Reading time20 min
Views177K
Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на Хабр. Рассказанное — услышит один человек, а написанное — прочитают сотни!

Меня, если честно, достаточно сильно раздражают всевозможные застолья. Потому что гораздо приятнее посидеть с паяльником или читая книгу, а не "… хорохорясь, ерепенясь и валяясь, как колода..." провести выходные. Но традиции-с, будь они неладны, формировались столетиями и не умея пить — бывает достаточно сложно вписаться в коллектив, найти нужный подход и т.д. Особенно грешат этим делом всевозможные руководящие кадры из старого поколения. Что же делать тем, для кого алкоголь и необходимость его употреблять — это просто лишняя головная боль? Самый простой ответ — НЕ ПИТЬ, но на практике полностью это очень сложно реализовать. Эффективнее в наших реалиях принять тезис «алкоголь — просто инструмент» и учиться с ним правильно работать и использовать для решения своих задач с минимизацией ущерба для здоровья.

Статью кладем в закладки и рассылаем всем друзьям, подчиненным и т.д. и т.п. Есть время подготовиться и встретить новогодние корпоративы во всеоружии. Практически уверен, что многое из описанного активно используют те, кто «не напиваться» обязан по долгу службы. Простой же обыватель чаще про это не думает, полагаясь на удачу и легкую руку. И чаще всего оказывается в проигрыше. Предупрежден = вооружен, поэтому под катом читаем, как победить в битве с алкоголем.

Читать дальше →
Total votes 155: ↑119 and ↓36+118
Comments478

Чуткий дом приходит на смену умным домам

Reading time5 min
Views12K
В последнюю неделю ноября в Переславле-Залесском прошёл Национальный Суперкомпьютерный Форум. Три дня люди рассказывали и показывали, как обстоят дела с разработкой суперкомпьютеров в России и как технологии, обкатанные на суперкомпьютерах, превращаются в товары.

Институт программных систем РАН
Институт программных систем РАН
(Игорь Шелапутин, Wikimedia Commons, CC-BY)


Член-корреспондент РАН Сергей Абрамов рассказал о проекте «Чуткий дом» (27 ноября). Развивая понятие «умного дома», он предлагает наблюдать за домашним оборудованием, строить и запоминать шаблоны его поведения, учиться на его ошибках, загодя предсказывать его состояние и проблемы.
Читать дальше →
Total votes 4: ↑3 and ↓1+6
Comments87

Изучение нейтрино привело к неожиданному открытию в математике

Reading time9 min
Views40K

Три физика хотели обсчитать процесс изменения нейтрино. В итоге они обнаружили неожиданное взаимоотношение между одними из самых распространённых объектов математики.




Однажды в августе, утром после завтрака математик Теренс Тао открыл емейл, написанный тремя физиками, с которыми он не был знаком. Троица объяснила ему, что наткнулась на простую формулу, которая в случае, если она окажется верной, опишет неожиданное взаимоотношение между одними из наиболее базовых и важных объектов линейной алгебры.

Формула «выглядела слишком хорошо, чтобы быть правдой», сказал Тао, профессор из Калифорнийского университета в Лос-Анджелесе, лауреат Филдсовской премии, один из ведущих математиков мира. «Нечто настолько короткое и простое уже давно должно было оказаться в учебниках, — сказал он. – Поэтому сначала я подумал – нет, этого не может быть».

А потом он подумал ещё немного.
Читать дальше →
Total votes 43: ↑41 and ↓2+50
Comments28

Опыт создания продукта в России или Как создавался “народный” беспроводной пылесос PRO-EXPERT

Reading time16 min
Views17K
Всем привет! Андрей – предприниматель, CIO, CEO и кайтер. Несколько лет назад я пошел по пути создания и запуска собственного продукта «с нуля» на отечественном рынке (беспроводной пылесос). В этой статье хочу поделиться своим опытом с начинающими и действующими предпринимателями:

  • список подводных камней
  • чек-лист для старта продаж
  • примерные затраты по каждому из этапов

А остальным — может быть просто интересна история мытарств обычного, но упрямого российского предпринимателя :) Поехали.


Читать дальше →
Total votes 30: ↑24 and ↓6+32
Comments130

Функциональное программирование — это не то, что нам рассказывают

Reading time17 min
Views126K

Функциональное программирование — это очень забавная парадигма. С одной стороны, про неё все знают, и все любят пользоваться всякими паттерн матчингами и лямбдами, с другой на чистом ФП языке обычно мало кто пишет. Поэтому понимание о том, что же это такое восходит больше к мифам и городским легендам, которые весьма далеко ушли от истины, а у людей складывается мнение, что "ФП подходит для всяких оторванных от жизни программок расчетов фракталов, а для настоящих задач есть зарекомендовавший себя в бою проверенный временем ООП".



Хотя люди обычно признают удобства ФП фич, ведь намного приятнее писать:


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;
}

Так ведь? С одной стороны да. А с другой именно вторая программа в отличие от первой является функциональной.


Как же так, разве не наоборот? Красивый флюент интерфейс, трансформация данных и лямбды это функционально, а грязные циклы которые мутируют локальные переменные — наследие прошлого? Так вот, оказывается, что нет.

Читать дальше →
Total votes 208: ↑200 and ↓8+251
Comments795

Information

Rating
Does not participate
Location
Дубна, Москва и Московская обл., Россия
Date of birth
Registered
Activity