Pull to refresh
4
0

User

Send message

SDR приемник GPS на микроконтроллере

Level of difficultyMedium
Reading time28 min
Views20K

В этой статье я расскажу о том, как я делал самодельный SDR GPS приемник на микроконтроллере. SDR в данном случае означает, что приемник не содержит готовых GPS-модулей или специализированных микросхем для обработки GPS сигналов - вся обработка "сырых" данных выполняется в реальном времени на микроконтроллере (STM32 или ESP32).
Зачем я это сделал — просто Just for fun, плюс - получение опыта.

Читать далее
Total votes 162: ↑161 and ↓1+160
Comments209

Февка — некрупная высокотемпературная горелка почти из ничего. Применение в стеклодувном деле

Level of difficultyEasy
Reading time7 min
Views14K
Февка в стеклодувном деле

Существует целый ряд технических забав, доступ к которым любителям затруднён из-за требующегося изрядного оснащения. Взять то же стеклодувное дело — натурально, огненная мистерия с вашим (нашим) непосредственным участием, да и стеклянные работы как сон наяву. Однако нужна вся эта прорва пугающего специфического оборудования, и в первую очередь — горелки-шланги-баллоны. Без которых, разумеется, не обойтись при более или менее крупных работах и применении тугоплавкого стекла. Для обработки же небольших заготовок из стёкол относительно легкоплавких, например, «платинового», можно с успехом применить простейшую самодельную горелку-февку, оснастив её отражателем пламени. А используя ещё и широкий мягкий подогревный огонь, можно попробовать заготовки покрупнее.
Полюбопытствовать
Total votes 133: ↑132 and ↓1+131
Comments64

L-Systems — математическая красота растений

Reading time7 min
Views40K
Красота растений привлекала внимание математиков веками. Активнее всего изучались интересные геометрические свойства растений, такие как симметрия листьев относительно центральной оси, радиальная симметрия цветов, и спиральное расположение семечек в шишках. «Красота связана с симметрией» (H. Weyl. Symmetry). Во время роста живых организмов, особенно растений, можно четко видеть регулярно повторяющиеся многоклеточные структуры. В случае составных листьев, например, маленькие листочки, которые являются частью большого взрослого листа, имеют ту же форму, что весь лист имел на раннем этапе формирования.

В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.

Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.
Дальше интереснее
Total votes 87: ↑85 and ↓2+83
Comments33

Микроконтроллеры по 5 рублей. Программируем микросхемы PADAUK

Reading time16 min
Views54K

Впервые известие о том, что фирма PADAUK Tech продаёт микроконтроллеры по три цента появилось в 2018 году. Эта новость вызвала интерес и обсуждение на форумах, а затем благополучно была забыта (по крайней мере в русскоязычном комьюнити).

В статье расскажу о своём опыте освоения микроконтроллеров PADAUK. Кратко рассмотрим особенности архитектуры, средствах разработки и отладки, посмотрим что нужно учесть перед тем как использовать эти микросхемы в своих проектах. Протестируем микроконтроллер PFC161 на отладочной плате.

Читать далее
Total votes 103: ↑100 and ↓3+97
Comments69

Пишем свою библиотеку для I2C OLED микродисплея 128х32px

Reading time7 min
Views16K

Недавно я обратил свой взгляд на небольшой, но весьма привлекательный OLED микродисплей, который можно вполне успешно применять в своих самоделках, одна беда — известные библиотеки для него поддерживают только латинский шрифт. Ситуация усугубляется тем, что я использую его для подключения к esp32, а не Arduino. Поэтому arduino-библиотеки можно сразу отбросить. Что с этим делать и как дальше жить, об этом мы и поговорим в этой статье.

Читать дальше →
Total votes 67: ↑61 and ↓6+55
Comments24

Экспериментируем с ПЛИС семейства ECP5 фирмы Lattice

Reading time10 min
Views8.5K

Когда я видел на Хабре упоминание о ПЛИС Lattice, у меня всегда возникал простой вопрос: «А зачем ещё одна ПЛИС?». Вроде всю жизнь хватало пары базовых. Но полгода назад случилось то, что сняло этот вопрос для меня. Пришёл Заказчик и сказал: «Мы делаем проект на ECP5». Против требований Заказчика не попрёшь!

А пока я осваивал работу с этим железом и пытался понять, как обосновать необходимость попробовать то же самое для остальных, мой знакомый, ныне живущий в Штатах, обрадовал новостью, что у его любимого поставщика подходит к концу запас десятых Циклонов и шестых Спартанов. В целом, через три года будет построен новый завод Intel, но что именно там будут производить, он не в курсе. И три года продержаться в любом случае, будет нужно. Короче, сейчас надо иметь возможность быстро мигрировать с одной ПЛИС на другую.

Итого, вчера делать ознакомительную статью про Lattice было рано, завтра – может быть поздно.

Сегодня я расскажу, где купить более-менее дешёвые платы для опытов, как быстро освоить Open Source среду разработки и какие готовые проекты осмотреть в первую очередь.

Читать далее
Total votes 38: ↑37 and ↓1+36
Comments30

Как разрезать полметра стали, в домашних условиях, почти бесшумно — используя электричество?

Reading time8 min
Views67K

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

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

Читать дальше →
Total votes 131: ↑129 and ↓2+127
Comments59

Измеряем плотность плазмы в проекте геликонного двигателя

Reading time12 min
Views14K

В 2016 году Хабр рассказал о старте проекта Курчатовского института по созданию прототипа безэлектродного плазменного ракетного двигателя (БПРД) мощностью 100 кВт. Сегодня этот проект выходит на финишную прямую, и пора измерять плотность плазмы и ускорение ионов, чтобы подобрать оптимальные режимы двигателя. Ведь двигателю придется работать на орбите десятки, а то и сотни часов, и фактическая плотность плазмы должна соответствовать расчетной для достижения требуемых параметров тяги и ресурса.

Читать далее
Total votes 23: ↑22 and ↓1+21
Comments34

Раскладываем по полочкам параметры АЦП

Reading time10 min
Views75K
Привет, Хабр! Многие разработчики систем довольно часто сталкиваются с обработкой аналоговых сигналов. Не все манипуляции с сигналами можно осуществить в аналоговой форме, поэтому требуется переводить аналог в цифровой мир для дальнейшей постобработки. Возникает вопрос: на какие параметры стоит обратить внимание при выборе микроконтроллера или дискретного АЦП? Что все эти параметры означают? В этой статье постараемся детально рассмотреть основные характеристики АЦП и разобраться на что стоит обратить внимание при выборе преобразователя.

image

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

Предобучение нейронной сети с использованием ограниченной машины Больцмана

Reading time9 min
Views54K
Привет. Как и планировалось в прошлом посте об ограниченных машинах Больцмана, в этом будет рассмотрено применение RBM для предобучения обыкновенной многослойной сети прямого распространения. Такая сеть обычно обучается алгоритмом обратного распространения ошибки, который зависит от многих параметров, и пока не существует точного алгоритма выбора этих самых параметров обучения, как и оптимальной архитектуры сети. Разработано множество эвристик, позволяющих сократить пространство поиска, а также методик оценки качества выбранных параметров (например, кросс-валидация). Мало того, оказывается, и сам алгоритм обратного распространения не так уж хорош. Хотя Румельхарт, Хинтон и Вильямс показали сходимость алгоритма обратного распространения (тут еще более математическое доказательство сходимости), но есть небольшой нюанс: алгоритм сходится при бесконечно малых изменениях весов (т.е. при скорости обучения, стремящейся к нулю). И даже это не все. Как правило, этим алгоритмом обучают небольшие сети с одним или двумя скрытыми слоями из-за того, что эффект обучения не доходит до дальних слоев. Далее мы поговорим подробнее о том, почему же не доходит, и применим технику инициализации весов с помощью обученной RBM, которую разработал Джеффри Хинтон.

Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments11

Реализация Restricted Boltzmann machine на c#

Reading time12 min
Views41K
Привет. Закончился курс по нейронным сетям. Хороший курс, но мало практики. Так что в этом посте мы рассмотрим, напишем и протестим ограниченную машину Больцманастохастическую, генеративную модель нейронной сети. Обучим ее, используя алгоритм Contrastive Divergence (CD-k), разработанный профессором Джеффри Хинтоном, который кстати и ведет тот курс. Тестировать мы будем на наборе печатных английских букв. В следующем посте будет рассмотрен один из недостатков алгоритма обратного распространения ошибки и способ первоначальной инициализации весов с помощью машины Больцмана. Кто не боится формулок и простыней текста, прошу под кат.

Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments20

Делаем встраиваемый полифункциональный зарядник

Reading time15 min
Views22K

Попытаемся сделать зарядник 300 Вт с КПД 99% из тех деталей которые еще остались в стоках интернет-продавцов. Продумаем архитектуру. Cоздадим схему. Проведем симуляцию в LTSpice и Microcap. Научимся технологии оптимизации в симуляторе. Найдем применение методу Monte Carlo. Посмотрим на трассировку. Попробуем сравнительно новую фишку Altium Designer - PDN Analyzer.

Читать далее
Total votes 98: ↑97 and ↓1+96
Comments69

Неклассические контейнеры в C++

Reading time17 min
Views41K

Контейнер - это объект, используемый для хранения других объектов. Контейнер берет на себя управление всей памятью, которые эти объекты занимают.

В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL и их отличия от классических контейнеров.

Читать далее
Total votes 68: ↑66 and ↓2+64
Comments24

Делаем лампочку вечной и суперэффективной

Reading time3 min
Views90K
Я нашёл новую отличную светодиодную лампу, которую можно за пять минут превратить в вечную.
Получится лампа, дающая 816 лм, с рекордной эффективностью почти 150 лм/Вт и почти неограниченным сроком службы.

Читать дальше →
Total votes 143: ↑139 and ↓4+135
Comments170

Согласование импедансов: переходные процессы и переходные отверстия

Reading time12 min
Views18K

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

Металлизировать отверстия
Total votes 68: ↑67 and ↓1+66
Comments25

STM32 и LCD2004A без I2C интерфейса

Reading time10 min
Views11K
Недавно начал изучать STM32 контроллеры и понадобилось взаимодействие с LCD дисплеем. Из дисплеев нашел у себя только 2004A, причем без I2C интерфейса. О нем и пойдет речь в этой статье.

Для начала необходимо подключить дисплей к контроллеру. Подключаем по схеме:

image

PB0 — PB7 — выводы контроллера.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments12

Через тернии к Haskell. 1/2

Reading time25 min
Views223K


Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

tl;dr: Очень краткое и сжатое введение в Haskell.


UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
Классные картинки, много текста и вынос мозга
Total votes 137: ↑133 and ↓4+129
Comments52

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 1 из 6

Reading time7 min
Views398K

Содержание курса



Улучшение кода






Official translation (with a bit of polishing) is available here.




Постановка задачи


Цель этого цикла статей — показать, как работает OpenGL, написав его (сильно упрощённый!) клон самостоятельно. На удивление часто сталкиваюсь с людьми, которые не могут преодолеть первоначальный барьер обучения OpenGL/DirectX. Таким образом, я подготовил краткий цикл из шести лекций, после которого мои студенты выдают неплохие рендеры.

Итак, задача ставится следующим образом: не используя никаких сторонних библиотек (особенно графических) получить примерно такие картинки:



Внимание, это обучающий материал, который в целом повторит структуру библиотеки OpenGL. Это будет софтверный рендер, я не ставлю целью показать, как писать приложения под OpenGL. Я ставлю целью показать, как сам OpenGL устроен. По моему глубокому убеждению, без понимания этого написание эффективных приложений с использованием 3D библиотек невозможно.
Читать дальше →
Total votes 198: ↑196 and ↓2+194
Comments120

19 видов льда

Reading time7 min
Views42K
image

Лёд взрывается, тонет в воде, проводит ток, генерирует мощное магнитное поле.

Мой друг в детстве приклеивал на капельку пластилина таракана на дно формочки для льда, заливал водой и замораживал. Потом швырял ледяные кубики с начинкой в стену и кричал «Я — Сабзиро!» А я всё время выбирал Глациуса в Killer Instinct, потому что изящный. В «Семиевии» из льда на астероиде построили реактивный двигатель и льдом же его топили. Ну и, конечно же, «Колыбель для кошки». А тем временем в реальности…

Аргоннская национальная лаборатория в 1980 придумала технологию ледяной гидросмеси (ice slurry), которая не образует ледяные наросты, не слипается, течет по трубам и в 5-7 раз эффективнее простой воды для охлаждения.

Микрокристаллы льда «ледяная кровь» хорошо проникают в маленькие кровеносные сосуды без вреда для клеткок. При остановке сердца время для спасения пострадавшего теоретически может увеличиться с 10 до 45 минут.

Д. Пайк предложил добавить в лед опилки и из этого композита (пайкерита) сделать… авианосец.

Чуток копнув, я узнал, насколько глубока ледяная кроличья нора.

Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments33

Раздача научного софта. Бесплатно

Reading time6 min
Views67K

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

Я бы хотел совершенно безвозмездно поделиться частью своих наработок (тем, что не очень стыдно показать) с хабрасообществом, в надежде, что они могут оказаться полезными для молодых (и не очень) ученых, аспирантов и студентов, и кто-то сможет использовать их в своей работе. Вашему вниманию предлагается следующее (в порядке возрастания специфичности):
  • SciRef — менеджер цитирований.
  • AFM Vision — удобная визуализация данных атомно-силовой микроскопии.
  • Raman 2D — построение карты распределения интенсивности Рамановского излучения.
  • X-Ray Calc — симуляция рентгеновской дифракции тонких пленок.

Подробное описание возможностей, скриншоты (много) и ссылки — под катом.
Читать дальше
Total votes 147: ↑146 and ↓1+145
Comments36

Information

Rating
5,090-th
Registered
Activity